18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2017 Andreas Färber 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include <dt-bindings/clock/actions,s700-cmu.h> 78c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 88c2ecf20Sopenharmony_ci#include <dt-bindings/power/owl-s700-powergate.h> 98c2ecf20Sopenharmony_ci#include <dt-bindings/reset/actions,s700-reset.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/ { 128c2ecf20Sopenharmony_ci compatible = "actions,s700"; 138c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 148c2ecf20Sopenharmony_ci #address-cells = <2>; 158c2ecf20Sopenharmony_ci #size-cells = <2>; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci cpus { 188c2ecf20Sopenharmony_ci #address-cells = <2>; 198c2ecf20Sopenharmony_ci #size-cells = <0>; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci cpu0: cpu@0 { 228c2ecf20Sopenharmony_ci device_type = "cpu"; 238c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 248c2ecf20Sopenharmony_ci reg = <0x0 0x0>; 258c2ecf20Sopenharmony_ci enable-method = "psci"; 268c2ecf20Sopenharmony_ci }; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci cpu1: cpu@1 { 298c2ecf20Sopenharmony_ci device_type = "cpu"; 308c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 318c2ecf20Sopenharmony_ci reg = <0x0 0x1>; 328c2ecf20Sopenharmony_ci enable-method = "psci"; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci cpu2: cpu@2 { 368c2ecf20Sopenharmony_ci device_type = "cpu"; 378c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 388c2ecf20Sopenharmony_ci reg = <0x0 0x2>; 398c2ecf20Sopenharmony_ci enable-method = "psci"; 408c2ecf20Sopenharmony_ci }; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci cpu3: cpu@3 { 438c2ecf20Sopenharmony_ci device_type = "cpu"; 448c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 458c2ecf20Sopenharmony_ci reg = <0x0 0x3>; 468c2ecf20Sopenharmony_ci enable-method = "psci"; 478c2ecf20Sopenharmony_ci }; 488c2ecf20Sopenharmony_ci }; 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci reserved-memory { 518c2ecf20Sopenharmony_ci #address-cells = <2>; 528c2ecf20Sopenharmony_ci #size-cells = <2>; 538c2ecf20Sopenharmony_ci ranges; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci secmon@1f000000 { 568c2ecf20Sopenharmony_ci reg = <0x0 0x1f000000 0x0 0x1000000>; 578c2ecf20Sopenharmony_ci no-map; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci }; 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci psci { 628c2ecf20Sopenharmony_ci compatible = "arm,psci-0.2"; 638c2ecf20Sopenharmony_ci method = "smc"; 648c2ecf20Sopenharmony_ci }; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci arm-pmu { 678c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 688c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 698c2ecf20Sopenharmony_ci <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 708c2ecf20Sopenharmony_ci <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 718c2ecf20Sopenharmony_ci <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 728c2ecf20Sopenharmony_ci interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 738c2ecf20Sopenharmony_ci }; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci timer { 768c2ecf20Sopenharmony_ci compatible = "arm,armv8-timer"; 778c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 13 788c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 798c2ecf20Sopenharmony_ci <GIC_PPI 14 808c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 818c2ecf20Sopenharmony_ci <GIC_PPI 11 828c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 838c2ecf20Sopenharmony_ci <GIC_PPI 10 848c2ecf20Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci hosc: hosc { 888c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 898c2ecf20Sopenharmony_ci clock-frequency = <24000000>; 908c2ecf20Sopenharmony_ci #clock-cells = <0>; 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci losc: losc { 948c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 958c2ecf20Sopenharmony_ci clock-frequency = <32768>; 968c2ecf20Sopenharmony_ci #clock-cells = <0>; 978c2ecf20Sopenharmony_ci }; 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci soc { 1008c2ecf20Sopenharmony_ci compatible = "simple-bus"; 1018c2ecf20Sopenharmony_ci #address-cells = <2>; 1028c2ecf20Sopenharmony_ci #size-cells = <2>; 1038c2ecf20Sopenharmony_ci ranges; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci gic: interrupt-controller@e00f1000 { 1068c2ecf20Sopenharmony_ci compatible = "arm,gic-400"; 1078c2ecf20Sopenharmony_ci reg = <0x0 0xe00f1000 0x0 0x1000>, 1088c2ecf20Sopenharmony_ci <0x0 0xe00f2000 0x0 0x2000>, 1098c2ecf20Sopenharmony_ci <0x0 0xe00f4000 0x0 0x2000>, 1108c2ecf20Sopenharmony_ci <0x0 0xe00f6000 0x0 0x2000>; 1118c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1128c2ecf20Sopenharmony_ci interrupt-controller; 1138c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 1148c2ecf20Sopenharmony_ci }; 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ci uart0: serial@e0120000 { 1178c2ecf20Sopenharmony_ci compatible = "actions,s900-uart", "actions,owl-uart"; 1188c2ecf20Sopenharmony_ci reg = <0x0 0xe0120000 0x0 0x2000>; 1198c2ecf20Sopenharmony_ci clocks = <&cmu CLK_UART0>; 1208c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1218c2ecf20Sopenharmony_ci status = "disabled"; 1228c2ecf20Sopenharmony_ci }; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci uart1: serial@e0122000 { 1258c2ecf20Sopenharmony_ci compatible = "actions,s900-uart", "actions,owl-uart"; 1268c2ecf20Sopenharmony_ci reg = <0x0 0xe0122000 0x0 0x2000>; 1278c2ecf20Sopenharmony_ci clocks = <&cmu CLK_UART1>; 1288c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 1298c2ecf20Sopenharmony_ci status = "disabled"; 1308c2ecf20Sopenharmony_ci }; 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci uart2: serial@e0124000 { 1338c2ecf20Sopenharmony_ci compatible = "actions,s900-uart", "actions,owl-uart"; 1348c2ecf20Sopenharmony_ci reg = <0x0 0xe0124000 0x0 0x2000>; 1358c2ecf20Sopenharmony_ci clocks = <&cmu CLK_UART2>; 1368c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1378c2ecf20Sopenharmony_ci status = "disabled"; 1388c2ecf20Sopenharmony_ci }; 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci uart3: serial@e0126000 { 1418c2ecf20Sopenharmony_ci compatible = "actions,s900-uart", "actions,owl-uart"; 1428c2ecf20Sopenharmony_ci reg = <0x0 0xe0126000 0x0 0x2000>; 1438c2ecf20Sopenharmony_ci clocks = <&cmu CLK_UART3>; 1448c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 1458c2ecf20Sopenharmony_ci status = "disabled"; 1468c2ecf20Sopenharmony_ci }; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci uart4: serial@e0128000 { 1498c2ecf20Sopenharmony_ci compatible = "actions,s900-uart", "actions,owl-uart"; 1508c2ecf20Sopenharmony_ci reg = <0x0 0xe0128000 0x0 0x2000>; 1518c2ecf20Sopenharmony_ci clocks = <&cmu CLK_UART4>; 1528c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1538c2ecf20Sopenharmony_ci status = "disabled"; 1548c2ecf20Sopenharmony_ci }; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci uart5: serial@e012a000 { 1578c2ecf20Sopenharmony_ci compatible = "actions,s900-uart", "actions,owl-uart"; 1588c2ecf20Sopenharmony_ci reg = <0x0 0xe012a000 0x0 0x2000>; 1598c2ecf20Sopenharmony_ci clocks = <&cmu CLK_UART5>; 1608c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 1618c2ecf20Sopenharmony_ci status = "disabled"; 1628c2ecf20Sopenharmony_ci }; 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci uart6: serial@e012c000 { 1658c2ecf20Sopenharmony_ci compatible = "actions,s900-uart", "actions,owl-uart"; 1668c2ecf20Sopenharmony_ci reg = <0x0 0xe012c000 0x0 0x2000>; 1678c2ecf20Sopenharmony_ci clocks = <&cmu CLK_UART6>; 1688c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 1698c2ecf20Sopenharmony_ci status = "disabled"; 1708c2ecf20Sopenharmony_ci }; 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci cmu: clock-controller@e0168000 { 1738c2ecf20Sopenharmony_ci compatible = "actions,s700-cmu"; 1748c2ecf20Sopenharmony_ci reg = <0x0 0xe0168000 0x0 0x1000>; 1758c2ecf20Sopenharmony_ci clocks = <&hosc>, <&losc>; 1768c2ecf20Sopenharmony_ci #clock-cells = <1>; 1778c2ecf20Sopenharmony_ci #reset-cells = <1>; 1788c2ecf20Sopenharmony_ci }; 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci i2c0: i2c@e0170000 { 1818c2ecf20Sopenharmony_ci compatible = "actions,s700-i2c"; 1828c2ecf20Sopenharmony_ci reg = <0 0xe0170000 0 0x1000>; 1838c2ecf20Sopenharmony_ci clocks = <&cmu CLK_I2C0>; 1848c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 1858c2ecf20Sopenharmony_ci #address-cells = <1>; 1868c2ecf20Sopenharmony_ci #size-cells = <0>; 1878c2ecf20Sopenharmony_ci status = "disabled"; 1888c2ecf20Sopenharmony_ci }; 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci i2c1: i2c@e0174000 { 1918c2ecf20Sopenharmony_ci compatible = "actions,s700-i2c"; 1928c2ecf20Sopenharmony_ci reg = <0 0xe0174000 0 0x1000>; 1938c2ecf20Sopenharmony_ci clocks = <&cmu CLK_I2C1>; 1948c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 1958c2ecf20Sopenharmony_ci #address-cells = <1>; 1968c2ecf20Sopenharmony_ci #size-cells = <0>; 1978c2ecf20Sopenharmony_ci status = "disabled"; 1988c2ecf20Sopenharmony_ci }; 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci i2c2: i2c@e0178000 { 2018c2ecf20Sopenharmony_ci compatible = "actions,s700-i2c"; 2028c2ecf20Sopenharmony_ci reg = <0 0xe0178000 0 0x1000>; 2038c2ecf20Sopenharmony_ci clocks = <&cmu CLK_I2C2>; 2048c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 2058c2ecf20Sopenharmony_ci #address-cells = <1>; 2068c2ecf20Sopenharmony_ci #size-cells = <0>; 2078c2ecf20Sopenharmony_ci status = "disabled"; 2088c2ecf20Sopenharmony_ci }; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci i2c3: i2c@e017c000 { 2118c2ecf20Sopenharmony_ci compatible = "actions,s700-i2c"; 2128c2ecf20Sopenharmony_ci reg = <0 0xe017c000 0 0x1000>; 2138c2ecf20Sopenharmony_ci clocks = <&cmu CLK_I2C3>; 2148c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 2158c2ecf20Sopenharmony_ci #address-cells = <1>; 2168c2ecf20Sopenharmony_ci #size-cells = <0>; 2178c2ecf20Sopenharmony_ci status = "disabled"; 2188c2ecf20Sopenharmony_ci }; 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ci sps: power-controller@e01b0100 { 2218c2ecf20Sopenharmony_ci compatible = "actions,s700-sps"; 2228c2ecf20Sopenharmony_ci reg = <0x0 0xe01b0100 0x0 0x100>; 2238c2ecf20Sopenharmony_ci #power-domain-cells = <1>; 2248c2ecf20Sopenharmony_ci }; 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ci timer: timer@e024c000 { 2278c2ecf20Sopenharmony_ci compatible = "actions,s700-timer"; 2288c2ecf20Sopenharmony_ci reg = <0x0 0xe024c000 0x0 0x4000>; 2298c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 2308c2ecf20Sopenharmony_ci interrupt-names = "timer1"; 2318c2ecf20Sopenharmony_ci }; 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ci pinctrl: pinctrl@e01b0000 { 2348c2ecf20Sopenharmony_ci compatible = "actions,s700-pinctrl"; 2358c2ecf20Sopenharmony_ci reg = <0x0 0xe01b0000 0x0 0x100>; 2368c2ecf20Sopenharmony_ci clocks = <&cmu CLK_GPIO>; 2378c2ecf20Sopenharmony_ci gpio-controller; 2388c2ecf20Sopenharmony_ci gpio-ranges = <&pinctrl 0 0 136>; 2398c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2408c2ecf20Sopenharmony_ci interrupt-controller; 2418c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2428c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 2438c2ecf20Sopenharmony_ci <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 2448c2ecf20Sopenharmony_ci <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 2458c2ecf20Sopenharmony_ci <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 2468c2ecf20Sopenharmony_ci <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 2478c2ecf20Sopenharmony_ci }; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci dma: dma-controller@e0230000 { 2508c2ecf20Sopenharmony_ci compatible = "actions,s700-dma"; 2518c2ecf20Sopenharmony_ci reg = <0x0 0xe0230000 0x0 0x1000>; 2528c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 2538c2ecf20Sopenharmony_ci <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 2548c2ecf20Sopenharmony_ci <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 2558c2ecf20Sopenharmony_ci <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 2568c2ecf20Sopenharmony_ci #dma-cells = <1>; 2578c2ecf20Sopenharmony_ci dma-channels = <10>; 2588c2ecf20Sopenharmony_ci dma-requests = <44>; 2598c2ecf20Sopenharmony_ci clocks = <&cmu CLK_DMAC>; 2608c2ecf20Sopenharmony_ci power-domains = <&sps S700_PD_DMA>; 2618c2ecf20Sopenharmony_ci }; 2628c2ecf20Sopenharmony_ci }; 2638c2ecf20Sopenharmony_ci}; 264