1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later
3 * WatchGuard Firebox M300 Device Tree Source
4 * Based on t2081qds.dts from Linux 5.10
6 * Copyright 2013 - 2015 Freescale Semiconductor Inc.
7 * Copyright 2020 - 2021 Stijn Tintel <stijn@linux-ipv6.be>
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
13 /include/ "t208xsi-pre.dtsi"
14 /include/ "t208xqds.dtsi"
17 model = "WatchGuard Firebox M300";
18 compatible = "watchguard,firebox-m300", "fsl,T2081QDS";
20 interrupt-parent = <&mpic>;
23 /delete-property/ ethernet0;
24 /delete-property/ ethernet1;
25 /delete-property/ ethernet2;
26 /delete-property/ ethernet3;
27 /delete-property/ ethernet4;
28 /delete-property/ ethernet5;
29 /delete-property/ ethernet6;
30 /delete-property/ ethernet7;
38 led-boot = &led_shield;
39 led-failsafe = &led_shield;
40 led-running = &led_shield;
41 led-upgrade = &led_shield;
46 // Include first to make this the first interface
47 /include/ "qoriq-fman3-0-10g-1.dtsi"
50 // mdio-mux under &boardctrl + its aliases removed. causes crash:
51 // Oops: Machine check, sig: 7 [#1]
53 /include/ "t2081si-post.dtsi"
55 // add stuff below the include to make sure we override whatever is there
58 phy-connection-type = "sgmii";
63 phy-connection-type = "sgmii";
68 phy-connection-type = "rgmii";
77 phy-connection-type = "rgmii";
98 phy-connection-type = "sgmii";
103 ranges = <0x00 0x00 0x0f 0xefc00000 0x400000>;
106 reg = <0x00 0x00 0x400000>;
115 reg = <0x10000 0x20000>;
121 reg = <0x30000 0x10000>;
127 reg = <0x40000 0x10000>;
128 label = "wg_mfg_data";
133 reg = <0x50000 0xb0000>;
134 label = "wg_bootopt_data_and_reserved";
139 reg = <0x100000 0xb0000>;
140 label = "wg_extra_reserved_1";
145 reg = <0x1b0000 0xb0000>;
146 label = "wg_extra_reserved_2";
151 reg = <0x260000 0xc0000>;
152 label = "wg_u-boot_failsafe";
157 reg = <0x320000 0x10000>;
158 label = "qoriq-fman";
163 reg = <0x330000 0x10000>;
164 label = "u-boot-env";
168 reg = <0x340000 0xc0000>;
180 // m300 ethernet port 0
181 phy0: ethernet-phy@0 {
185 // m300 ethernet port 1
186 phy1: ethernet-phy@1 {
190 phy2: ethernet-phy@2 {
194 phy3: ethernet-phy@3 {
199 compatible = "marvell,mv88e6085";
203 #address-cells = <1>;
206 switch0phy0: switch0phy0@0 {
208 interrupt-parent = <&switch0>;
211 switch0phy1: switch0phy1@1 {
213 interrupt-parent = <&switch0>;
216 switch0phy2: switch0phy2@2 {
218 interrupt-parent = <&switch0>;
221 switch0phy3: switch0phy3@3 {
223 interrupt-parent = <&switch0>;
226 switch0phy4: switch0phy4@4 {
228 interrupt-parent = <&switch0>;
233 #address-cells = <1>;
239 phy-handle = <&switch0phy0>;
245 phy-handle = <&switch0phy1>;
251 phy-handle = <&switch0phy2>;
257 phy-handle = <&switch0phy3>;
263 phy-handle = <&switch0phy4>;
266 // OEM bootlog suggests multiple ports are attached to switch
267 // Keep this until OEM supplies GPL sources
274 phy-mode = "rgmii-id";
286 phy-mode = "rgmii-id";
300 compatible = "tpm,tpm_i2c_atmel";
304 compatible = "winbond,w83793";
308 compatible = "winbond,w83793";
312 compatible = "ricoh,rs5c372a";
321 // DTS decompiled from OEM DTB contains flash@0 but doesn't work
322 // spi-nor spi0.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
338 compatible = "gpio-keys";
341 linux,code = <KEY_RESTART>;
342 gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
343 debounce-interval = <60>;
348 compatible = "gpio-leds";
351 label = "red:shield";
352 gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
355 led_shield: shield-green {
356 label = "green:shield";
357 gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;