2 * ox820.dtsi - Device tree file for Oxford Semiconductor OX820 SoC
4 * Copyright (C) 2016 Neil Armstrong <narmstrong@baylibre.com>
6 * Licensed under GPLv2 or later
9 /include/ "skeleton.dtsi"
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/clock/oxsemi,ox820.h>
12 #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 /* Max 512MB @ 0x60000000 */
39 reg = <0x60000000 0x20000000>;
44 compatible = "fixed-clock";
46 clock-frequency = <25000000>;
50 compatible = "fixed-clock";
52 clock-frequency = <125000000>;
56 compatible = "fixed-factor-clock";
64 compatible = "fixed-clock";
66 clock-frequency = <850000000>;
70 compatible = "fixed-factor-clock";
81 compatible = "simple-bus";
83 interrupt-parent = <&gic>;
85 nandc: nand-controller@41000000 {
86 compatible = "oxsemi,ox820-nand";
87 reg = <0x41000000 0x100000>;
88 clocks = <&stdclk CLK_820_NAND>;
89 resets = <&reset RESET_NAND>;
95 etha: ethernet@40400000 {
96 compatible = "oxsemi,ox820-dwmac", "snps,dwmac";
97 reg = <0x40400000 0x2000>;
98 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
99 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
100 interrupt-names = "macirq", "eth_wake_irq";
101 mac-address = [000000000000]; /* Filled in by U-Boot */
104 clocks = <&stdclk CLK_820_ETHA>, <&gmacclk>;
105 clock-names = "gmac", "stmmaceth";
106 resets = <&reset RESET_MAC>;
108 /* Regmap for sys registers */
109 oxsemi,sys-ctrl = <&sys>;
114 apb-bridge@44000000 {
115 #address-cells = <1>;
117 compatible = "simple-bus";
118 ranges = <0 0x44000000 0x1000000>;
121 compatible = "oxsemi,ox820-pinctrl";
123 /* Regmap for sys registers */
124 oxsemi,sys-ctrl = <&sys>;
126 pinctrl_uart0: uart0 {
128 pins = "gpio30", "gpio31";
133 pinctrl_uart0_modem: uart0_modem {
135 pins = "gpio24", "gpio24", "gpio26", "gpio27";
139 pins = "gpio28", "gpio29";
144 pinctrl_uart1: uart1 {
146 pins = "gpio7", "gpio8";
151 pinctrl_uart1_modem: uart1_modem {
153 pins = "gpio5", "gpio6", "gpio40", "gpio41", "gpio42", "gpio43";
158 pinctrl_etha_mdio: etha_mdio {
160 pins = "gpio3", "gpio4";
167 pins = "gpio12", "gpio13", "gpio14", "gpio15",
168 "gpio16", "gpio17", "gpio18", "gpio19",
169 "gpio20", "gpio21", "gpio22", "gpio23",
177 compatible = "oxsemi,ox820-gpio";
178 reg = <0x000000 0x100000>;
179 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
182 interrupt-controller;
183 #interrupt-cells = <2>;
185 oxsemi,gpio-bank = <0>;
186 gpio-ranges = <&pinctrl 0 0 32>;
190 compatible = "oxsemi,ox820-gpio";
191 reg = <0x100000 0x100000>;
192 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
195 interrupt-controller;
196 #interrupt-cells = <2>;
198 oxsemi,gpio-bank = <1>;
199 gpio-ranges = <&pinctrl 0 32 18>;
202 uart0: serial@200000 {
203 compatible = "ns16550a";
204 reg = <0x200000 0x100000>;
205 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
209 current-speed = <115200>;
213 resets = <&reset RESET_UART1>;
216 uart1: serial@300000 {
217 compatible = "ns16550a";
218 reg = <0x200000 0x100000>;
219 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
223 current-speed = <115200>;
227 resets = <&reset RESET_UART2>;
231 #address-cells = <1>;
233 compatible = "simple-bus";
234 ranges = <0 0x400000 0x100000>;
236 intc: interrupt-controller@0 {
237 compatible = "oxsemi,ox820-rps-irq", "oxsemi,ox810se-rps-irq";
238 interrupt-controller;
240 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
241 #interrupt-cells = <1>;
242 valid-mask = <0xFFFFFFFF>;
247 compatible = "oxsemi,ox820-rps-timer";
250 interrupt-parent = <&intc>;
255 sys: sys-ctrl@e00000 {
256 compatible = "oxsemi,ox820-sys-ctrl", "syscon", "simple-mfd";
257 reg = <0xe00000 0x200000>;
259 reset: reset-controller {
260 compatible = "oxsemi,ox820-reset", "oxsemi,ox810se-reset";
265 compatible = "oxsemi,ox820-stdclk", "oxsemi,ox810se-stdclk";
271 apb-bridge@47000000 {
272 #address-cells = <1>;
274 compatible = "simple-bus";
275 ranges = <0 0x47000000 0x1000000>;
278 compatible = "arm,arm11mp-scu";
283 compatible = "arm,arm11mp-twd-timer";
285 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3)|IRQ_TYPE_LEVEL_HIGH)>;
290 compatible = "arm,arm11mp-gic";
291 interrupt-controller;
292 #interrupt-cells = <3>;
293 reg = <0x1000 0x1000>,