162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2012 Linaro Ltd 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 762306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 862306a36Sopenharmony_ci#include <dt-bindings/clock/ste-db8500-clkout.h> 962306a36Sopenharmony_ci#include <dt-bindings/reset/stericsson,db8500-prcc-reset.h> 1062306a36Sopenharmony_ci#include <dt-bindings/mfd/dbx500-prcmu.h> 1162306a36Sopenharmony_ci#include <dt-bindings/arm/ux500_pm_domains.h> 1262306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1362306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/ { 1662306a36Sopenharmony_ci #address-cells = <1>; 1762306a36Sopenharmony_ci #size-cells = <1>; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci /* This stablilizes the device enumeration */ 2062306a36Sopenharmony_ci aliases { 2162306a36Sopenharmony_ci i2c0 = &i2c0; 2262306a36Sopenharmony_ci i2c1 = &i2c1; 2362306a36Sopenharmony_ci i2c2 = &i2c2; 2462306a36Sopenharmony_ci i2c3 = &i2c3; 2562306a36Sopenharmony_ci i2c4 = &i2c4; 2662306a36Sopenharmony_ci spi0 = &spi0; 2762306a36Sopenharmony_ci spi1 = &spi1; 2862306a36Sopenharmony_ci spi2 = &spi2; 2962306a36Sopenharmony_ci spi3 = &spi3; 3062306a36Sopenharmony_ci serial0 = &serial0; 3162306a36Sopenharmony_ci serial1 = &serial1; 3262306a36Sopenharmony_ci serial2 = &serial2; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci chosen { 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci cpus { 3962306a36Sopenharmony_ci #address-cells = <1>; 4062306a36Sopenharmony_ci #size-cells = <0>; 4162306a36Sopenharmony_ci enable-method = "ste,dbx500-smp"; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci cpu-map { 4462306a36Sopenharmony_ci cluster0 { 4562306a36Sopenharmony_ci core0 { 4662306a36Sopenharmony_ci cpu = <&CPU0>; 4762306a36Sopenharmony_ci }; 4862306a36Sopenharmony_ci core1 { 4962306a36Sopenharmony_ci cpu = <&CPU1>; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci CPU0: cpu@300 { 5462306a36Sopenharmony_ci device_type = "cpu"; 5562306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 5662306a36Sopenharmony_ci reg = <0x300>; 5762306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_ARMSS>; 5862306a36Sopenharmony_ci clock-names = "cpu"; 5962306a36Sopenharmony_ci clock-latency = <20000>; 6062306a36Sopenharmony_ci #cooling-cells = <2>; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci CPU1: cpu@301 { 6362306a36Sopenharmony_ci device_type = "cpu"; 6462306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 6562306a36Sopenharmony_ci reg = <0x301>; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci }; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci thermal-zones { 7062306a36Sopenharmony_ci /* 7162306a36Sopenharmony_ci * Thermal zone for the SoC, using the thermal sensor in the 7262306a36Sopenharmony_ci * PRCMU for temperature and the cpufreq driver for passive 7362306a36Sopenharmony_ci * cooling. 7462306a36Sopenharmony_ci */ 7562306a36Sopenharmony_ci cpu_thermal: cpu-thermal { 7662306a36Sopenharmony_ci polling-delay-passive = <250>; 7762306a36Sopenharmony_ci /* 7862306a36Sopenharmony_ci * This sensor fires interrupts to update the thermal 7962306a36Sopenharmony_ci * zone, so no polling is needed. 8062306a36Sopenharmony_ci */ 8162306a36Sopenharmony_ci polling-delay = <0>; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci thermal-sensors = <&thermal>; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci trips { 8662306a36Sopenharmony_ci cpu_alert: cpu-alert { 8762306a36Sopenharmony_ci temperature = <70000>; 8862306a36Sopenharmony_ci hysteresis = <2000>; 8962306a36Sopenharmony_ci type = "passive"; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci cpu-crit { 9262306a36Sopenharmony_ci temperature = <85000>; 9362306a36Sopenharmony_ci hysteresis = <0>; 9462306a36Sopenharmony_ci type = "critical"; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci cooling-maps { 9962306a36Sopenharmony_ci trip = <&cpu_alert>; 10062306a36Sopenharmony_ci cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 10162306a36Sopenharmony_ci contribution = <100>; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci soc { 10762306a36Sopenharmony_ci #address-cells = <1>; 10862306a36Sopenharmony_ci #size-cells = <1>; 10962306a36Sopenharmony_ci compatible = "stericsson,db8500", "simple-bus"; 11062306a36Sopenharmony_ci interrupt-parent = <&intc>; 11162306a36Sopenharmony_ci ranges; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci /* 11462306a36Sopenharmony_ci * 640KB ESRAM (embedded static random access memory), divided 11562306a36Sopenharmony_ci * into 5 banks of 128 KB each. This is a fast memory usually 11662306a36Sopenharmony_ci * used by different accelerators. We group these according to 11762306a36Sopenharmony_ci * their power domains: ESRAM0 (always on) ESRAM 1+2 and 11862306a36Sopenharmony_ci * ESRAM 3+4. 11962306a36Sopenharmony_ci */ 12062306a36Sopenharmony_ci sram@40000000 { 12162306a36Sopenharmony_ci /* The first (always on) ESRAM 0, 128 KB */ 12262306a36Sopenharmony_ci compatible = "mmio-sram"; 12362306a36Sopenharmony_ci reg = <0x40000000 0x20000>; 12462306a36Sopenharmony_ci #address-cells = <1>; 12562306a36Sopenharmony_ci #size-cells = <1>; 12662306a36Sopenharmony_ci ranges = <0 0x40000000 0x20000>; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci sram@0 { 12962306a36Sopenharmony_ci compatible = "stericsson,u8500-esram"; 13062306a36Sopenharmony_ci reg = <0x0 0x10000>; 13162306a36Sopenharmony_ci pool; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci lcpa: sram@10000 { 13462306a36Sopenharmony_ci /* 13562306a36Sopenharmony_ci * This eSRAM is used by the DMA40 DMA controller 13662306a36Sopenharmony_ci * for Logical Channel Paramers (LCP), the address 13762306a36Sopenharmony_ci * where these parameters are stored is called "LCPA". 13862306a36Sopenharmony_ci * This is addressed directly by the driver so no 13962306a36Sopenharmony_ci * pool is used. 14062306a36Sopenharmony_ci */ 14162306a36Sopenharmony_ci compatible = "stericsson,u8500-esram"; 14262306a36Sopenharmony_ci label = "DMA40-LCPA"; 14362306a36Sopenharmony_ci reg = <0x10000 0x800>; 14462306a36Sopenharmony_ci }; 14562306a36Sopenharmony_ci sram@10800 { 14662306a36Sopenharmony_ci compatible = "stericsson,u8500-esram"; 14762306a36Sopenharmony_ci reg = <0x10800 0xf800>; 14862306a36Sopenharmony_ci pool; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci sram@40020000 { 15262306a36Sopenharmony_ci /* ESRAM 1+2, 256 KB */ 15362306a36Sopenharmony_ci compatible = "mmio-sram"; 15462306a36Sopenharmony_ci reg = <0x40020000 0x40000>; 15562306a36Sopenharmony_ci #address-cells = <1>; 15662306a36Sopenharmony_ci #size-cells = <1>; 15762306a36Sopenharmony_ci ranges = <0 0x40020000 0x40000>; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci sram@40060000 { 16062306a36Sopenharmony_ci /* ESRAM 3+4, 256 KB */ 16162306a36Sopenharmony_ci compatible = "mmio-sram"; 16262306a36Sopenharmony_ci reg = <0x40060000 0x40000>; 16362306a36Sopenharmony_ci #address-cells = <1>; 16462306a36Sopenharmony_ci #size-cells = <1>; 16562306a36Sopenharmony_ci ranges = <0 0x40060000 0x40000>; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci lcla: sram@20000 { 16862306a36Sopenharmony_ci /* 16962306a36Sopenharmony_ci * This eSRAM is used by the DMA40 DMA controller 17062306a36Sopenharmony_ci * for Logical Channel Logical Addresses (LCLA), the address 17162306a36Sopenharmony_ci * where these parameters are stored is called "LCLA". 17262306a36Sopenharmony_ci * This is addressed directly by the driver so no 17362306a36Sopenharmony_ci * pool is used. 17462306a36Sopenharmony_ci */ 17562306a36Sopenharmony_ci compatible = "stericsson,u8500-esram"; 17662306a36Sopenharmony_ci label = "DMA40-LCLA"; 17762306a36Sopenharmony_ci reg = <0x20000 0x2000>; 17862306a36Sopenharmony_ci }; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci ptm@801ae000 { 18262306a36Sopenharmony_ci compatible = "arm,coresight-etm3x", "arm,primecell"; 18362306a36Sopenharmony_ci reg = <0x801ae000 0x1000>; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; 18662306a36Sopenharmony_ci clock-names = "apb_pclk", "atclk"; 18762306a36Sopenharmony_ci cpu = <&CPU0>; 18862306a36Sopenharmony_ci out-ports { 18962306a36Sopenharmony_ci port { 19062306a36Sopenharmony_ci ptm0_out_port: endpoint { 19162306a36Sopenharmony_ci remote-endpoint = <&funnel_in_port0>; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci ptm@801af000 { 19862306a36Sopenharmony_ci compatible = "arm,coresight-etm3x", "arm,primecell"; 19962306a36Sopenharmony_ci reg = <0x801af000 0x1000>; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; 20262306a36Sopenharmony_ci clock-names = "apb_pclk", "atclk"; 20362306a36Sopenharmony_ci cpu = <&CPU1>; 20462306a36Sopenharmony_ci out-ports { 20562306a36Sopenharmony_ci port { 20662306a36Sopenharmony_ci ptm1_out_port: endpoint { 20762306a36Sopenharmony_ci remote-endpoint = <&funnel_in_port1>; 20862306a36Sopenharmony_ci }; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci funnel@801a6000 { 21462306a36Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 21562306a36Sopenharmony_ci reg = <0x801a6000 0x1000>; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; 21862306a36Sopenharmony_ci clock-names = "apb_pclk", "atclk"; 21962306a36Sopenharmony_ci out-ports { 22062306a36Sopenharmony_ci port { 22162306a36Sopenharmony_ci funnel_out_port: endpoint { 22262306a36Sopenharmony_ci remote-endpoint = 22362306a36Sopenharmony_ci <&replicator_in_port0>; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci in-ports { 22962306a36Sopenharmony_ci #address-cells = <1>; 23062306a36Sopenharmony_ci #size-cells = <0>; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci port@0 { 23362306a36Sopenharmony_ci reg = <0>; 23462306a36Sopenharmony_ci funnel_in_port0: endpoint { 23562306a36Sopenharmony_ci remote-endpoint = <&ptm0_out_port>; 23662306a36Sopenharmony_ci }; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci port@1 { 24062306a36Sopenharmony_ci reg = <1>; 24162306a36Sopenharmony_ci funnel_in_port1: endpoint { 24262306a36Sopenharmony_ci remote-endpoint = <&ptm1_out_port>; 24362306a36Sopenharmony_ci }; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci }; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci replicator { 24962306a36Sopenharmony_ci compatible = "arm,coresight-static-replicator"; 25062306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_APEATCLK>; 25162306a36Sopenharmony_ci clock-names = "atclk"; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci out-ports { 25462306a36Sopenharmony_ci #address-cells = <1>; 25562306a36Sopenharmony_ci #size-cells = <0>; 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ci port@0 { 25862306a36Sopenharmony_ci reg = <0>; 25962306a36Sopenharmony_ci replicator_out_port0: endpoint { 26062306a36Sopenharmony_ci remote-endpoint = <&tpiu_in_port>; 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci }; 26362306a36Sopenharmony_ci port@1 { 26462306a36Sopenharmony_ci reg = <1>; 26562306a36Sopenharmony_ci replicator_out_port1: endpoint { 26662306a36Sopenharmony_ci remote-endpoint = <&etb_in_port>; 26762306a36Sopenharmony_ci }; 26862306a36Sopenharmony_ci }; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci in-ports { 27262306a36Sopenharmony_ci port { 27362306a36Sopenharmony_ci replicator_in_port0: endpoint { 27462306a36Sopenharmony_ci remote-endpoint = <&funnel_out_port>; 27562306a36Sopenharmony_ci }; 27662306a36Sopenharmony_ci }; 27762306a36Sopenharmony_ci }; 27862306a36Sopenharmony_ci }; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci tpiu@80190000 { 28162306a36Sopenharmony_ci compatible = "arm,coresight-tpiu", "arm,primecell"; 28262306a36Sopenharmony_ci reg = <0x80190000 0x1000>; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; 28562306a36Sopenharmony_ci clock-names = "apb_pclk", "atclk"; 28662306a36Sopenharmony_ci in-ports { 28762306a36Sopenharmony_ci port { 28862306a36Sopenharmony_ci tpiu_in_port: endpoint { 28962306a36Sopenharmony_ci remote-endpoint = <&replicator_out_port0>; 29062306a36Sopenharmony_ci }; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci }; 29362306a36Sopenharmony_ci }; 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci etb@801a4000 { 29662306a36Sopenharmony_ci compatible = "arm,coresight-etb10", "arm,primecell"; 29762306a36Sopenharmony_ci reg = <0x801a4000 0x1000>; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; 30062306a36Sopenharmony_ci clock-names = "apb_pclk", "atclk"; 30162306a36Sopenharmony_ci in-ports { 30262306a36Sopenharmony_ci port { 30362306a36Sopenharmony_ci etb_in_port: endpoint { 30462306a36Sopenharmony_ci remote-endpoint = <&replicator_out_port1>; 30562306a36Sopenharmony_ci }; 30662306a36Sopenharmony_ci }; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci }; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci intc: interrupt-controller@a0411000 { 31162306a36Sopenharmony_ci compatible = "arm,cortex-a9-gic"; 31262306a36Sopenharmony_ci #interrupt-cells = <3>; 31362306a36Sopenharmony_ci #address-cells = <1>; 31462306a36Sopenharmony_ci interrupt-controller; 31562306a36Sopenharmony_ci reg = <0xa0411000 0x1000>, 31662306a36Sopenharmony_ci <0xa0410100 0x100>; 31762306a36Sopenharmony_ci }; 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci scu@a0410000 { 32062306a36Sopenharmony_ci compatible = "arm,cortex-a9-scu"; 32162306a36Sopenharmony_ci reg = <0xa0410000 0x100>; 32262306a36Sopenharmony_ci }; 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci /* 32562306a36Sopenharmony_ci * The backup RAM is used for retention during sleep 32662306a36Sopenharmony_ci * and various things like spin tables 32762306a36Sopenharmony_ci */ 32862306a36Sopenharmony_ci backupram@80150000 { 32962306a36Sopenharmony_ci compatible = "ste,dbx500-backupram"; 33062306a36Sopenharmony_ci reg = <0x80150000 0x2000>; 33162306a36Sopenharmony_ci }; 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci L2: cache-controller { 33462306a36Sopenharmony_ci compatible = "arm,pl310-cache"; 33562306a36Sopenharmony_ci reg = <0xa0412000 0x1000>; 33662306a36Sopenharmony_ci interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 33762306a36Sopenharmony_ci cache-unified; 33862306a36Sopenharmony_ci cache-level = <2>; 33962306a36Sopenharmony_ci }; 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ci pmu { 34262306a36Sopenharmony_ci compatible = "arm,cortex-a9-pmu"; 34362306a36Sopenharmony_ci interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 34462306a36Sopenharmony_ci }; 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ci pm_domains: pm_domains0 { 34762306a36Sopenharmony_ci compatible = "stericsson,ux500-pm-domains"; 34862306a36Sopenharmony_ci #power-domain-cells = <1>; 34962306a36Sopenharmony_ci }; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci clocks { 35262306a36Sopenharmony_ci compatible = "stericsson,u8500-clks"; 35362306a36Sopenharmony_ci /* 35462306a36Sopenharmony_ci * Registers for the CLKRST block on peripheral 35562306a36Sopenharmony_ci * groups 1, 2, 3, 5, 6, 35662306a36Sopenharmony_ci */ 35762306a36Sopenharmony_ci reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>, 35862306a36Sopenharmony_ci <0x8000f000 0x1000>, <0xa03ff000 0x1000>, 35962306a36Sopenharmony_ci <0xa03cf000 0x1000>; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci prcmu_clk: prcmu-clock { 36262306a36Sopenharmony_ci #clock-cells = <1>; 36362306a36Sopenharmony_ci }; 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ci prcc_pclk: prcc-periph-clock { 36662306a36Sopenharmony_ci #clock-cells = <2>; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci prcc_kclk: prcc-kernel-clock { 37062306a36Sopenharmony_ci #clock-cells = <2>; 37162306a36Sopenharmony_ci }; 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci prcc_reset: prcc-reset-controller { 37462306a36Sopenharmony_ci #reset-cells = <2>; 37562306a36Sopenharmony_ci }; 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ci rtc_clk: rtc32k-clock { 37862306a36Sopenharmony_ci #clock-cells = <0>; 37962306a36Sopenharmony_ci }; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci smp_twd_clk: smp-twd-clock { 38262306a36Sopenharmony_ci #clock-cells = <0>; 38362306a36Sopenharmony_ci }; 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ci clkout_clk: clkout-clock { 38662306a36Sopenharmony_ci /* Cell 1 id, cell 2 source, cell 3 div */ 38762306a36Sopenharmony_ci #clock-cells = <3>; 38862306a36Sopenharmony_ci }; 38962306a36Sopenharmony_ci }; 39062306a36Sopenharmony_ci 39162306a36Sopenharmony_ci mtu@a03c6000 { 39262306a36Sopenharmony_ci /* Nomadik System Timer */ 39362306a36Sopenharmony_ci compatible = "st,nomadik-mtu"; 39462306a36Sopenharmony_ci reg = <0xa03c6000 0x1000>; 39562306a36Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>; 39862306a36Sopenharmony_ci clock-names = "timclk", "apb_pclk"; 39962306a36Sopenharmony_ci }; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ci timer@a0410600 { 40262306a36Sopenharmony_ci compatible = "arm,cortex-a9-twd-timer"; 40362306a36Sopenharmony_ci reg = <0xa0410600 0x20>; 40462306a36Sopenharmony_ci interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci clocks = <&smp_twd_clk>; 40762306a36Sopenharmony_ci }; 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci watchdog@a0410620 { 41062306a36Sopenharmony_ci compatible = "arm,cortex-a9-twd-wdt"; 41162306a36Sopenharmony_ci reg = <0xa0410620 0x20>; 41262306a36Sopenharmony_ci interrupts = <GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>; 41362306a36Sopenharmony_ci clocks = <&smp_twd_clk>; 41462306a36Sopenharmony_ci }; 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci rtc@80154000 { 41762306a36Sopenharmony_ci compatible = "arm,pl031", "arm,primecell"; 41862306a36Sopenharmony_ci reg = <0x80154000 0x1000>; 41962306a36Sopenharmony_ci interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci clocks = <&rtc_clk>; 42262306a36Sopenharmony_ci clock-names = "apb_pclk"; 42362306a36Sopenharmony_ci }; 42462306a36Sopenharmony_ci 42562306a36Sopenharmony_ci gpio0: gpio@8012e000 { 42662306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 42762306a36Sopenharmony_ci "st,nomadik-gpio"; 42862306a36Sopenharmony_ci reg = <0x8012e000 0x80>; 42962306a36Sopenharmony_ci interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 43062306a36Sopenharmony_ci interrupt-controller; 43162306a36Sopenharmony_ci #interrupt-cells = <2>; 43262306a36Sopenharmony_ci st,supports-sleepmode; 43362306a36Sopenharmony_ci gpio-controller; 43462306a36Sopenharmony_ci #gpio-cells = <2>; 43562306a36Sopenharmony_ci gpio-bank = <0>; 43662306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 0 32>; 43762306a36Sopenharmony_ci clocks = <&prcc_pclk 1 9>; 43862306a36Sopenharmony_ci }; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci gpio1: gpio@8012e080 { 44162306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 44262306a36Sopenharmony_ci "st,nomadik-gpio"; 44362306a36Sopenharmony_ci reg = <0x8012e080 0x80>; 44462306a36Sopenharmony_ci interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 44562306a36Sopenharmony_ci interrupt-controller; 44662306a36Sopenharmony_ci #interrupt-cells = <2>; 44762306a36Sopenharmony_ci st,supports-sleepmode; 44862306a36Sopenharmony_ci gpio-controller; 44962306a36Sopenharmony_ci #gpio-cells = <2>; 45062306a36Sopenharmony_ci gpio-bank = <1>; 45162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 32 5>; 45262306a36Sopenharmony_ci clocks = <&prcc_pclk 1 9>; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci 45562306a36Sopenharmony_ci gpio2: gpio@8000e000 { 45662306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 45762306a36Sopenharmony_ci "st,nomadik-gpio"; 45862306a36Sopenharmony_ci reg = <0x8000e000 0x80>; 45962306a36Sopenharmony_ci interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 46062306a36Sopenharmony_ci interrupt-controller; 46162306a36Sopenharmony_ci #interrupt-cells = <2>; 46262306a36Sopenharmony_ci st,supports-sleepmode; 46362306a36Sopenharmony_ci gpio-controller; 46462306a36Sopenharmony_ci #gpio-cells = <2>; 46562306a36Sopenharmony_ci gpio-bank = <2>; 46662306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 64 32>; 46762306a36Sopenharmony_ci clocks = <&prcc_pclk 3 8>; 46862306a36Sopenharmony_ci }; 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ci gpio3: gpio@8000e080 { 47162306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 47262306a36Sopenharmony_ci "st,nomadik-gpio"; 47362306a36Sopenharmony_ci reg = <0x8000e080 0x80>; 47462306a36Sopenharmony_ci interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 47562306a36Sopenharmony_ci interrupt-controller; 47662306a36Sopenharmony_ci #interrupt-cells = <2>; 47762306a36Sopenharmony_ci st,supports-sleepmode; 47862306a36Sopenharmony_ci gpio-controller; 47962306a36Sopenharmony_ci #gpio-cells = <2>; 48062306a36Sopenharmony_ci gpio-bank = <3>; 48162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 96 2>; 48262306a36Sopenharmony_ci clocks = <&prcc_pclk 3 8>; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_ci gpio4: gpio@8000e100 { 48662306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 48762306a36Sopenharmony_ci "st,nomadik-gpio"; 48862306a36Sopenharmony_ci reg = <0x8000e100 0x80>; 48962306a36Sopenharmony_ci interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 49062306a36Sopenharmony_ci interrupt-controller; 49162306a36Sopenharmony_ci #interrupt-cells = <2>; 49262306a36Sopenharmony_ci st,supports-sleepmode; 49362306a36Sopenharmony_ci gpio-controller; 49462306a36Sopenharmony_ci #gpio-cells = <2>; 49562306a36Sopenharmony_ci gpio-bank = <4>; 49662306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 128 32>; 49762306a36Sopenharmony_ci clocks = <&prcc_pclk 3 8>; 49862306a36Sopenharmony_ci }; 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci gpio5: gpio@8000e180 { 50162306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 50262306a36Sopenharmony_ci "st,nomadik-gpio"; 50362306a36Sopenharmony_ci reg = <0x8000e180 0x80>; 50462306a36Sopenharmony_ci interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 50562306a36Sopenharmony_ci interrupt-controller; 50662306a36Sopenharmony_ci #interrupt-cells = <2>; 50762306a36Sopenharmony_ci st,supports-sleepmode; 50862306a36Sopenharmony_ci gpio-controller; 50962306a36Sopenharmony_ci #gpio-cells = <2>; 51062306a36Sopenharmony_ci gpio-bank = <5>; 51162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 160 12>; 51262306a36Sopenharmony_ci clocks = <&prcc_pclk 3 8>; 51362306a36Sopenharmony_ci }; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci gpio6: gpio@8011e000 { 51662306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 51762306a36Sopenharmony_ci "st,nomadik-gpio"; 51862306a36Sopenharmony_ci reg = <0x8011e000 0x80>; 51962306a36Sopenharmony_ci interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 52062306a36Sopenharmony_ci interrupt-controller; 52162306a36Sopenharmony_ci #interrupt-cells = <2>; 52262306a36Sopenharmony_ci st,supports-sleepmode; 52362306a36Sopenharmony_ci gpio-controller; 52462306a36Sopenharmony_ci #gpio-cells = <2>; 52562306a36Sopenharmony_ci gpio-bank = <6>; 52662306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 192 32>; 52762306a36Sopenharmony_ci clocks = <&prcc_pclk 2 11>; 52862306a36Sopenharmony_ci }; 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci gpio7: gpio@8011e080 { 53162306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 53262306a36Sopenharmony_ci "st,nomadik-gpio"; 53362306a36Sopenharmony_ci reg = <0x8011e080 0x80>; 53462306a36Sopenharmony_ci interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 53562306a36Sopenharmony_ci interrupt-controller; 53662306a36Sopenharmony_ci #interrupt-cells = <2>; 53762306a36Sopenharmony_ci st,supports-sleepmode; 53862306a36Sopenharmony_ci gpio-controller; 53962306a36Sopenharmony_ci #gpio-cells = <2>; 54062306a36Sopenharmony_ci gpio-bank = <7>; 54162306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 224 7>; 54262306a36Sopenharmony_ci clocks = <&prcc_pclk 2 11>; 54362306a36Sopenharmony_ci }; 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci gpio8: gpio@a03fe000 { 54662306a36Sopenharmony_ci compatible = "stericsson,db8500-gpio", 54762306a36Sopenharmony_ci "st,nomadik-gpio"; 54862306a36Sopenharmony_ci reg = <0xa03fe000 0x80>; 54962306a36Sopenharmony_ci interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 55062306a36Sopenharmony_ci interrupt-controller; 55162306a36Sopenharmony_ci #interrupt-cells = <2>; 55262306a36Sopenharmony_ci st,supports-sleepmode; 55362306a36Sopenharmony_ci gpio-controller; 55462306a36Sopenharmony_ci #gpio-cells = <2>; 55562306a36Sopenharmony_ci gpio-bank = <8>; 55662306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 256 12>; 55762306a36Sopenharmony_ci clocks = <&prcc_pclk 5 1>; 55862306a36Sopenharmony_ci }; 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci pinctrl: pinctrl { 56162306a36Sopenharmony_ci compatible = "stericsson,db8500-pinctrl"; 56262306a36Sopenharmony_ci nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>, 56362306a36Sopenharmony_ci <&gpio4>, <&gpio5>, <&gpio6>, <&gpio7>, 56462306a36Sopenharmony_ci <&gpio8>; 56562306a36Sopenharmony_ci prcm = <&prcmu>; 56662306a36Sopenharmony_ci }; 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ci usb_per5@a03e0000 { 56962306a36Sopenharmony_ci compatible = "stericsson,db8500-musb"; 57062306a36Sopenharmony_ci reg = <0xa03e0000 0x10000>; 57162306a36Sopenharmony_ci interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 57262306a36Sopenharmony_ci interrupt-names = "mc"; 57362306a36Sopenharmony_ci 57462306a36Sopenharmony_ci dr_mode = "otg"; 57562306a36Sopenharmony_ci 57662306a36Sopenharmony_ci dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */ 57762306a36Sopenharmony_ci <&dma 38 0 0x0>, /* Logical - MemToDev */ 57862306a36Sopenharmony_ci <&dma 37 0 0x2>, /* Logical - DevToMem */ 57962306a36Sopenharmony_ci <&dma 37 0 0x0>, /* Logical - MemToDev */ 58062306a36Sopenharmony_ci <&dma 36 0 0x2>, /* Logical - DevToMem */ 58162306a36Sopenharmony_ci <&dma 36 0 0x0>, /* Logical - MemToDev */ 58262306a36Sopenharmony_ci <&dma 19 0 0x2>, /* Logical - DevToMem */ 58362306a36Sopenharmony_ci <&dma 19 0 0x0>, /* Logical - MemToDev */ 58462306a36Sopenharmony_ci <&dma 18 0 0x2>, /* Logical - DevToMem */ 58562306a36Sopenharmony_ci <&dma 18 0 0x0>, /* Logical - MemToDev */ 58662306a36Sopenharmony_ci <&dma 17 0 0x2>, /* Logical - DevToMem */ 58762306a36Sopenharmony_ci <&dma 17 0 0x0>, /* Logical - MemToDev */ 58862306a36Sopenharmony_ci <&dma 16 0 0x2>, /* Logical - DevToMem */ 58962306a36Sopenharmony_ci <&dma 16 0 0x0>, /* Logical - MemToDev */ 59062306a36Sopenharmony_ci <&dma 39 0 0x2>, /* Logical - DevToMem */ 59162306a36Sopenharmony_ci <&dma 39 0 0x0>; /* Logical - MemToDev */ 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci dma-names = "iep_1_9", "oep_1_9", 59462306a36Sopenharmony_ci "iep_2_10", "oep_2_10", 59562306a36Sopenharmony_ci "iep_3_11", "oep_3_11", 59662306a36Sopenharmony_ci "iep_4_12", "oep_4_12", 59762306a36Sopenharmony_ci "iep_5_13", "oep_5_13", 59862306a36Sopenharmony_ci "iep_6_14", "oep_6_14", 59962306a36Sopenharmony_ci "iep_7_15", "oep_7_15", 60062306a36Sopenharmony_ci "iep_8", "oep_8"; 60162306a36Sopenharmony_ci 60262306a36Sopenharmony_ci clocks = <&prcc_pclk 5 0>; 60362306a36Sopenharmony_ci }; 60462306a36Sopenharmony_ci 60562306a36Sopenharmony_ci dma: dma-controller@801C0000 { 60662306a36Sopenharmony_ci compatible = "stericsson,db8500-dma40", "stericsson,dma40"; 60762306a36Sopenharmony_ci reg = <0x801C0000 0x1000>; 60862306a36Sopenharmony_ci reg-names = "base"; 60962306a36Sopenharmony_ci interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 61062306a36Sopenharmony_ci sram = <&lcpa>, <&lcla>; 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ci #dma-cells = <3>; 61362306a36Sopenharmony_ci memcpy-channels = <56 57 58 59 60>; 61462306a36Sopenharmony_ci 61562306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_DMACLK>; 61662306a36Sopenharmony_ci }; 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ci prcmu: prcmu@80157000 { 61962306a36Sopenharmony_ci compatible = "stericsson,db8500-prcmu", "syscon"; 62062306a36Sopenharmony_ci reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>; 62162306a36Sopenharmony_ci reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm"; 62262306a36Sopenharmony_ci interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 62362306a36Sopenharmony_ci #address-cells = <1>; 62462306a36Sopenharmony_ci #size-cells = <1>; 62562306a36Sopenharmony_ci interrupt-controller; 62662306a36Sopenharmony_ci #interrupt-cells = <2>; 62762306a36Sopenharmony_ci ranges; 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci prcmu-timer-4@80157450 { 63062306a36Sopenharmony_ci compatible = "stericsson,db8500-prcmu-timer-4"; 63162306a36Sopenharmony_ci reg = <0x80157450 0xC>; 63262306a36Sopenharmony_ci }; 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci thermal: thermal@801573c0 { 63562306a36Sopenharmony_ci compatible = "stericsson,db8500-thermal"; 63662306a36Sopenharmony_ci reg = <0x801573c0 0x40>; 63762306a36Sopenharmony_ci interrupt-parent = <&prcmu>; 63862306a36Sopenharmony_ci interrupts = <21 IRQ_TYPE_LEVEL_HIGH>, 63962306a36Sopenharmony_ci <22 IRQ_TYPE_LEVEL_HIGH>; 64062306a36Sopenharmony_ci interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH"; 64162306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 64262306a36Sopenharmony_ci }; 64362306a36Sopenharmony_ci 64462306a36Sopenharmony_ci db8500-prcmu-regulators { 64562306a36Sopenharmony_ci compatible = "stericsson,db8500-prcmu-regulator"; 64662306a36Sopenharmony_ci 64762306a36Sopenharmony_ci // DB8500_REGULATOR_VAPE 64862306a36Sopenharmony_ci db8500_vape_reg: db8500_vape { 64962306a36Sopenharmony_ci regulator-always-on; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ci // DB8500_REGULATOR_VARM 65362306a36Sopenharmony_ci db8500_varm_reg: db8500_varm { 65462306a36Sopenharmony_ci }; 65562306a36Sopenharmony_ci 65662306a36Sopenharmony_ci // DB8500_REGULATOR_VMODEM 65762306a36Sopenharmony_ci db8500_vmodem_reg: db8500_vmodem { 65862306a36Sopenharmony_ci }; 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ci // DB8500_REGULATOR_VPLL 66162306a36Sopenharmony_ci db8500_vpll_reg: db8500_vpll { 66262306a36Sopenharmony_ci }; 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ci // DB8500_REGULATOR_VSMPS1 66562306a36Sopenharmony_ci db8500_vsmps1_reg: db8500_vsmps1 { 66662306a36Sopenharmony_ci }; 66762306a36Sopenharmony_ci 66862306a36Sopenharmony_ci // DB8500_REGULATOR_VSMPS2 66962306a36Sopenharmony_ci db8500_vsmps2_reg: db8500_vsmps2 { 67062306a36Sopenharmony_ci }; 67162306a36Sopenharmony_ci 67262306a36Sopenharmony_ci // DB8500_REGULATOR_VSMPS3 67362306a36Sopenharmony_ci db8500_vsmps3_reg: db8500_vsmps3 { 67462306a36Sopenharmony_ci }; 67562306a36Sopenharmony_ci 67662306a36Sopenharmony_ci // DB8500_REGULATOR_VRF1 67762306a36Sopenharmony_ci db8500_vrf1_reg: db8500_vrf1 { 67862306a36Sopenharmony_ci }; 67962306a36Sopenharmony_ci 68062306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_SVAMMDSP 68162306a36Sopenharmony_ci db8500_sva_mmdsp_reg: db8500_sva_mmdsp { 68262306a36Sopenharmony_ci }; 68362306a36Sopenharmony_ci 68462306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_SVAMMDSPRET 68562306a36Sopenharmony_ci db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { 68662306a36Sopenharmony_ci }; 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_SVAPIPE 68962306a36Sopenharmony_ci db8500_sva_pipe_reg: db8500_sva_pipe { 69062306a36Sopenharmony_ci }; 69162306a36Sopenharmony_ci 69262306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_SIAMMDSP 69362306a36Sopenharmony_ci db8500_sia_mmdsp_reg: db8500_sia_mmdsp { 69462306a36Sopenharmony_ci }; 69562306a36Sopenharmony_ci 69662306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_SIAMMDSPRET 69762306a36Sopenharmony_ci db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { 69862306a36Sopenharmony_ci }; 69962306a36Sopenharmony_ci 70062306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_SIAPIPE 70162306a36Sopenharmony_ci db8500_sia_pipe_reg: db8500_sia_pipe { 70262306a36Sopenharmony_ci }; 70362306a36Sopenharmony_ci 70462306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_SGA 70562306a36Sopenharmony_ci db8500_sga_reg: db8500_sga { 70662306a36Sopenharmony_ci vin-supply = <&db8500_vape_reg>; 70762306a36Sopenharmony_ci }; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_B2R2_MCDE 71062306a36Sopenharmony_ci db8500_b2r2_mcde_reg: db8500_b2r2_mcde { 71162306a36Sopenharmony_ci vin-supply = <&db8500_vape_reg>; 71262306a36Sopenharmony_ci }; 71362306a36Sopenharmony_ci 71462306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_ESRAM12 71562306a36Sopenharmony_ci db8500_esram12_reg: db8500_esram12 { 71662306a36Sopenharmony_ci }; 71762306a36Sopenharmony_ci 71862306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_ESRAM12RET 71962306a36Sopenharmony_ci db8500_esram12_ret_reg: db8500_esram12_ret { 72062306a36Sopenharmony_ci }; 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_ESRAM34 72362306a36Sopenharmony_ci db8500_esram34_reg: db8500_esram34 { 72462306a36Sopenharmony_ci }; 72562306a36Sopenharmony_ci 72662306a36Sopenharmony_ci // DB8500_REGULATOR_SWITCH_ESRAM34RET 72762306a36Sopenharmony_ci db8500_esram34_ret_reg: db8500_esram34_ret { 72862306a36Sopenharmony_ci }; 72962306a36Sopenharmony_ci }; 73062306a36Sopenharmony_ci }; 73162306a36Sopenharmony_ci 73262306a36Sopenharmony_ci i2c0: i2c@80004000 { 73362306a36Sopenharmony_ci compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 73462306a36Sopenharmony_ci reg = <0x80004000 0x1000>; 73562306a36Sopenharmony_ci interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 73662306a36Sopenharmony_ci 73762306a36Sopenharmony_ci #address-cells = <1>; 73862306a36Sopenharmony_ci #size-cells = <0>; 73962306a36Sopenharmony_ci 74062306a36Sopenharmony_ci clock-frequency = <400000>; 74162306a36Sopenharmony_ci clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>; 74262306a36Sopenharmony_ci clock-names = "i2cclk", "apb_pclk"; 74362306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 74462306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_I2C0>; 74562306a36Sopenharmony_ci 74662306a36Sopenharmony_ci status = "disabled"; 74762306a36Sopenharmony_ci }; 74862306a36Sopenharmony_ci 74962306a36Sopenharmony_ci i2c1: i2c@80122000 { 75062306a36Sopenharmony_ci compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 75162306a36Sopenharmony_ci reg = <0x80122000 0x1000>; 75262306a36Sopenharmony_ci interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 75362306a36Sopenharmony_ci 75462306a36Sopenharmony_ci #address-cells = <1>; 75562306a36Sopenharmony_ci #size-cells = <0>; 75662306a36Sopenharmony_ci 75762306a36Sopenharmony_ci clock-frequency = <400000>; 75862306a36Sopenharmony_ci 75962306a36Sopenharmony_ci clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>; 76062306a36Sopenharmony_ci clock-names = "i2cclk", "apb_pclk"; 76162306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 76262306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_I2C1>; 76362306a36Sopenharmony_ci 76462306a36Sopenharmony_ci status = "disabled"; 76562306a36Sopenharmony_ci }; 76662306a36Sopenharmony_ci 76762306a36Sopenharmony_ci i2c2: i2c@80128000 { 76862306a36Sopenharmony_ci compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 76962306a36Sopenharmony_ci reg = <0x80128000 0x1000>; 77062306a36Sopenharmony_ci interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 77162306a36Sopenharmony_ci 77262306a36Sopenharmony_ci #address-cells = <1>; 77362306a36Sopenharmony_ci #size-cells = <0>; 77462306a36Sopenharmony_ci 77562306a36Sopenharmony_ci clock-frequency = <400000>; 77662306a36Sopenharmony_ci 77762306a36Sopenharmony_ci clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>; 77862306a36Sopenharmony_ci clock-names = "i2cclk", "apb_pclk"; 77962306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 78062306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_I2C2>; 78162306a36Sopenharmony_ci 78262306a36Sopenharmony_ci status = "disabled"; 78362306a36Sopenharmony_ci }; 78462306a36Sopenharmony_ci 78562306a36Sopenharmony_ci i2c3: i2c@80110000 { 78662306a36Sopenharmony_ci compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 78762306a36Sopenharmony_ci reg = <0x80110000 0x1000>; 78862306a36Sopenharmony_ci interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 78962306a36Sopenharmony_ci 79062306a36Sopenharmony_ci #address-cells = <1>; 79162306a36Sopenharmony_ci #size-cells = <0>; 79262306a36Sopenharmony_ci 79362306a36Sopenharmony_ci clock-frequency = <400000>; 79462306a36Sopenharmony_ci 79562306a36Sopenharmony_ci clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>; 79662306a36Sopenharmony_ci clock-names = "i2cclk", "apb_pclk"; 79762306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 79862306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_I2C3>; 79962306a36Sopenharmony_ci 80062306a36Sopenharmony_ci status = "disabled"; 80162306a36Sopenharmony_ci }; 80262306a36Sopenharmony_ci 80362306a36Sopenharmony_ci i2c4: i2c@8012a000 { 80462306a36Sopenharmony_ci compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; 80562306a36Sopenharmony_ci reg = <0x8012a000 0x1000>; 80662306a36Sopenharmony_ci interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 80762306a36Sopenharmony_ci 80862306a36Sopenharmony_ci #address-cells = <1>; 80962306a36Sopenharmony_ci #size-cells = <0>; 81062306a36Sopenharmony_ci 81162306a36Sopenharmony_ci clock-frequency = <400000>; 81262306a36Sopenharmony_ci 81362306a36Sopenharmony_ci clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 10>; 81462306a36Sopenharmony_ci clock-names = "i2cclk", "apb_pclk"; 81562306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 81662306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_I2C4>; 81762306a36Sopenharmony_ci 81862306a36Sopenharmony_ci status = "disabled"; 81962306a36Sopenharmony_ci }; 82062306a36Sopenharmony_ci 82162306a36Sopenharmony_ci ssp0: spi@80002000 { 82262306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 82362306a36Sopenharmony_ci reg = <0x80002000 0x1000>; 82462306a36Sopenharmony_ci interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 82562306a36Sopenharmony_ci #address-cells = <1>; 82662306a36Sopenharmony_ci #size-cells = <0>; 82762306a36Sopenharmony_ci clocks = <&prcc_kclk 3 1>, <&prcc_pclk 3 1>; 82862306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 82962306a36Sopenharmony_ci dmas = <&dma 8 0 0x2>, /* Logical - DevToMem */ 83062306a36Sopenharmony_ci <&dma 8 0 0x0>; /* Logical - MemToDev */ 83162306a36Sopenharmony_ci dma-names = "rx", "tx"; 83262306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 83362306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SSP0>; 83462306a36Sopenharmony_ci 83562306a36Sopenharmony_ci status = "disabled"; 83662306a36Sopenharmony_ci }; 83762306a36Sopenharmony_ci 83862306a36Sopenharmony_ci ssp1: spi@80003000 { 83962306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 84062306a36Sopenharmony_ci reg = <0x80003000 0x1000>; 84162306a36Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 84262306a36Sopenharmony_ci #address-cells = <1>; 84362306a36Sopenharmony_ci #size-cells = <0>; 84462306a36Sopenharmony_ci clocks = <&prcc_kclk 3 2>, <&prcc_pclk 3 2>; 84562306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 84662306a36Sopenharmony_ci dmas = <&dma 9 0 0x2>, /* Logical - DevToMem */ 84762306a36Sopenharmony_ci <&dma 9 0 0x0>; /* Logical - MemToDev */ 84862306a36Sopenharmony_ci dma-names = "rx", "tx"; 84962306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 85062306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SSP1>; 85162306a36Sopenharmony_ci 85262306a36Sopenharmony_ci status = "disabled"; 85362306a36Sopenharmony_ci }; 85462306a36Sopenharmony_ci 85562306a36Sopenharmony_ci spi0: spi@8011a000 { 85662306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 85762306a36Sopenharmony_ci reg = <0x8011a000 0x1000>; 85862306a36Sopenharmony_ci interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 85962306a36Sopenharmony_ci #address-cells = <1>; 86062306a36Sopenharmony_ci #size-cells = <0>; 86162306a36Sopenharmony_ci /* Same clock wired to kernel and pclk */ 86262306a36Sopenharmony_ci clocks = <&prcc_pclk 2 8>, <&prcc_pclk 2 8>; 86362306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 86462306a36Sopenharmony_ci dmas = <&dma 0 0 0x2>, /* Logical - DevToMem */ 86562306a36Sopenharmony_ci <&dma 0 0 0x0>; /* Logical - MemToDev */ 86662306a36Sopenharmony_ci dma-names = "rx", "tx"; 86762306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 86862306a36Sopenharmony_ci 86962306a36Sopenharmony_ci status = "disabled"; 87062306a36Sopenharmony_ci }; 87162306a36Sopenharmony_ci 87262306a36Sopenharmony_ci spi1: spi@80112000 { 87362306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 87462306a36Sopenharmony_ci reg = <0x80112000 0x1000>; 87562306a36Sopenharmony_ci interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 87662306a36Sopenharmony_ci #address-cells = <1>; 87762306a36Sopenharmony_ci #size-cells = <0>; 87862306a36Sopenharmony_ci /* Same clock wired to kernel and pclk */ 87962306a36Sopenharmony_ci clocks = <&prcc_pclk 2 2>, <&prcc_pclk 2 2>; 88062306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 88162306a36Sopenharmony_ci dmas = <&dma 35 0 0x2>, /* Logical - DevToMem */ 88262306a36Sopenharmony_ci <&dma 35 0 0x0>; /* Logical - MemToDev */ 88362306a36Sopenharmony_ci dma-names = "rx", "tx"; 88462306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 88562306a36Sopenharmony_ci 88662306a36Sopenharmony_ci status = "disabled"; 88762306a36Sopenharmony_ci }; 88862306a36Sopenharmony_ci 88962306a36Sopenharmony_ci spi2: spi@80111000 { 89062306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 89162306a36Sopenharmony_ci reg = <0x80111000 0x1000>; 89262306a36Sopenharmony_ci interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 89362306a36Sopenharmony_ci #address-cells = <1>; 89462306a36Sopenharmony_ci #size-cells = <0>; 89562306a36Sopenharmony_ci /* Same clock wired to kernel and pclk */ 89662306a36Sopenharmony_ci clocks = <&prcc_pclk 2 1>, <&prcc_pclk 2 1>; 89762306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 89862306a36Sopenharmony_ci dmas = <&dma 33 0 0x2>, /* Logical - DevToMem */ 89962306a36Sopenharmony_ci <&dma 33 0 0x0>; /* Logical - MemToDev */ 90062306a36Sopenharmony_ci dma-names = "rx", "tx"; 90162306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 90262306a36Sopenharmony_ci 90362306a36Sopenharmony_ci status = "disabled"; 90462306a36Sopenharmony_ci }; 90562306a36Sopenharmony_ci 90662306a36Sopenharmony_ci spi3: spi@80129000 { 90762306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 90862306a36Sopenharmony_ci reg = <0x80129000 0x1000>; 90962306a36Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 91062306a36Sopenharmony_ci #address-cells = <1>; 91162306a36Sopenharmony_ci #size-cells = <0>; 91262306a36Sopenharmony_ci /* Same clock wired to kernel and pclk */ 91362306a36Sopenharmony_ci clocks = <&prcc_pclk 1 7>, <&prcc_pclk 1 7>; 91462306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 91562306a36Sopenharmony_ci dmas = <&dma 40 0 0x2>, /* Logical - DevToMem */ 91662306a36Sopenharmony_ci <&dma 40 0 0x0>; /* Logical - MemToDev */ 91762306a36Sopenharmony_ci dma-names = "rx", "tx"; 91862306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 91962306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_SPI3>; 92062306a36Sopenharmony_ci 92162306a36Sopenharmony_ci status = "disabled"; 92262306a36Sopenharmony_ci }; 92362306a36Sopenharmony_ci 92462306a36Sopenharmony_ci serial0: serial@80120000 { 92562306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 92662306a36Sopenharmony_ci reg = <0x80120000 0x1000>; 92762306a36Sopenharmony_ci interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 92862306a36Sopenharmony_ci 92962306a36Sopenharmony_ci dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */ 93062306a36Sopenharmony_ci <&dma 13 0 0x0>; /* Logical - MemToDev */ 93162306a36Sopenharmony_ci dma-names = "rx", "tx"; 93262306a36Sopenharmony_ci 93362306a36Sopenharmony_ci clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>; 93462306a36Sopenharmony_ci clock-names = "uart", "apb_pclk"; 93562306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_UART0>; 93662306a36Sopenharmony_ci 93762306a36Sopenharmony_ci status = "disabled"; 93862306a36Sopenharmony_ci }; 93962306a36Sopenharmony_ci 94062306a36Sopenharmony_ci serial1: serial@80121000 { 94162306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 94262306a36Sopenharmony_ci reg = <0x80121000 0x1000>; 94362306a36Sopenharmony_ci interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 94462306a36Sopenharmony_ci 94562306a36Sopenharmony_ci dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */ 94662306a36Sopenharmony_ci <&dma 12 0 0x0>; /* Logical - MemToDev */ 94762306a36Sopenharmony_ci dma-names = "rx", "tx"; 94862306a36Sopenharmony_ci 94962306a36Sopenharmony_ci clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>; 95062306a36Sopenharmony_ci clock-names = "uart", "apb_pclk"; 95162306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_UART1>; 95262306a36Sopenharmony_ci 95362306a36Sopenharmony_ci status = "disabled"; 95462306a36Sopenharmony_ci }; 95562306a36Sopenharmony_ci 95662306a36Sopenharmony_ci serial2: serial@80007000 { 95762306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 95862306a36Sopenharmony_ci reg = <0x80007000 0x1000>; 95962306a36Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 96062306a36Sopenharmony_ci 96162306a36Sopenharmony_ci dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */ 96262306a36Sopenharmony_ci <&dma 11 0 0x0>; /* Logical - MemToDev */ 96362306a36Sopenharmony_ci dma-names = "rx", "tx"; 96462306a36Sopenharmony_ci 96562306a36Sopenharmony_ci clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>; 96662306a36Sopenharmony_ci clock-names = "uart", "apb_pclk"; 96762306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_UART2>; 96862306a36Sopenharmony_ci 96962306a36Sopenharmony_ci status = "disabled"; 97062306a36Sopenharmony_ci }; 97162306a36Sopenharmony_ci 97262306a36Sopenharmony_ci mmc@80126000 { 97362306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 97462306a36Sopenharmony_ci reg = <0x80126000 0x1000>; 97562306a36Sopenharmony_ci interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 97662306a36Sopenharmony_ci 97762306a36Sopenharmony_ci dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */ 97862306a36Sopenharmony_ci <&dma 29 0 0x0>; /* Logical - MemToDev */ 97962306a36Sopenharmony_ci dma-names = "rx", "tx"; 98062306a36Sopenharmony_ci 98162306a36Sopenharmony_ci clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>; 98262306a36Sopenharmony_ci clock-names = "sdi", "apb_pclk"; 98362306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 98462306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_SDI0>; 98562306a36Sopenharmony_ci 98662306a36Sopenharmony_ci status = "disabled"; 98762306a36Sopenharmony_ci }; 98862306a36Sopenharmony_ci 98962306a36Sopenharmony_ci mmc@80118000 { 99062306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 99162306a36Sopenharmony_ci reg = <0x80118000 0x1000>; 99262306a36Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 99362306a36Sopenharmony_ci 99462306a36Sopenharmony_ci dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */ 99562306a36Sopenharmony_ci <&dma 32 0 0x0>; /* Logical - MemToDev */ 99662306a36Sopenharmony_ci dma-names = "rx", "tx"; 99762306a36Sopenharmony_ci 99862306a36Sopenharmony_ci clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>; 99962306a36Sopenharmony_ci clock-names = "sdi", "apb_pclk"; 100062306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 100162306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_SDI1>; 100262306a36Sopenharmony_ci 100362306a36Sopenharmony_ci status = "disabled"; 100462306a36Sopenharmony_ci }; 100562306a36Sopenharmony_ci 100662306a36Sopenharmony_ci mmc@80005000 { 100762306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 100862306a36Sopenharmony_ci reg = <0x80005000 0x1000>; 100962306a36Sopenharmony_ci interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 101062306a36Sopenharmony_ci 101162306a36Sopenharmony_ci dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */ 101262306a36Sopenharmony_ci <&dma 28 0 0x0>; /* Logical - MemToDev */ 101362306a36Sopenharmony_ci dma-names = "rx", "tx"; 101462306a36Sopenharmony_ci 101562306a36Sopenharmony_ci clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>; 101662306a36Sopenharmony_ci clock-names = "sdi", "apb_pclk"; 101762306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 101862306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SDI2>; 101962306a36Sopenharmony_ci 102062306a36Sopenharmony_ci status = "disabled"; 102162306a36Sopenharmony_ci }; 102262306a36Sopenharmony_ci 102362306a36Sopenharmony_ci mmc@80119000 { 102462306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 102562306a36Sopenharmony_ci reg = <0x80119000 0x1000>; 102662306a36Sopenharmony_ci interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 102762306a36Sopenharmony_ci 102862306a36Sopenharmony_ci dmas = <&dma 41 0 0x2>, /* Logical - DevToMem */ 102962306a36Sopenharmony_ci <&dma 41 0 0x0>; /* Logical - MemToDev */ 103062306a36Sopenharmony_ci dma-names = "rx", "tx"; 103162306a36Sopenharmony_ci 103262306a36Sopenharmony_ci clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>; 103362306a36Sopenharmony_ci clock-names = "sdi", "apb_pclk"; 103462306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 103562306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_SDI3>; 103662306a36Sopenharmony_ci 103762306a36Sopenharmony_ci status = "disabled"; 103862306a36Sopenharmony_ci }; 103962306a36Sopenharmony_ci 104062306a36Sopenharmony_ci mmc@80114000 { 104162306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 104262306a36Sopenharmony_ci reg = <0x80114000 0x1000>; 104362306a36Sopenharmony_ci interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 104462306a36Sopenharmony_ci 104562306a36Sopenharmony_ci dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */ 104662306a36Sopenharmony_ci <&dma 42 0 0x0>; /* Logical - MemToDev */ 104762306a36Sopenharmony_ci dma-names = "rx", "tx"; 104862306a36Sopenharmony_ci 104962306a36Sopenharmony_ci clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>; 105062306a36Sopenharmony_ci clock-names = "sdi", "apb_pclk"; 105162306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 105262306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_SDI4>; 105362306a36Sopenharmony_ci 105462306a36Sopenharmony_ci status = "disabled"; 105562306a36Sopenharmony_ci }; 105662306a36Sopenharmony_ci 105762306a36Sopenharmony_ci mmc@80008000 { 105862306a36Sopenharmony_ci compatible = "arm,pl18x", "arm,primecell"; 105962306a36Sopenharmony_ci reg = <0x80008000 0x1000>; 106062306a36Sopenharmony_ci interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 106162306a36Sopenharmony_ci 106262306a36Sopenharmony_ci dmas = <&dma 43 0 0x2>, /* Logical - DevToMem */ 106362306a36Sopenharmony_ci <&dma 43 0 0x0>; /* Logical - MemToDev */ 106462306a36Sopenharmony_ci dma-names = "rx", "tx"; 106562306a36Sopenharmony_ci 106662306a36Sopenharmony_ci clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>; 106762306a36Sopenharmony_ci clock-names = "sdi", "apb_pclk"; 106862306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 106962306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_3 DB8500_PRCC_3_RESET_SDI5>; 107062306a36Sopenharmony_ci 107162306a36Sopenharmony_ci status = "disabled"; 107262306a36Sopenharmony_ci }; 107362306a36Sopenharmony_ci 107462306a36Sopenharmony_ci sound { 107562306a36Sopenharmony_ci compatible = "stericsson,snd-soc-mop500"; 107662306a36Sopenharmony_ci stericsson,cpu-dai = <&msp1 &msp3>; 107762306a36Sopenharmony_ci }; 107862306a36Sopenharmony_ci 107962306a36Sopenharmony_ci msp0: msp@80123000 { 108062306a36Sopenharmony_ci compatible = "stericsson,ux500-msp-i2s"; 108162306a36Sopenharmony_ci reg = <0x80123000 0x1000>; 108262306a36Sopenharmony_ci interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 108362306a36Sopenharmony_ci v-ape-supply = <&db8500_vape_reg>; 108462306a36Sopenharmony_ci 108562306a36Sopenharmony_ci dmas = <&dma 31 0 0x12>, /* Logical - DevToMem - HighPrio */ 108662306a36Sopenharmony_ci <&dma 31 0 0x10>; /* Logical - MemToDev - HighPrio */ 108762306a36Sopenharmony_ci dma-names = "rx", "tx"; 108862306a36Sopenharmony_ci 108962306a36Sopenharmony_ci clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>; 109062306a36Sopenharmony_ci clock-names = "msp", "apb_pclk"; 109162306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_MSP0>; 109262306a36Sopenharmony_ci 109362306a36Sopenharmony_ci status = "disabled"; 109462306a36Sopenharmony_ci }; 109562306a36Sopenharmony_ci 109662306a36Sopenharmony_ci msp1: msp@80124000 { 109762306a36Sopenharmony_ci compatible = "stericsson,ux500-msp-i2s"; 109862306a36Sopenharmony_ci reg = <0x80124000 0x1000>; 109962306a36Sopenharmony_ci interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 110062306a36Sopenharmony_ci v-ape-supply = <&db8500_vape_reg>; 110162306a36Sopenharmony_ci 110262306a36Sopenharmony_ci /* This DMA channel only exist on DB8500 v1 */ 110362306a36Sopenharmony_ci dmas = <&dma 30 0 0x10>; /* Logical - MemToDev - HighPrio */ 110462306a36Sopenharmony_ci dma-names = "tx"; 110562306a36Sopenharmony_ci 110662306a36Sopenharmony_ci clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>; 110762306a36Sopenharmony_ci clock-names = "msp", "apb_pclk"; 110862306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_MSP1>; 110962306a36Sopenharmony_ci 111062306a36Sopenharmony_ci status = "disabled"; 111162306a36Sopenharmony_ci }; 111262306a36Sopenharmony_ci 111362306a36Sopenharmony_ci // HDMI sound 111462306a36Sopenharmony_ci msp2: msp@80117000 { 111562306a36Sopenharmony_ci compatible = "stericsson,ux500-msp-i2s"; 111662306a36Sopenharmony_ci reg = <0x80117000 0x1000>; 111762306a36Sopenharmony_ci interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 111862306a36Sopenharmony_ci v-ape-supply = <&db8500_vape_reg>; 111962306a36Sopenharmony_ci 112062306a36Sopenharmony_ci dmas = <&dma 14 0 0x12>, /* Logical - DevToMem - HighPrio */ 112162306a36Sopenharmony_ci <&dma 14 1 0x19>; /* Physical Chan 1 - MemToDev 112262306a36Sopenharmony_ci HighPrio - Fixed */ 112362306a36Sopenharmony_ci dma-names = "rx", "tx"; 112462306a36Sopenharmony_ci 112562306a36Sopenharmony_ci clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>; 112662306a36Sopenharmony_ci clock-names = "msp", "apb_pclk"; 112762306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_2 DB8500_PRCC_2_RESET_MSP2>; 112862306a36Sopenharmony_ci 112962306a36Sopenharmony_ci status = "disabled"; 113062306a36Sopenharmony_ci }; 113162306a36Sopenharmony_ci 113262306a36Sopenharmony_ci msp3: msp@80125000 { 113362306a36Sopenharmony_ci compatible = "stericsson,ux500-msp-i2s"; 113462306a36Sopenharmony_ci reg = <0x80125000 0x1000>; 113562306a36Sopenharmony_ci interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 113662306a36Sopenharmony_ci v-ape-supply = <&db8500_vape_reg>; 113762306a36Sopenharmony_ci 113862306a36Sopenharmony_ci /* This DMA channel only exist on DB8500 v2 */ 113962306a36Sopenharmony_ci dmas = <&dma 30 0 0x12>; /* Logical - DevToMem - HighPrio */ 114062306a36Sopenharmony_ci dma-names = "rx"; 114162306a36Sopenharmony_ci 114262306a36Sopenharmony_ci clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>; 114362306a36Sopenharmony_ci clock-names = "msp", "apb_pclk"; 114462306a36Sopenharmony_ci resets = <&prcc_reset DB8500_PRCC_1 DB8500_PRCC_1_RESET_MSP3>; 114562306a36Sopenharmony_ci 114662306a36Sopenharmony_ci status = "disabled"; 114762306a36Sopenharmony_ci }; 114862306a36Sopenharmony_ci 114962306a36Sopenharmony_ci external-bus@50000000 { 115062306a36Sopenharmony_ci compatible = "simple-bus"; 115162306a36Sopenharmony_ci reg = <0x50000000 0x4000000>; 115262306a36Sopenharmony_ci #address-cells = <1>; 115362306a36Sopenharmony_ci #size-cells = <1>; 115462306a36Sopenharmony_ci ranges = <0 0x50000000 0x4000000>; 115562306a36Sopenharmony_ci status = "disabled"; 115662306a36Sopenharmony_ci }; 115762306a36Sopenharmony_ci 115862306a36Sopenharmony_ci gpu@a0300000 { 115962306a36Sopenharmony_ci /* 116062306a36Sopenharmony_ci * This block is referred to as "Smart Graphics Adapter SGA500" 116162306a36Sopenharmony_ci * in documentation but is in practice a pretty straight-forward 116262306a36Sopenharmony_ci * MALI-400 GPU block. 116362306a36Sopenharmony_ci */ 116462306a36Sopenharmony_ci compatible = "stericsson,db8500-mali", "arm,mali-400"; 116562306a36Sopenharmony_ci reg = <0xa0300000 0x10000>; 116662306a36Sopenharmony_ci interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 116762306a36Sopenharmony_ci <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 116862306a36Sopenharmony_ci <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 116962306a36Sopenharmony_ci <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 117062306a36Sopenharmony_ci <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 117162306a36Sopenharmony_ci interrupt-names = "gp", 117262306a36Sopenharmony_ci "gpmmu", 117362306a36Sopenharmony_ci "pp0", 117462306a36Sopenharmony_ci "ppmmu0", 117562306a36Sopenharmony_ci "combined"; 117662306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_ACLK>, <&prcmu_clk PRCMU_SGACLK>; 117762306a36Sopenharmony_ci clock-names = "bus", "core"; 117862306a36Sopenharmony_ci mali-supply = <&db8500_sga_reg>; 117962306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 118062306a36Sopenharmony_ci }; 118162306a36Sopenharmony_ci 118262306a36Sopenharmony_ci mcde@a0350000 { 118362306a36Sopenharmony_ci compatible = "ste,mcde"; 118462306a36Sopenharmony_ci reg = <0xa0350000 0x1000>; 118562306a36Sopenharmony_ci interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 118662306a36Sopenharmony_ci epod-supply = <&db8500_b2r2_mcde_reg>; 118762306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */ 118862306a36Sopenharmony_ci <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */ 118962306a36Sopenharmony_ci <&prcmu_clk PRCMU_PLLDSI>; /* HDMI clock */ 119062306a36Sopenharmony_ci clock-names = "mcde", "lcd", "hdmi"; 119162306a36Sopenharmony_ci #address-cells = <1>; 119262306a36Sopenharmony_ci #size-cells = <1>; 119362306a36Sopenharmony_ci ranges; 119462306a36Sopenharmony_ci status = "disabled"; 119562306a36Sopenharmony_ci 119662306a36Sopenharmony_ci dsi0: dsi@a0351000 { 119762306a36Sopenharmony_ci compatible = "ste,mcde-dsi"; 119862306a36Sopenharmony_ci reg = <0xa0351000 0x1000>; 119962306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>; 120062306a36Sopenharmony_ci clock-names = "hs", "lp"; 120162306a36Sopenharmony_ci #address-cells = <1>; 120262306a36Sopenharmony_ci #size-cells = <0>; 120362306a36Sopenharmony_ci }; 120462306a36Sopenharmony_ci dsi1: dsi@a0352000 { 120562306a36Sopenharmony_ci compatible = "ste,mcde-dsi"; 120662306a36Sopenharmony_ci reg = <0xa0352000 0x1000>; 120762306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>; 120862306a36Sopenharmony_ci clock-names = "hs", "lp"; 120962306a36Sopenharmony_ci #address-cells = <1>; 121062306a36Sopenharmony_ci #size-cells = <0>; 121162306a36Sopenharmony_ci }; 121262306a36Sopenharmony_ci dsi2: dsi@a0353000 { 121362306a36Sopenharmony_ci compatible = "ste,mcde-dsi"; 121462306a36Sopenharmony_ci reg = <0xa0353000 0x1000>; 121562306a36Sopenharmony_ci /* This DSI port only has the Low Power / Energy Save clock */ 121662306a36Sopenharmony_ci clocks = <&prcmu_clk PRCMU_DSI2ESCCLK>; 121762306a36Sopenharmony_ci clock-names = "lp"; 121862306a36Sopenharmony_ci #address-cells = <1>; 121962306a36Sopenharmony_ci #size-cells = <0>; 122062306a36Sopenharmony_ci }; 122162306a36Sopenharmony_ci }; 122262306a36Sopenharmony_ci 122362306a36Sopenharmony_ci cryp@a03cb000 { 122462306a36Sopenharmony_ci compatible = "stericsson,ux500-cryp"; 122562306a36Sopenharmony_ci reg = <0xa03cb000 0x1000>; 122662306a36Sopenharmony_ci interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 122762306a36Sopenharmony_ci clocks = <&prcc_pclk 6 1>; 122862306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 122962306a36Sopenharmony_ci }; 123062306a36Sopenharmony_ci 123162306a36Sopenharmony_ci hash@a03c2000 { 123262306a36Sopenharmony_ci compatible = "stericsson,ux500-hash"; 123362306a36Sopenharmony_ci reg = <0xa03c2000 0x1000>; 123462306a36Sopenharmony_ci clocks = <&prcc_pclk 6 2>; 123562306a36Sopenharmony_ci power-domains = <&pm_domains DOMAIN_VAPE>; 123662306a36Sopenharmony_ci }; 123762306a36Sopenharmony_ci }; 123862306a36Sopenharmony_ci}; 1239