18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci#include "juno-clocks.dtsi" 38c2ecf20Sopenharmony_ci#include "juno-motherboard.dtsi" 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci/ { 68c2ecf20Sopenharmony_ci /* 78c2ecf20Sopenharmony_ci * Devices shared by all Juno boards 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci memtimer: timer@2a810000 { 118c2ecf20Sopenharmony_ci compatible = "arm,armv7-timer-mem"; 128c2ecf20Sopenharmony_ci reg = <0x0 0x2a810000 0x0 0x10000>; 138c2ecf20Sopenharmony_ci clock-frequency = <50000000>; 148c2ecf20Sopenharmony_ci #address-cells = <1>; 158c2ecf20Sopenharmony_ci #size-cells = <1>; 168c2ecf20Sopenharmony_ci ranges = <0 0x0 0x2a820000 0x20000>; 178c2ecf20Sopenharmony_ci status = "disabled"; 188c2ecf20Sopenharmony_ci frame@2a830000 { 198c2ecf20Sopenharmony_ci frame-number = <1>; 208c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 218c2ecf20Sopenharmony_ci reg = <0x10000 0x10000>; 228c2ecf20Sopenharmony_ci }; 238c2ecf20Sopenharmony_ci }; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci mailbox: mhu@2b1f0000 { 268c2ecf20Sopenharmony_ci compatible = "arm,mhu", "arm,primecell"; 278c2ecf20Sopenharmony_ci reg = <0x0 0x2b1f0000 0x0 0x1000>; 288c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 298c2ecf20Sopenharmony_ci <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 308c2ecf20Sopenharmony_ci interrupt-names = "mhu_lpri_rx", 318c2ecf20Sopenharmony_ci "mhu_hpri_rx"; 328c2ecf20Sopenharmony_ci #mbox-cells = <1>; 338c2ecf20Sopenharmony_ci clocks = <&soc_refclk100mhz>; 348c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 358c2ecf20Sopenharmony_ci }; 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci smmu_gpu: iommu@2b400000 { 388c2ecf20Sopenharmony_ci compatible = "arm,mmu-400", "arm,smmu-v1"; 398c2ecf20Sopenharmony_ci reg = <0x0 0x2b400000 0x0 0x10000>; 408c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 418c2ecf20Sopenharmony_ci <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 428c2ecf20Sopenharmony_ci #iommu-cells = <1>; 438c2ecf20Sopenharmony_ci #global-interrupts = <1>; 448c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 1>; 458c2ecf20Sopenharmony_ci dma-coherent; 468c2ecf20Sopenharmony_ci status = "disabled"; 478c2ecf20Sopenharmony_ci }; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci smmu_pcie: iommu@2b500000 { 508c2ecf20Sopenharmony_ci compatible = "arm,mmu-401", "arm,smmu-v1"; 518c2ecf20Sopenharmony_ci reg = <0x0 0x2b500000 0x0 0x10000>; 528c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 538c2ecf20Sopenharmony_ci <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 548c2ecf20Sopenharmony_ci #iommu-cells = <1>; 558c2ecf20Sopenharmony_ci #global-interrupts = <1>; 568c2ecf20Sopenharmony_ci dma-coherent; 578c2ecf20Sopenharmony_ci status = "disabled"; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci smmu_etr: iommu@2b600000 { 618c2ecf20Sopenharmony_ci compatible = "arm,mmu-401", "arm,smmu-v1"; 628c2ecf20Sopenharmony_ci reg = <0x0 0x2b600000 0x0 0x10000>; 638c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 648c2ecf20Sopenharmony_ci <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 658c2ecf20Sopenharmony_ci #iommu-cells = <1>; 668c2ecf20Sopenharmony_ci #global-interrupts = <1>; 678c2ecf20Sopenharmony_ci dma-coherent; 688c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 698c2ecf20Sopenharmony_ci }; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci gic: interrupt-controller@2c010000 { 728c2ecf20Sopenharmony_ci compatible = "arm,gic-400", "arm,cortex-a15-gic"; 738c2ecf20Sopenharmony_ci reg = <0x0 0x2c010000 0 0x1000>, 748c2ecf20Sopenharmony_ci <0x0 0x2c02f000 0 0x2000>, 758c2ecf20Sopenharmony_ci <0x0 0x2c04f000 0 0x2000>, 768c2ecf20Sopenharmony_ci <0x0 0x2c06f000 0 0x2000>; 778c2ecf20Sopenharmony_ci #address-cells = <1>; 788c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 798c2ecf20Sopenharmony_ci #size-cells = <1>; 808c2ecf20Sopenharmony_ci interrupt-controller; 818c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>; 828c2ecf20Sopenharmony_ci ranges = <0 0 0x2c1c0000 0x40000>; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci v2m_0: v2m@0 { 858c2ecf20Sopenharmony_ci compatible = "arm,gic-v2m-frame"; 868c2ecf20Sopenharmony_ci msi-controller; 878c2ecf20Sopenharmony_ci reg = <0 0x10000>; 888c2ecf20Sopenharmony_ci }; 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci v2m@10000 { 918c2ecf20Sopenharmony_ci compatible = "arm,gic-v2m-frame"; 928c2ecf20Sopenharmony_ci msi-controller; 938c2ecf20Sopenharmony_ci reg = <0x10000 0x10000>; 948c2ecf20Sopenharmony_ci }; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci v2m@20000 { 978c2ecf20Sopenharmony_ci compatible = "arm,gic-v2m-frame"; 988c2ecf20Sopenharmony_ci msi-controller; 998c2ecf20Sopenharmony_ci reg = <0x20000 0x10000>; 1008c2ecf20Sopenharmony_ci }; 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci v2m@30000 { 1038c2ecf20Sopenharmony_ci compatible = "arm,gic-v2m-frame"; 1048c2ecf20Sopenharmony_ci msi-controller; 1058c2ecf20Sopenharmony_ci reg = <0x30000 0x10000>; 1068c2ecf20Sopenharmony_ci }; 1078c2ecf20Sopenharmony_ci }; 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci timer { 1108c2ecf20Sopenharmony_ci compatible = "arm,armv8-timer"; 1118c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 1128c2ecf20Sopenharmony_ci <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 1138c2ecf20Sopenharmony_ci <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 1148c2ecf20Sopenharmony_ci <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; 1158c2ecf20Sopenharmony_ci }; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci /* 1188c2ecf20Sopenharmony_ci * Juno TRMs specify the size for these coresight components as 64K. 1198c2ecf20Sopenharmony_ci * The actual size is just 4K though 64K is reserved. Access to the 1208c2ecf20Sopenharmony_ci * unmapped reserved region results in a DECERR response. 1218c2ecf20Sopenharmony_ci */ 1228c2ecf20Sopenharmony_ci etf@20010000 { /* etf0 */ 1238c2ecf20Sopenharmony_ci compatible = "arm,coresight-tmc", "arm,primecell"; 1248c2ecf20Sopenharmony_ci reg = <0 0x20010000 0 0x1000>; 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 1278c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 1288c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci in-ports { 1318c2ecf20Sopenharmony_ci port { 1328c2ecf20Sopenharmony_ci etf0_in_port: endpoint { 1338c2ecf20Sopenharmony_ci remote-endpoint = <&main_funnel_out_port>; 1348c2ecf20Sopenharmony_ci }; 1358c2ecf20Sopenharmony_ci }; 1368c2ecf20Sopenharmony_ci }; 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci out-ports { 1398c2ecf20Sopenharmony_ci port { 1408c2ecf20Sopenharmony_ci etf0_out_port: endpoint { 1418c2ecf20Sopenharmony_ci }; 1428c2ecf20Sopenharmony_ci }; 1438c2ecf20Sopenharmony_ci }; 1448c2ecf20Sopenharmony_ci }; 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci tpiu@20030000 { 1478c2ecf20Sopenharmony_ci compatible = "arm,coresight-tpiu", "arm,primecell"; 1488c2ecf20Sopenharmony_ci reg = <0 0x20030000 0 0x1000>; 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 1518c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 1528c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 1538c2ecf20Sopenharmony_ci in-ports { 1548c2ecf20Sopenharmony_ci port { 1558c2ecf20Sopenharmony_ci tpiu_in_port: endpoint { 1568c2ecf20Sopenharmony_ci remote-endpoint = <&replicator_out_port0>; 1578c2ecf20Sopenharmony_ci }; 1588c2ecf20Sopenharmony_ci }; 1598c2ecf20Sopenharmony_ci }; 1608c2ecf20Sopenharmony_ci }; 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci /* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/ 1638c2ecf20Sopenharmony_ci main_funnel: funnel@20040000 { 1648c2ecf20Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1658c2ecf20Sopenharmony_ci reg = <0 0x20040000 0 0x1000>; 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 1688c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 1698c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci out-ports { 1728c2ecf20Sopenharmony_ci port { 1738c2ecf20Sopenharmony_ci main_funnel_out_port: endpoint { 1748c2ecf20Sopenharmony_ci remote-endpoint = <&etf0_in_port>; 1758c2ecf20Sopenharmony_ci }; 1768c2ecf20Sopenharmony_ci }; 1778c2ecf20Sopenharmony_ci }; 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci main_funnel_in_ports: in-ports { 1808c2ecf20Sopenharmony_ci #address-cells = <1>; 1818c2ecf20Sopenharmony_ci #size-cells = <0>; 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci port@0 { 1848c2ecf20Sopenharmony_ci reg = <0>; 1858c2ecf20Sopenharmony_ci main_funnel_in_port0: endpoint { 1868c2ecf20Sopenharmony_ci remote-endpoint = <&cluster0_funnel_out_port>; 1878c2ecf20Sopenharmony_ci }; 1888c2ecf20Sopenharmony_ci }; 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci port@1 { 1918c2ecf20Sopenharmony_ci reg = <1>; 1928c2ecf20Sopenharmony_ci main_funnel_in_port1: endpoint { 1938c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_funnel_out_port>; 1948c2ecf20Sopenharmony_ci }; 1958c2ecf20Sopenharmony_ci }; 1968c2ecf20Sopenharmony_ci }; 1978c2ecf20Sopenharmony_ci }; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci etr@20070000 { 2008c2ecf20Sopenharmony_ci compatible = "arm,coresight-tmc", "arm,primecell"; 2018c2ecf20Sopenharmony_ci reg = <0 0x20070000 0 0x1000>; 2028c2ecf20Sopenharmony_ci iommus = <&smmu_etr 0>; 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 2058c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 2068c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 2078c2ecf20Sopenharmony_ci arm,scatter-gather; 2088c2ecf20Sopenharmony_ci in-ports { 2098c2ecf20Sopenharmony_ci port { 2108c2ecf20Sopenharmony_ci etr_in_port: endpoint { 2118c2ecf20Sopenharmony_ci remote-endpoint = <&replicator_out_port1>; 2128c2ecf20Sopenharmony_ci }; 2138c2ecf20Sopenharmony_ci }; 2148c2ecf20Sopenharmony_ci }; 2158c2ecf20Sopenharmony_ci }; 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ci stm@20100000 { 2188c2ecf20Sopenharmony_ci compatible = "arm,coresight-stm", "arm,primecell"; 2198c2ecf20Sopenharmony_ci reg = <0 0x20100000 0 0x1000>, 2208c2ecf20Sopenharmony_ci <0 0x28000000 0 0x1000000>; 2218c2ecf20Sopenharmony_ci reg-names = "stm-base", "stm-stimulus-base"; 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 2248c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 2258c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 2268c2ecf20Sopenharmony_ci out-ports { 2278c2ecf20Sopenharmony_ci port { 2288c2ecf20Sopenharmony_ci stm_out_port: endpoint { 2298c2ecf20Sopenharmony_ci }; 2308c2ecf20Sopenharmony_ci }; 2318c2ecf20Sopenharmony_ci }; 2328c2ecf20Sopenharmony_ci }; 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ci replicator@20120000 { 2358c2ecf20Sopenharmony_ci compatible = "arm,coresight-dynamic-replicator", "arm,primecell"; 2368c2ecf20Sopenharmony_ci reg = <0 0x20120000 0 0x1000>; 2378c2ecf20Sopenharmony_ci 2388c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 2398c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 2408c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ci out-ports { 2438c2ecf20Sopenharmony_ci #address-cells = <1>; 2448c2ecf20Sopenharmony_ci #size-cells = <0>; 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ci /* replicator output ports */ 2478c2ecf20Sopenharmony_ci port@0 { 2488c2ecf20Sopenharmony_ci reg = <0>; 2498c2ecf20Sopenharmony_ci replicator_out_port0: endpoint { 2508c2ecf20Sopenharmony_ci remote-endpoint = <&tpiu_in_port>; 2518c2ecf20Sopenharmony_ci }; 2528c2ecf20Sopenharmony_ci }; 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci port@1 { 2558c2ecf20Sopenharmony_ci reg = <1>; 2568c2ecf20Sopenharmony_ci replicator_out_port1: endpoint { 2578c2ecf20Sopenharmony_ci remote-endpoint = <&etr_in_port>; 2588c2ecf20Sopenharmony_ci }; 2598c2ecf20Sopenharmony_ci }; 2608c2ecf20Sopenharmony_ci }; 2618c2ecf20Sopenharmony_ci in-ports { 2628c2ecf20Sopenharmony_ci port { 2638c2ecf20Sopenharmony_ci replicator_in_port0: endpoint { 2648c2ecf20Sopenharmony_ci }; 2658c2ecf20Sopenharmony_ci }; 2668c2ecf20Sopenharmony_ci }; 2678c2ecf20Sopenharmony_ci }; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci cpu_debug0: cpu-debug@22010000 { 2708c2ecf20Sopenharmony_ci compatible = "arm,coresight-cpu-debug", "arm,primecell"; 2718c2ecf20Sopenharmony_ci reg = <0x0 0x22010000 0x0 0x1000>; 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 2748c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 2758c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 2768c2ecf20Sopenharmony_ci }; 2778c2ecf20Sopenharmony_ci 2788c2ecf20Sopenharmony_ci etm0: etm@22040000 { 2798c2ecf20Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 2808c2ecf20Sopenharmony_ci reg = <0 0x22040000 0 0x1000>; 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 2838c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 2848c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 2858c2ecf20Sopenharmony_ci out-ports { 2868c2ecf20Sopenharmony_ci port { 2878c2ecf20Sopenharmony_ci cluster0_etm0_out_port: endpoint { 2888c2ecf20Sopenharmony_ci remote-endpoint = <&cluster0_funnel_in_port0>; 2898c2ecf20Sopenharmony_ci }; 2908c2ecf20Sopenharmony_ci }; 2918c2ecf20Sopenharmony_ci }; 2928c2ecf20Sopenharmony_ci }; 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci funnel@220c0000 { /* cluster0 funnel */ 2958c2ecf20Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 2968c2ecf20Sopenharmony_ci reg = <0 0x220c0000 0 0x1000>; 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 2998c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 3008c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 3018c2ecf20Sopenharmony_ci out-ports { 3028c2ecf20Sopenharmony_ci port { 3038c2ecf20Sopenharmony_ci cluster0_funnel_out_port: endpoint { 3048c2ecf20Sopenharmony_ci remote-endpoint = <&main_funnel_in_port0>; 3058c2ecf20Sopenharmony_ci }; 3068c2ecf20Sopenharmony_ci }; 3078c2ecf20Sopenharmony_ci }; 3088c2ecf20Sopenharmony_ci 3098c2ecf20Sopenharmony_ci in-ports { 3108c2ecf20Sopenharmony_ci #address-cells = <1>; 3118c2ecf20Sopenharmony_ci #size-cells = <0>; 3128c2ecf20Sopenharmony_ci 3138c2ecf20Sopenharmony_ci port@0 { 3148c2ecf20Sopenharmony_ci reg = <0>; 3158c2ecf20Sopenharmony_ci cluster0_funnel_in_port0: endpoint { 3168c2ecf20Sopenharmony_ci remote-endpoint = <&cluster0_etm0_out_port>; 3178c2ecf20Sopenharmony_ci }; 3188c2ecf20Sopenharmony_ci }; 3198c2ecf20Sopenharmony_ci 3208c2ecf20Sopenharmony_ci port@1 { 3218c2ecf20Sopenharmony_ci reg = <1>; 3228c2ecf20Sopenharmony_ci cluster0_funnel_in_port1: endpoint { 3238c2ecf20Sopenharmony_ci remote-endpoint = <&cluster0_etm1_out_port>; 3248c2ecf20Sopenharmony_ci }; 3258c2ecf20Sopenharmony_ci }; 3268c2ecf20Sopenharmony_ci }; 3278c2ecf20Sopenharmony_ci }; 3288c2ecf20Sopenharmony_ci 3298c2ecf20Sopenharmony_ci cpu_debug1: cpu-debug@22110000 { 3308c2ecf20Sopenharmony_ci compatible = "arm,coresight-cpu-debug", "arm,primecell"; 3318c2ecf20Sopenharmony_ci reg = <0x0 0x22110000 0x0 0x1000>; 3328c2ecf20Sopenharmony_ci 3338c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 3348c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 3358c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 3368c2ecf20Sopenharmony_ci }; 3378c2ecf20Sopenharmony_ci 3388c2ecf20Sopenharmony_ci etm1: etm@22140000 { 3398c2ecf20Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 3408c2ecf20Sopenharmony_ci reg = <0 0x22140000 0 0x1000>; 3418c2ecf20Sopenharmony_ci 3428c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 3438c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 3448c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 3458c2ecf20Sopenharmony_ci out-ports { 3468c2ecf20Sopenharmony_ci port { 3478c2ecf20Sopenharmony_ci cluster0_etm1_out_port: endpoint { 3488c2ecf20Sopenharmony_ci remote-endpoint = <&cluster0_funnel_in_port1>; 3498c2ecf20Sopenharmony_ci }; 3508c2ecf20Sopenharmony_ci }; 3518c2ecf20Sopenharmony_ci }; 3528c2ecf20Sopenharmony_ci }; 3538c2ecf20Sopenharmony_ci 3548c2ecf20Sopenharmony_ci cpu_debug2: cpu-debug@23010000 { 3558c2ecf20Sopenharmony_ci compatible = "arm,coresight-cpu-debug", "arm,primecell"; 3568c2ecf20Sopenharmony_ci reg = <0x0 0x23010000 0x0 0x1000>; 3578c2ecf20Sopenharmony_ci 3588c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 3598c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 3608c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 3618c2ecf20Sopenharmony_ci }; 3628c2ecf20Sopenharmony_ci 3638c2ecf20Sopenharmony_ci etm2: etm@23040000 { 3648c2ecf20Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 3658c2ecf20Sopenharmony_ci reg = <0 0x23040000 0 0x1000>; 3668c2ecf20Sopenharmony_ci 3678c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 3688c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 3698c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 3708c2ecf20Sopenharmony_ci out-ports { 3718c2ecf20Sopenharmony_ci port { 3728c2ecf20Sopenharmony_ci cluster1_etm0_out_port: endpoint { 3738c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_funnel_in_port0>; 3748c2ecf20Sopenharmony_ci }; 3758c2ecf20Sopenharmony_ci }; 3768c2ecf20Sopenharmony_ci }; 3778c2ecf20Sopenharmony_ci }; 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_ci funnel@230c0000 { /* cluster1 funnel */ 3808c2ecf20Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 3818c2ecf20Sopenharmony_ci reg = <0 0x230c0000 0 0x1000>; 3828c2ecf20Sopenharmony_ci 3838c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 3848c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 3858c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 3868c2ecf20Sopenharmony_ci out-ports { 3878c2ecf20Sopenharmony_ci port { 3888c2ecf20Sopenharmony_ci cluster1_funnel_out_port: endpoint { 3898c2ecf20Sopenharmony_ci remote-endpoint = <&main_funnel_in_port1>; 3908c2ecf20Sopenharmony_ci }; 3918c2ecf20Sopenharmony_ci }; 3928c2ecf20Sopenharmony_ci }; 3938c2ecf20Sopenharmony_ci 3948c2ecf20Sopenharmony_ci in-ports { 3958c2ecf20Sopenharmony_ci #address-cells = <1>; 3968c2ecf20Sopenharmony_ci #size-cells = <0>; 3978c2ecf20Sopenharmony_ci 3988c2ecf20Sopenharmony_ci port@0 { 3998c2ecf20Sopenharmony_ci reg = <0>; 4008c2ecf20Sopenharmony_ci cluster1_funnel_in_port0: endpoint { 4018c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_etm0_out_port>; 4028c2ecf20Sopenharmony_ci }; 4038c2ecf20Sopenharmony_ci }; 4048c2ecf20Sopenharmony_ci 4058c2ecf20Sopenharmony_ci port@1 { 4068c2ecf20Sopenharmony_ci reg = <1>; 4078c2ecf20Sopenharmony_ci cluster1_funnel_in_port1: endpoint { 4088c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_etm1_out_port>; 4098c2ecf20Sopenharmony_ci }; 4108c2ecf20Sopenharmony_ci }; 4118c2ecf20Sopenharmony_ci port@2 { 4128c2ecf20Sopenharmony_ci reg = <2>; 4138c2ecf20Sopenharmony_ci cluster1_funnel_in_port2: endpoint { 4148c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_etm2_out_port>; 4158c2ecf20Sopenharmony_ci }; 4168c2ecf20Sopenharmony_ci }; 4178c2ecf20Sopenharmony_ci port@3 { 4188c2ecf20Sopenharmony_ci reg = <3>; 4198c2ecf20Sopenharmony_ci cluster1_funnel_in_port3: endpoint { 4208c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_etm3_out_port>; 4218c2ecf20Sopenharmony_ci }; 4228c2ecf20Sopenharmony_ci }; 4238c2ecf20Sopenharmony_ci }; 4248c2ecf20Sopenharmony_ci }; 4258c2ecf20Sopenharmony_ci 4268c2ecf20Sopenharmony_ci cpu_debug3: cpu-debug@23110000 { 4278c2ecf20Sopenharmony_ci compatible = "arm,coresight-cpu-debug", "arm,primecell"; 4288c2ecf20Sopenharmony_ci reg = <0x0 0x23110000 0x0 0x1000>; 4298c2ecf20Sopenharmony_ci 4308c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 4318c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 4328c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 4338c2ecf20Sopenharmony_ci }; 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ci etm3: etm@23140000 { 4368c2ecf20Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 4378c2ecf20Sopenharmony_ci reg = <0 0x23140000 0 0x1000>; 4388c2ecf20Sopenharmony_ci 4398c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 4408c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 4418c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 4428c2ecf20Sopenharmony_ci out-ports { 4438c2ecf20Sopenharmony_ci port { 4448c2ecf20Sopenharmony_ci cluster1_etm1_out_port: endpoint { 4458c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_funnel_in_port1>; 4468c2ecf20Sopenharmony_ci }; 4478c2ecf20Sopenharmony_ci }; 4488c2ecf20Sopenharmony_ci }; 4498c2ecf20Sopenharmony_ci }; 4508c2ecf20Sopenharmony_ci 4518c2ecf20Sopenharmony_ci cpu_debug4: cpu-debug@23210000 { 4528c2ecf20Sopenharmony_ci compatible = "arm,coresight-cpu-debug", "arm,primecell"; 4538c2ecf20Sopenharmony_ci reg = <0x0 0x23210000 0x0 0x1000>; 4548c2ecf20Sopenharmony_ci 4558c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 4568c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 4578c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 4588c2ecf20Sopenharmony_ci }; 4598c2ecf20Sopenharmony_ci 4608c2ecf20Sopenharmony_ci etm4: etm@23240000 { 4618c2ecf20Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 4628c2ecf20Sopenharmony_ci reg = <0 0x23240000 0 0x1000>; 4638c2ecf20Sopenharmony_ci 4648c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 4658c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 4668c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 4678c2ecf20Sopenharmony_ci out-ports { 4688c2ecf20Sopenharmony_ci port { 4698c2ecf20Sopenharmony_ci cluster1_etm2_out_port: endpoint { 4708c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_funnel_in_port2>; 4718c2ecf20Sopenharmony_ci }; 4728c2ecf20Sopenharmony_ci }; 4738c2ecf20Sopenharmony_ci }; 4748c2ecf20Sopenharmony_ci }; 4758c2ecf20Sopenharmony_ci 4768c2ecf20Sopenharmony_ci cpu_debug5: cpu-debug@23310000 { 4778c2ecf20Sopenharmony_ci compatible = "arm,coresight-cpu-debug", "arm,primecell"; 4788c2ecf20Sopenharmony_ci reg = <0x0 0x23310000 0x0 0x1000>; 4798c2ecf20Sopenharmony_ci 4808c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 4818c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 4828c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 4838c2ecf20Sopenharmony_ci }; 4848c2ecf20Sopenharmony_ci 4858c2ecf20Sopenharmony_ci etm5: etm@23340000 { 4868c2ecf20Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 4878c2ecf20Sopenharmony_ci reg = <0 0x23340000 0 0x1000>; 4888c2ecf20Sopenharmony_ci 4898c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 4908c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 4918c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 0>; 4928c2ecf20Sopenharmony_ci out-ports { 4938c2ecf20Sopenharmony_ci port { 4948c2ecf20Sopenharmony_ci cluster1_etm3_out_port: endpoint { 4958c2ecf20Sopenharmony_ci remote-endpoint = <&cluster1_funnel_in_port3>; 4968c2ecf20Sopenharmony_ci }; 4978c2ecf20Sopenharmony_ci }; 4988c2ecf20Sopenharmony_ci }; 4998c2ecf20Sopenharmony_ci }; 5008c2ecf20Sopenharmony_ci 5018c2ecf20Sopenharmony_ci gpu: gpu@2d000000 { 5028c2ecf20Sopenharmony_ci compatible = "arm,juno-mali", "arm,mali-t624"; 5038c2ecf20Sopenharmony_ci reg = <0 0x2d000000 0 0x10000>; 5048c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 5058c2ecf20Sopenharmony_ci <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 5068c2ecf20Sopenharmony_ci <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 5078c2ecf20Sopenharmony_ci interrupt-names = "job", "mmu", "gpu"; 5088c2ecf20Sopenharmony_ci clocks = <&scpi_dvfs 2>; 5098c2ecf20Sopenharmony_ci power-domains = <&scpi_devpd 1>; 5108c2ecf20Sopenharmony_ci dma-coherent; 5118c2ecf20Sopenharmony_ci /* The SMMU is only really of interest to bare-metal hypervisors */ 5128c2ecf20Sopenharmony_ci /* iommus = <&smmu_gpu 0>; */ 5138c2ecf20Sopenharmony_ci status = "disabled"; 5148c2ecf20Sopenharmony_ci }; 5158c2ecf20Sopenharmony_ci 5168c2ecf20Sopenharmony_ci sram: sram@2e000000 { 5178c2ecf20Sopenharmony_ci compatible = "arm,juno-sram-ns", "mmio-sram"; 5188c2ecf20Sopenharmony_ci reg = <0x0 0x2e000000 0x0 0x8000>; 5198c2ecf20Sopenharmony_ci 5208c2ecf20Sopenharmony_ci #address-cells = <1>; 5218c2ecf20Sopenharmony_ci #size-cells = <1>; 5228c2ecf20Sopenharmony_ci ranges = <0 0x0 0x2e000000 0x8000>; 5238c2ecf20Sopenharmony_ci 5248c2ecf20Sopenharmony_ci cpu_scp_lpri: scp-sram@0 { 5258c2ecf20Sopenharmony_ci compatible = "arm,juno-scp-shmem"; 5268c2ecf20Sopenharmony_ci reg = <0x0 0x200>; 5278c2ecf20Sopenharmony_ci }; 5288c2ecf20Sopenharmony_ci 5298c2ecf20Sopenharmony_ci cpu_scp_hpri: scp-sram@200 { 5308c2ecf20Sopenharmony_ci compatible = "arm,juno-scp-shmem"; 5318c2ecf20Sopenharmony_ci reg = <0x200 0x200>; 5328c2ecf20Sopenharmony_ci }; 5338c2ecf20Sopenharmony_ci }; 5348c2ecf20Sopenharmony_ci 5358c2ecf20Sopenharmony_ci pcie_ctlr: pcie@40000000 { 5368c2ecf20Sopenharmony_ci compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic"; 5378c2ecf20Sopenharmony_ci device_type = "pci"; 5388c2ecf20Sopenharmony_ci reg = <0 0x40000000 0 0x10000000>; /* ECAM config space */ 5398c2ecf20Sopenharmony_ci bus-range = <0 255>; 5408c2ecf20Sopenharmony_ci linux,pci-domain = <0>; 5418c2ecf20Sopenharmony_ci #address-cells = <3>; 5428c2ecf20Sopenharmony_ci #size-cells = <2>; 5438c2ecf20Sopenharmony_ci dma-coherent; 5448c2ecf20Sopenharmony_ci ranges = <0x01000000 0x00 0x00000000 0x00 0x5f800000 0x0 0x00800000>, 5458c2ecf20Sopenharmony_ci <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>, 5468c2ecf20Sopenharmony_ci <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>; 5478c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 5488c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 5498c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 1 &gic 0 GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 5508c2ecf20Sopenharmony_ci <0 0 0 2 &gic 0 GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 5518c2ecf20Sopenharmony_ci <0 0 0 3 &gic 0 GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 5528c2ecf20Sopenharmony_ci <0 0 0 4 &gic 0 GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 5538c2ecf20Sopenharmony_ci msi-parent = <&v2m_0>; 5548c2ecf20Sopenharmony_ci status = "disabled"; 5558c2ecf20Sopenharmony_ci iommu-map-mask = <0x0>; /* RC has no means to output PCI RID */ 5568c2ecf20Sopenharmony_ci iommu-map = <0x0 &smmu_pcie 0x0 0x1>; 5578c2ecf20Sopenharmony_ci }; 5588c2ecf20Sopenharmony_ci 5598c2ecf20Sopenharmony_ci scpi { 5608c2ecf20Sopenharmony_ci compatible = "arm,scpi"; 5618c2ecf20Sopenharmony_ci mboxes = <&mailbox 1>; 5628c2ecf20Sopenharmony_ci shmem = <&cpu_scp_hpri>; 5638c2ecf20Sopenharmony_ci 5648c2ecf20Sopenharmony_ci clocks { 5658c2ecf20Sopenharmony_ci compatible = "arm,scpi-clocks"; 5668c2ecf20Sopenharmony_ci 5678c2ecf20Sopenharmony_ci scpi_dvfs: clocks-0 { 5688c2ecf20Sopenharmony_ci compatible = "arm,scpi-dvfs-clocks"; 5698c2ecf20Sopenharmony_ci #clock-cells = <1>; 5708c2ecf20Sopenharmony_ci clock-indices = <0>, <1>, <2>; 5718c2ecf20Sopenharmony_ci clock-output-names = "atlclk", "aplclk","gpuclk"; 5728c2ecf20Sopenharmony_ci }; 5738c2ecf20Sopenharmony_ci scpi_clk: clocks-1 { 5748c2ecf20Sopenharmony_ci compatible = "arm,scpi-variable-clocks"; 5758c2ecf20Sopenharmony_ci #clock-cells = <1>; 5768c2ecf20Sopenharmony_ci clock-indices = <3>; 5778c2ecf20Sopenharmony_ci clock-output-names = "pxlclk"; 5788c2ecf20Sopenharmony_ci }; 5798c2ecf20Sopenharmony_ci }; 5808c2ecf20Sopenharmony_ci 5818c2ecf20Sopenharmony_ci scpi_devpd: power-controller { 5828c2ecf20Sopenharmony_ci compatible = "arm,scpi-power-domains"; 5838c2ecf20Sopenharmony_ci num-domains = <2>; 5848c2ecf20Sopenharmony_ci #power-domain-cells = <1>; 5858c2ecf20Sopenharmony_ci }; 5868c2ecf20Sopenharmony_ci 5878c2ecf20Sopenharmony_ci scpi_sensors0: sensors { 5888c2ecf20Sopenharmony_ci compatible = "arm,scpi-sensors"; 5898c2ecf20Sopenharmony_ci #thermal-sensor-cells = <1>; 5908c2ecf20Sopenharmony_ci }; 5918c2ecf20Sopenharmony_ci }; 5928c2ecf20Sopenharmony_ci 5938c2ecf20Sopenharmony_ci thermal-zones { 5948c2ecf20Sopenharmony_ci pmic { 5958c2ecf20Sopenharmony_ci polling-delay = <1000>; 5968c2ecf20Sopenharmony_ci polling-delay-passive = <100>; 5978c2ecf20Sopenharmony_ci thermal-sensors = <&scpi_sensors0 0>; 5988c2ecf20Sopenharmony_ci trips { 5998c2ecf20Sopenharmony_ci pmic_crit0: trip0 { 6008c2ecf20Sopenharmony_ci temperature = <90000>; 6018c2ecf20Sopenharmony_ci hysteresis = <2000>; 6028c2ecf20Sopenharmony_ci type = "critical"; 6038c2ecf20Sopenharmony_ci }; 6048c2ecf20Sopenharmony_ci }; 6058c2ecf20Sopenharmony_ci }; 6068c2ecf20Sopenharmony_ci 6078c2ecf20Sopenharmony_ci soc { 6088c2ecf20Sopenharmony_ci polling-delay = <1000>; 6098c2ecf20Sopenharmony_ci polling-delay-passive = <100>; 6108c2ecf20Sopenharmony_ci thermal-sensors = <&scpi_sensors0 3>; 6118c2ecf20Sopenharmony_ci trips { 6128c2ecf20Sopenharmony_ci soc_crit0: trip0 { 6138c2ecf20Sopenharmony_ci temperature = <80000>; 6148c2ecf20Sopenharmony_ci hysteresis = <2000>; 6158c2ecf20Sopenharmony_ci type = "critical"; 6168c2ecf20Sopenharmony_ci }; 6178c2ecf20Sopenharmony_ci }; 6188c2ecf20Sopenharmony_ci }; 6198c2ecf20Sopenharmony_ci 6208c2ecf20Sopenharmony_ci big_cluster_thermal_zone: big-cluster { 6218c2ecf20Sopenharmony_ci polling-delay = <1000>; 6228c2ecf20Sopenharmony_ci polling-delay-passive = <100>; 6238c2ecf20Sopenharmony_ci thermal-sensors = <&scpi_sensors0 21>; 6248c2ecf20Sopenharmony_ci status = "disabled"; 6258c2ecf20Sopenharmony_ci }; 6268c2ecf20Sopenharmony_ci 6278c2ecf20Sopenharmony_ci little_cluster_thermal_zone: little-cluster { 6288c2ecf20Sopenharmony_ci polling-delay = <1000>; 6298c2ecf20Sopenharmony_ci polling-delay-passive = <100>; 6308c2ecf20Sopenharmony_ci thermal-sensors = <&scpi_sensors0 22>; 6318c2ecf20Sopenharmony_ci status = "disabled"; 6328c2ecf20Sopenharmony_ci }; 6338c2ecf20Sopenharmony_ci 6348c2ecf20Sopenharmony_ci gpu0_thermal_zone: gpu0 { 6358c2ecf20Sopenharmony_ci polling-delay = <1000>; 6368c2ecf20Sopenharmony_ci polling-delay-passive = <100>; 6378c2ecf20Sopenharmony_ci thermal-sensors = <&scpi_sensors0 23>; 6388c2ecf20Sopenharmony_ci status = "disabled"; 6398c2ecf20Sopenharmony_ci }; 6408c2ecf20Sopenharmony_ci 6418c2ecf20Sopenharmony_ci gpu1_thermal_zone: gpu1 { 6428c2ecf20Sopenharmony_ci polling-delay = <1000>; 6438c2ecf20Sopenharmony_ci polling-delay-passive = <100>; 6448c2ecf20Sopenharmony_ci thermal-sensors = <&scpi_sensors0 24>; 6458c2ecf20Sopenharmony_ci status = "disabled"; 6468c2ecf20Sopenharmony_ci }; 6478c2ecf20Sopenharmony_ci }; 6488c2ecf20Sopenharmony_ci 6498c2ecf20Sopenharmony_ci smmu_dma: iommu@7fb00000 { 6508c2ecf20Sopenharmony_ci compatible = "arm,mmu-401", "arm,smmu-v1"; 6518c2ecf20Sopenharmony_ci reg = <0x0 0x7fb00000 0x0 0x10000>; 6528c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 6538c2ecf20Sopenharmony_ci <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 6548c2ecf20Sopenharmony_ci #iommu-cells = <1>; 6558c2ecf20Sopenharmony_ci #global-interrupts = <1>; 6568c2ecf20Sopenharmony_ci dma-coherent; 6578c2ecf20Sopenharmony_ci status = "disabled"; 6588c2ecf20Sopenharmony_ci }; 6598c2ecf20Sopenharmony_ci 6608c2ecf20Sopenharmony_ci smmu_hdlcd1: iommu@7fb10000 { 6618c2ecf20Sopenharmony_ci compatible = "arm,mmu-401", "arm,smmu-v1"; 6628c2ecf20Sopenharmony_ci reg = <0x0 0x7fb10000 0x0 0x10000>; 6638c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 6648c2ecf20Sopenharmony_ci <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 6658c2ecf20Sopenharmony_ci #iommu-cells = <1>; 6668c2ecf20Sopenharmony_ci #global-interrupts = <1>; 6678c2ecf20Sopenharmony_ci }; 6688c2ecf20Sopenharmony_ci 6698c2ecf20Sopenharmony_ci smmu_hdlcd0: iommu@7fb20000 { 6708c2ecf20Sopenharmony_ci compatible = "arm,mmu-401", "arm,smmu-v1"; 6718c2ecf20Sopenharmony_ci reg = <0x0 0x7fb20000 0x0 0x10000>; 6728c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 6738c2ecf20Sopenharmony_ci <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 6748c2ecf20Sopenharmony_ci #iommu-cells = <1>; 6758c2ecf20Sopenharmony_ci #global-interrupts = <1>; 6768c2ecf20Sopenharmony_ci }; 6778c2ecf20Sopenharmony_ci 6788c2ecf20Sopenharmony_ci smmu_usb: iommu@7fb30000 { 6798c2ecf20Sopenharmony_ci compatible = "arm,mmu-401", "arm,smmu-v1"; 6808c2ecf20Sopenharmony_ci reg = <0x0 0x7fb30000 0x0 0x10000>; 6818c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 6828c2ecf20Sopenharmony_ci <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 6838c2ecf20Sopenharmony_ci #iommu-cells = <1>; 6848c2ecf20Sopenharmony_ci #global-interrupts = <1>; 6858c2ecf20Sopenharmony_ci dma-coherent; 6868c2ecf20Sopenharmony_ci }; 6878c2ecf20Sopenharmony_ci 6888c2ecf20Sopenharmony_ci dma@7ff00000 { 6898c2ecf20Sopenharmony_ci compatible = "arm,pl330", "arm,primecell"; 6908c2ecf20Sopenharmony_ci reg = <0x0 0x7ff00000 0 0x1000>; 6918c2ecf20Sopenharmony_ci #dma-cells = <1>; 6928c2ecf20Sopenharmony_ci #dma-channels = <8>; 6938c2ecf20Sopenharmony_ci #dma-requests = <32>; 6948c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 6958c2ecf20Sopenharmony_ci <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 6968c2ecf20Sopenharmony_ci <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 6978c2ecf20Sopenharmony_ci <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 6988c2ecf20Sopenharmony_ci <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, 6998c2ecf20Sopenharmony_ci <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 7008c2ecf20Sopenharmony_ci <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 7018c2ecf20Sopenharmony_ci <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 7028c2ecf20Sopenharmony_ci <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 7038c2ecf20Sopenharmony_ci iommus = <&smmu_dma 0>, 7048c2ecf20Sopenharmony_ci <&smmu_dma 1>, 7058c2ecf20Sopenharmony_ci <&smmu_dma 2>, 7068c2ecf20Sopenharmony_ci <&smmu_dma 3>, 7078c2ecf20Sopenharmony_ci <&smmu_dma 4>, 7088c2ecf20Sopenharmony_ci <&smmu_dma 5>, 7098c2ecf20Sopenharmony_ci <&smmu_dma 6>, 7108c2ecf20Sopenharmony_ci <&smmu_dma 7>, 7118c2ecf20Sopenharmony_ci <&smmu_dma 8>; 7128c2ecf20Sopenharmony_ci clocks = <&soc_faxiclk>; 7138c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 7148c2ecf20Sopenharmony_ci }; 7158c2ecf20Sopenharmony_ci 7168c2ecf20Sopenharmony_ci hdlcd@7ff50000 { 7178c2ecf20Sopenharmony_ci compatible = "arm,hdlcd"; 7188c2ecf20Sopenharmony_ci reg = <0 0x7ff50000 0 0x1000>; 7198c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 7208c2ecf20Sopenharmony_ci iommus = <&smmu_hdlcd1 0>; 7218c2ecf20Sopenharmony_ci clocks = <&scpi_clk 3>; 7228c2ecf20Sopenharmony_ci clock-names = "pxlclk"; 7238c2ecf20Sopenharmony_ci 7248c2ecf20Sopenharmony_ci port { 7258c2ecf20Sopenharmony_ci hdlcd1_output: endpoint { 7268c2ecf20Sopenharmony_ci remote-endpoint = <&tda998x_1_input>; 7278c2ecf20Sopenharmony_ci }; 7288c2ecf20Sopenharmony_ci }; 7298c2ecf20Sopenharmony_ci }; 7308c2ecf20Sopenharmony_ci 7318c2ecf20Sopenharmony_ci hdlcd@7ff60000 { 7328c2ecf20Sopenharmony_ci compatible = "arm,hdlcd"; 7338c2ecf20Sopenharmony_ci reg = <0 0x7ff60000 0 0x1000>; 7348c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 7358c2ecf20Sopenharmony_ci iommus = <&smmu_hdlcd0 0>; 7368c2ecf20Sopenharmony_ci clocks = <&scpi_clk 3>; 7378c2ecf20Sopenharmony_ci clock-names = "pxlclk"; 7388c2ecf20Sopenharmony_ci 7398c2ecf20Sopenharmony_ci port { 7408c2ecf20Sopenharmony_ci hdlcd0_output: endpoint { 7418c2ecf20Sopenharmony_ci remote-endpoint = <&tda998x_0_input>; 7428c2ecf20Sopenharmony_ci }; 7438c2ecf20Sopenharmony_ci }; 7448c2ecf20Sopenharmony_ci }; 7458c2ecf20Sopenharmony_ci 7468c2ecf20Sopenharmony_ci soc_uart0: serial@7ff80000 { 7478c2ecf20Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 7488c2ecf20Sopenharmony_ci reg = <0x0 0x7ff80000 0x0 0x1000>; 7498c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 7508c2ecf20Sopenharmony_ci clocks = <&soc_uartclk>, <&soc_refclk100mhz>; 7518c2ecf20Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 7528c2ecf20Sopenharmony_ci }; 7538c2ecf20Sopenharmony_ci 7548c2ecf20Sopenharmony_ci i2c@7ffa0000 { 7558c2ecf20Sopenharmony_ci compatible = "snps,designware-i2c"; 7568c2ecf20Sopenharmony_ci reg = <0x0 0x7ffa0000 0x0 0x1000>; 7578c2ecf20Sopenharmony_ci #address-cells = <1>; 7588c2ecf20Sopenharmony_ci #size-cells = <0>; 7598c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 7608c2ecf20Sopenharmony_ci clock-frequency = <400000>; 7618c2ecf20Sopenharmony_ci i2c-sda-hold-time-ns = <500>; 7628c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 7638c2ecf20Sopenharmony_ci 7648c2ecf20Sopenharmony_ci hdmi-transmitter@70 { 7658c2ecf20Sopenharmony_ci compatible = "nxp,tda998x"; 7668c2ecf20Sopenharmony_ci reg = <0x70>; 7678c2ecf20Sopenharmony_ci port { 7688c2ecf20Sopenharmony_ci tda998x_0_input: endpoint { 7698c2ecf20Sopenharmony_ci remote-endpoint = <&hdlcd0_output>; 7708c2ecf20Sopenharmony_ci }; 7718c2ecf20Sopenharmony_ci }; 7728c2ecf20Sopenharmony_ci }; 7738c2ecf20Sopenharmony_ci 7748c2ecf20Sopenharmony_ci hdmi-transmitter@71 { 7758c2ecf20Sopenharmony_ci compatible = "nxp,tda998x"; 7768c2ecf20Sopenharmony_ci reg = <0x71>; 7778c2ecf20Sopenharmony_ci port { 7788c2ecf20Sopenharmony_ci tda998x_1_input: endpoint { 7798c2ecf20Sopenharmony_ci remote-endpoint = <&hdlcd1_output>; 7808c2ecf20Sopenharmony_ci }; 7818c2ecf20Sopenharmony_ci }; 7828c2ecf20Sopenharmony_ci }; 7838c2ecf20Sopenharmony_ci }; 7848c2ecf20Sopenharmony_ci 7858c2ecf20Sopenharmony_ci usb@7ffb0000 { 7868c2ecf20Sopenharmony_ci compatible = "generic-ohci"; 7878c2ecf20Sopenharmony_ci reg = <0x0 0x7ffb0000 0x0 0x10000>; 7888c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 7898c2ecf20Sopenharmony_ci iommus = <&smmu_usb 0>; 7908c2ecf20Sopenharmony_ci clocks = <&soc_usb48mhz>; 7918c2ecf20Sopenharmony_ci }; 7928c2ecf20Sopenharmony_ci 7938c2ecf20Sopenharmony_ci usb@7ffc0000 { 7948c2ecf20Sopenharmony_ci compatible = "generic-ehci"; 7958c2ecf20Sopenharmony_ci reg = <0x0 0x7ffc0000 0x0 0x10000>; 7968c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 7978c2ecf20Sopenharmony_ci iommus = <&smmu_usb 0>; 7988c2ecf20Sopenharmony_ci clocks = <&soc_usb48mhz>; 7998c2ecf20Sopenharmony_ci }; 8008c2ecf20Sopenharmony_ci 8018c2ecf20Sopenharmony_ci memory-controller@7ffd0000 { 8028c2ecf20Sopenharmony_ci compatible = "arm,pl354", "arm,primecell"; 8038c2ecf20Sopenharmony_ci reg = <0 0x7ffd0000 0 0x1000>; 8048c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 8058c2ecf20Sopenharmony_ci <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 8068c2ecf20Sopenharmony_ci clocks = <&soc_smc50mhz>; 8078c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 8088c2ecf20Sopenharmony_ci }; 8098c2ecf20Sopenharmony_ci 8108c2ecf20Sopenharmony_ci memory@80000000 { 8118c2ecf20Sopenharmony_ci device_type = "memory"; 8128c2ecf20Sopenharmony_ci /* last 16MB of the first memory area is reserved for secure world use by firmware */ 8138c2ecf20Sopenharmony_ci reg = <0x00000000 0x80000000 0x0 0x7f000000>, 8148c2ecf20Sopenharmony_ci <0x00000008 0x80000000 0x1 0x80000000>; 8158c2ecf20Sopenharmony_ci }; 8168c2ecf20Sopenharmony_ci 8178c2ecf20Sopenharmony_ci bus@8000000 { 8188c2ecf20Sopenharmony_ci compatible = "simple-bus"; 8198c2ecf20Sopenharmony_ci #address-cells = <2>; 8208c2ecf20Sopenharmony_ci #size-cells = <1>; 8218c2ecf20Sopenharmony_ci ranges = <0 0 0 0x08000000 0x04000000>, 8228c2ecf20Sopenharmony_ci <1 0 0 0x14000000 0x04000000>, 8238c2ecf20Sopenharmony_ci <2 0 0 0x18000000 0x04000000>, 8248c2ecf20Sopenharmony_ci <3 0 0 0x1c000000 0x04000000>, 8258c2ecf20Sopenharmony_ci <4 0 0 0x0c000000 0x04000000>, 8268c2ecf20Sopenharmony_ci <5 0 0 0x10000000 0x04000000>; 8278c2ecf20Sopenharmony_ci 8288c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 8298c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 15>; 8308c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 &gic 0 GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 8318c2ecf20Sopenharmony_ci <0 0 1 &gic 0 GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 8328c2ecf20Sopenharmony_ci <0 0 2 &gic 0 GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 8338c2ecf20Sopenharmony_ci <0 0 3 &gic 0 GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 8348c2ecf20Sopenharmony_ci <0 0 4 &gic 0 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 8358c2ecf20Sopenharmony_ci <0 0 5 &gic 0 GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 8368c2ecf20Sopenharmony_ci <0 0 6 &gic 0 GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 8378c2ecf20Sopenharmony_ci <0 0 7 &gic 0 GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 8388c2ecf20Sopenharmony_ci <0 0 8 &gic 0 GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 8398c2ecf20Sopenharmony_ci <0 0 9 &gic 0 GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>, 8408c2ecf20Sopenharmony_ci <0 0 10 &gic 0 GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>, 8418c2ecf20Sopenharmony_ci <0 0 11 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, 8428c2ecf20Sopenharmony_ci <0 0 12 &gic 0 GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 8438c2ecf20Sopenharmony_ci }; 8448c2ecf20Sopenharmony_ci 8458c2ecf20Sopenharmony_ci site2: tlx-bus@60000000 { 8468c2ecf20Sopenharmony_ci compatible = "simple-bus"; 8478c2ecf20Sopenharmony_ci #address-cells = <1>; 8488c2ecf20Sopenharmony_ci #size-cells = <1>; 8498c2ecf20Sopenharmony_ci ranges = <0 0 0x60000000 0x10000000>; 8508c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 8518c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0>; 8528c2ecf20Sopenharmony_ci interrupt-map = <0 0 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 8538c2ecf20Sopenharmony_ci }; 8548c2ecf20Sopenharmony_ci}; 855