1 // SPDX-License-Identifier: ISC
3 * Device Tree file for the Freecom FSG-3 router.
4 * This machine is based on IXP425.
5 * This device tree is inspired by the board file by Rod Whitby.
10 #include "intel-ixp42x.dtsi"
11 #include <dt-bindings/input/input.h>
14 model = "Freecom FSG-3";
15 compatible = "freecom,fsg-3", "intel,ixp42x";
21 device_type = "memory";
22 reg = <0x00000000 0x4000000>;
26 /* Boot from the first partition on the hard drive */
27 bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootfstype=ext4 rootwait";
28 stdout-path = "uart0:115200n8";
36 compatible = "gpio-keys";
40 /* Closest approximation of what the key should do */
41 linux,code = <KEY_CONNECT>;
43 gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
47 linux,code = <KEY_ESC>;
49 gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
53 /* Unplug USB, closest approximation of what the key should do */
54 linux,code = <KEY_EJECTCD>;
56 gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
61 compatible = "i2c-gpio";
62 sda-gpios = <&gpio0 12 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
63 scl-gpios = <&gpio0 13 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
69 * Temperature sensor and fan control chip.
71 * TODO: create a proper device tree binding for
72 * the sensor and temperature zone and create a
73 * zone with fan control.
75 compatible = "winbond,w83781d";
79 compatible = "isil,isl1208";
87 compatible = "intel,ixp4xx-flash", "cfi-flash";
89 /* Enable writes on the expansion bus */
90 intel,ixp4xx-eb-write-enable = <1>;
91 /* 4 MB of Flash mapped in at CS0 */
92 reg = <0 0x00000000 0x400000>;
95 compatible = "redboot-fis";
96 /* Eraseblock at 0x3e0000 */
97 fis-index-block = <0x1f>;
106 * Written based on the FSG-3 PCI boardfile.
107 * We have slots 12, 13 & 14 (IDSEL) with one IRQ each.
111 <0x6000 0 0 1 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 12 is irq 5 */
112 <0x6000 0 0 2 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 12 is irq 5 */
113 <0x6000 0 0 3 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 12 is irq 5 */
114 <0x6000 0 0 4 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 12 is irq 5 */
116 <0x6800 0 0 1 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 13 is irq 7 */
117 <0x6800 0 0 2 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 13 is irq 7 */
118 <0x6800 0 0 3 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 13 is irq 7 */
119 <0x6800 0 0 4 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 13 is irq 7 */
121 <0x7000 0 0 1 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 14 is irq 6 */
122 <0x7000 0 0 2 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 14 is irq 6 */
123 <0x7000 0 0 3 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 14 is irq 6 */
124 <0x7000 0 0 4 &gpio0 6 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 14 is irq 6 */
130 queue-rx = <&qmgr 3>;
131 queue-txready = <&qmgr 20>;
133 phy-handle = <&phy5>;
136 #address-cells = <1>;
139 phy4: ethernet-phy@4 {
143 phy5: ethernet-phy@5 {
152 queue-rx = <&qmgr 4>;
153 queue-txready = <&qmgr 21>;
155 phy-handle = <&phy4>;