1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * ox820.dtsi - Device tree file for Oxford Semiconductor OX820 SoC
5 * Copyright (C) 2016 Neil Armstrong <narmstrong@baylibre.com>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/clock/oxsemi,ox820.h>
10 #include <dt-bindings/reset/oxsemi,ox820.h>
15 compatible = "oxsemi,ox820";
20 enable-method = "oxsemi,ox820-smp";
24 compatible = "arm,arm11mpcore";
31 compatible = "arm,arm11mpcore";
38 device_type = "memory";
39 /* Max 512MB @ 0x60000000 */
40 reg = <0x60000000 0x20000000>;
45 compatible = "fixed-clock";
47 clock-frequency = <25000000>;
51 compatible = "fixed-clock";
53 clock-frequency = <125000000>;
57 compatible = "fixed-factor-clock";
65 compatible = "fixed-clock";
67 clock-frequency = <850000000>;
71 compatible = "fixed-factor-clock";
82 compatible = "simple-bus";
84 interrupt-parent = <&gic>;
86 nandc: nand-controller@41000000 {
87 compatible = "oxsemi,ox820-nand";
88 reg = <0x41000000 0x100000>;
89 clocks = <&stdclk CLK_820_NAND>;
90 resets = <&reset RESET_NAND>;
96 etha: ethernet@40400000 {
97 compatible = "oxsemi,ox820-dwmac", "snps,dwmac";
98 reg = <0x40400000 0x2000>;
99 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
100 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
101 interrupt-names = "macirq", "eth_wake_irq";
102 mac-address = [000000000000]; /* Filled in by U-Boot */
105 clocks = <&stdclk CLK_820_ETHA>, <&gmacclk>;
106 clock-names = "gmac", "stmmaceth";
107 resets = <&reset RESET_MAC>;
109 /* Regmap for sys registers */
110 oxsemi,sys-ctrl = <&sys>;
115 apb-bridge@44000000 {
116 #address-cells = <1>;
118 compatible = "simple-bus";
119 ranges = <0 0x44000000 0x1000000>;
122 compatible = "oxsemi,ox820-pinctrl";
124 /* Regmap for sys registers */
125 oxsemi,sys-ctrl = <&sys>;
127 pinctrl_uart0: uart0 {
129 pins = "gpio30", "gpio31";
134 pinctrl_uart0_modem: uart0_modem {
136 pins = "gpio24", "gpio24", "gpio26", "gpio27";
140 pins = "gpio28", "gpio29";
145 pinctrl_uart1: uart1 {
147 pins = "gpio7", "gpio8";
152 pinctrl_uart1_modem: uart1_modem {
154 pins = "gpio5", "gpio6", "gpio40", "gpio41", "gpio42", "gpio43";
159 pinctrl_etha_mdio: etha_mdio {
161 pins = "gpio3", "gpio4";
168 pins = "gpio12", "gpio13", "gpio14", "gpio15",
169 "gpio16", "gpio17", "gpio18", "gpio19",
170 "gpio20", "gpio21", "gpio22", "gpio23",
178 compatible = "oxsemi,ox820-gpio";
179 reg = <0x000000 0x100000>;
180 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
183 interrupt-controller;
184 #interrupt-cells = <2>;
186 oxsemi,gpio-bank = <0>;
187 gpio-ranges = <&pinctrl 0 0 32>;
191 compatible = "oxsemi,ox820-gpio";
192 reg = <0x100000 0x100000>;
193 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
196 interrupt-controller;
197 #interrupt-cells = <2>;
199 oxsemi,gpio-bank = <1>;
200 gpio-ranges = <&pinctrl 0 32 18>;
203 uart0: serial@200000 {
204 compatible = "ns16550a";
205 reg = <0x200000 0x100000>;
206 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
210 current-speed = <115200>;
214 resets = <&reset RESET_UART1>;
217 uart1: serial@300000 {
218 compatible = "ns16550a";
219 reg = <0x200000 0x100000>;
220 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
224 current-speed = <115200>;
228 resets = <&reset RESET_UART2>;
232 #address-cells = <1>;
234 compatible = "simple-bus";
235 ranges = <0 0x400000 0x100000>;
237 intc: interrupt-controller@0 {
238 compatible = "oxsemi,ox820-rps-irq", "oxsemi,ox810se-rps-irq";
239 interrupt-controller;
241 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
242 #interrupt-cells = <1>;
243 valid-mask = <0xffffffff>;
244 clear-mask = <0xffffffff>;
248 compatible = "oxsemi,ox820-rps-timer";
251 interrupt-parent = <&intc>;
256 sys: sys-ctrl@e00000 {
257 compatible = "oxsemi,ox820-sys-ctrl", "syscon", "simple-mfd";
258 reg = <0xe00000 0x200000>;
260 reset: reset-controller {
261 compatible = "oxsemi,ox820-reset", "oxsemi,ox810se-reset";
266 compatible = "oxsemi,ox820-stdclk", "oxsemi,ox810se-stdclk";
272 apb-bridge@47000000 {
273 #address-cells = <1>;
275 compatible = "simple-bus";
276 ranges = <0 0x47000000 0x1000000>;
279 compatible = "arm,arm11mp-scu";
284 compatible = "arm,arm11mp-twd-timer";
286 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3)|IRQ_TYPE_LEVEL_HIGH)>;
291 compatible = "arm,arm11mp-gic";
292 interrupt-controller;
293 #interrupt-cells = <3>;
294 reg = <0x1000 0x1000>,