1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 * Device Tree file for the Turris Omnia
5 * Copyright (C) 2016 Uwe Kleine-König <uwe@kleine-koenig.org>
6 * Copyright (C) 2016 Tomas Hlavacek <tmshlvkc@gmail.com>
8 * Schematic available at https://www.turris.cz/doc/_media/rtrom01-schema.pdf
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/input/input.h>
15 #include "armada-385.dtsi"
18 model = "Turris Omnia";
19 compatible = "cznic,turris-omnia", "marvell,armada385", "marvell,armada380";
26 device_type = "memory";
27 reg = <0x00000000 0x40000000>; /* 1024 MB */
31 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
32 MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
33 MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
34 MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000>;
38 /* USB part of the PCIe2/USB 2.0 port */
48 pinctrl-names = "default";
49 pinctrl-0 = <&sdhci_pins>;
87 /* Connected to 88E6176 switch, port 6 */
89 pinctrl-names = "default";
90 pinctrl-0 = <&ge0_rgmii_pins>;
100 /* Connected to 88E6176 switch, port 5 */
102 pinctrl-names = "default";
103 pinctrl-0 = <&ge1_rgmii_pins>;
121 pinctrl-names = "default";
122 pinctrl-0 = <&i2c0_pins>;
126 compatible = "nxp,pca9547";
127 #address-cells = <1>;
133 #address-cells = <1>;
137 /* STM32F0 command interface at address 0x2a */
138 /* leds device (in STM32F0) at address 0x2b */
141 compatible = "atmel,24c64";
144 /* The EEPROM contains data for bootloader.
146 * struct omnia_eeprom {
147 * u32 magic; (=0x0341a034 in LE)
148 * u32 ramsize; (in GiB)
157 #address-cells = <1>;
161 /* routed to PCIe0/mSATA connector (CN7A) */
165 #address-cells = <1>;
169 /* routed to PCIe1/USB2 connector (CN61A) */
173 #address-cells = <1>;
177 /* routed to PCIe2 connector (CN62A) */
181 #address-cells = <1>;
189 #address-cells = <1>;
193 /* ATSHA204A at address 0x64 */
197 #address-cells = <1>;
201 /* exposed on pin header */
205 #address-cells = <1>;
211 * GPIO expander for SFP+ signals and
214 compatible = "nxp,pca9538";
217 pinctrl-names = "default";
218 pinctrl-0 = <&pcawan_pins>;
220 interrupt-parent = <&gpio1>;
221 interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
231 pinctrl-names = "default";
232 pinctrl-0 = <&mdio_pins>;
237 compatible = "ethernet-phy-id0141.0DD1", "ethernet-phy-ieee802.3-c22";
239 marvell,reg-init = <3 18 0 0x4985>;
241 /* irq is connected to &pcawan pin 7 */
244 /* Switch MV88E6176 at address 0x10 */
246 compatible = "marvell,mv88e6085";
247 #address-cells = <1>;
254 #address-cells = <1>;
286 phy-mode = "rgmii-id";
294 /* port 6 is connected to eth0 */
300 pcawan_pins: pcawan-pins {
301 marvell,pins = "mpp46";
302 marvell,function = "gpio";
305 spi0cs0_pins: spi0cs0-pins {
306 marvell,pins = "mpp25";
307 marvell,function = "spi0";
310 spi0cs2_pins: spi0cs2-pins {
311 marvell,pins = "mpp26";
312 marvell,function = "spi0";
317 pinctrl-names = "default";
318 pinctrl-0 = <&spi0_pins &spi0cs0_pins>;
322 compatible = "spansion,s25fl164k", "jedec,spi-nor";
323 #address-cells = <1>;
326 spi-max-frequency = <40000000>;
329 compatible = "fixed-partitions";
330 #address-cells = <1>;
334 reg = <0x0 0x00100000>;
339 reg = <0x00100000 0x00700000>;
340 label = "Rescue system";
345 /* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */
349 /* Pin header CN10 */
350 pinctrl-names = "default";
351 pinctrl-0 = <&uart0_pins>;
356 /* Pin header CN11 */
357 pinctrl-names = "default";
358 pinctrl-0 = <&uart1_pins>;