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>;
101 /* Small syscon with some LEDs at CS2 */
103 compatible = "freecom,fsg-cs2-system-controller", "syscon";
106 #address-cells = <1>;
108 ranges = <2 0x0 0x0 0x200>;
111 compatible = "register-bit-led";
114 label = "fsg:blue:wlan";
115 linux,default-trigger = "wlan";
116 default-state = "on";
119 compatible = "register-bit-led";
122 label = "fsg:blue:wan";
123 linux,default-trigger = "";
124 default-state = "on";
127 compatible = "register-bit-led";
130 label = "fsg:blue:sata";
131 linux,default-trigger = "";
132 default-state = "on";
135 compatible = "register-bit-led";
138 label = "fsg:blue:usb";
139 linux,default-trigger = "";
140 default-state = "on";
143 compatible = "register-bit-led";
146 label = "fsg:blue:sync";
147 linux,default-trigger = "";
148 default-state = "on";
151 compatible = "register-bit-led";
154 label = "fsg:blue:ring";
155 linux,default-trigger = "";
156 default-state = "on";
165 * Written based on the FSG-3 PCI boardfile.
166 * We have slots 12, 13 & 14 (IDSEL) with one IRQ each.
168 #interrupt-cells = <1>;
169 interrupt-map-mask = <0xf800 0 0 7>;
172 <0x6000 0 0 1 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 12 is irq 5 */
173 <0x6000 0 0 2 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 12 is irq 5 */
174 <0x6000 0 0 3 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 12 is irq 5 */
175 <0x6000 0 0 4 &gpio0 5 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 12 is irq 5 */
177 <0x6800 0 0 1 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 13 is irq 7 */
178 <0x6800 0 0 2 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 13 is irq 7 */
179 <0x6800 0 0 3 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 13 is irq 7 */
180 <0x6800 0 0 4 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 13 is irq 7 */
182 <0x7000 0 0 1 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 14 is irq 6 */
183 <0x7000 0 0 2 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 14 is irq 6 */
184 <0x7000 0 0 3 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 14 is irq 6 */
185 <0x7000 0 0 4 &gpio0 6 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 14 is irq 6 */
191 queue-rx = <&qmgr 3>;
192 queue-txready = <&qmgr 20>;
194 phy-handle = <&phy5>;
197 #address-cells = <1>;
200 phy4: ethernet-phy@4 {
204 phy5: ethernet-phy@5 {
213 queue-rx = <&qmgr 4>;
214 queue-txready = <&qmgr 21>;
216 phy-handle = <&phy4>;