diff --git a/sys/gnu/dts/mips/3G-6200N.dts b/sys/gnu/dts/mips/3G-6200N.dts new file mode 100644 index 000000000000..183148ad8b55 --- /dev/null +++ b/sys/gnu/dts/mips/3G-6200N.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "3G-6200N", "ralink,rt3050-soc"; + model = "Edimax 3g-6200n"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@3e0000 { + label = "cimage"; + reg = <0x3e0000 0x20000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x390000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "3g-6200n:green:power"; + gpios = <&gpio0 9 1>; + }; + + wlan { + label = "3g-6200n:amber:wlan"; + gpios = <&gpio0 14 1>; + }; + + 3g { + label = "3g-6200n:blue:3g"; + gpios = <&gpio0 7 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 12 1>; + linux,code = <0x211>; + }; + + wlanswitch { + label = "wlanswitch"; + gpios = <&gpio0 13 1>; + linux,code = <0x100>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/3G-6200NL.dts b/sys/gnu/dts/mips/3G-6200NL.dts new file mode 100644 index 000000000000..760dafcd8579 --- /dev/null +++ b/sys/gnu/dts/mips/3G-6200NL.dts @@ -0,0 +1,93 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "3G-6200NL", "ralink,rt3050-soc"; + model = "Edimax 3g-6200nl"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@3e0000 { + label = "cimage"; + reg = <0x3e0000 0x20000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x390000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wlan { + label = "3g-6200nl:amber:wlan"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 12 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/3G150B.dts b/sys/gnu/dts/mips/3G150B.dts new file mode 100644 index 000000000000..628a0fa4c4ab --- /dev/null +++ b/sys/gnu/dts/mips/3G150B.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "3G150B", "ralink,rt5350-soc"; + model = "Tenda 3G150B"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + + gpio1: gpio@660 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf", "led"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + ralink,led-polarity = <1>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + ap { + label = "3g150b:blue:ap"; + gpios = <&gpio0 7 1>; + }; + + 3g { + label = "3g150b:blue:3g"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name = "usb"; + gpio-export,output = <1>; + gpios = <&gpio0 13 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/3G300M.dts b/sys/gnu/dts/mips/3G300M.dts new file mode 100644 index 000000000000..f14eb9ec519b --- /dev/null +++ b/sys/gnu/dts/mips/3G300M.dts @@ -0,0 +1,124 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "3G300M", "ralink,rt3052-soc"; + model = "Tenda 3G300M"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + 3grouter { + label = "3g300m:blue:3grouter"; + gpios = <&gpio0 11 1>; + }; + + ap { + label = "3g300m:blue:ap"; + gpios = <&gpio0 12 1>; + }; + + wisprouter { + label = "3g300m:blue:wisprouter"; + gpios = <&gpio0 9 1>; + }; + + wirelessrouter { + label = "3g300m:blue:wirelessrouter"; + gpios = <&gpio0 13 1>; + }; + + 3g { + label = "3g300m:blue:3g"; + gpios = <&gpio0 7 1>; + }; + + wpsreset { + label = "3g300m:blue:wpsreset"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 10 1>; + linux,code = <0x100>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/A5-V11.dts b/sys/gnu/dts/mips/A5-V11.dts new file mode 100644 index 000000000000..63d96043057e --- /dev/null +++ b/sys/gnu/dts/mips/A5-V11.dts @@ -0,0 +1,123 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "A5-V11", "ralink,rt5350-soc"; + model = "A5-V11"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "pm25lq032"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + + gpio1: gpio@660 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf", "led"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "a5-v11:blue:system"; + gpios = <&gpio0 20 1>; + }; + + power { + label = "a5-v11:red:power"; + gpios = <&gpio0 17 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name = "usb"; + gpio-export,output = <1>; + gpios = <&gpio0 7 0>; + }; + + root_hub { + gpio-export,name = "root_hub"; + gpio-export,output = <1>; + gpios = <&gpio0 12 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AI-BR100.dts b/sys/gnu/dts/mips/AI-BR100.dts new file mode 100644 index 000000000000..d62486429204 --- /dev/null +++ b/sys/gnu/dts/mips/AI-BR100.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "AI-BR100", "ralink,mt7620a-soc"; + model = "Aigale Ai-BR100"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "u-boot-env"; + reg = <0x20000 0x10000>; + read-only; + }; + + factory: partition@30000 { + label = "factory"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0x7c0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "ai-br100:blue:wan"; + gpios = <&gpio2 4 1>; + }; + + wlan { + label = "ai-br100:blue:wlan"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AIR3GII.dts b/sys/gnu/dts/mips/AIR3GII.dts new file mode 100644 index 000000000000..a3457e68a2ee --- /dev/null +++ b/sys/gnu/dts/mips/AIR3GII.dts @@ -0,0 +1,98 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "AIR3GII", "ralink,rt5350-soc"; + model = "AirLive Air3GII"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q32b"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wlan { + label = "air3gii:green:wlan"; + gpios = <&gpio0 8 0>; + }; + + mobile { + label = "air3gii:green:mobile"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 7 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ALL0239-3G.dts b/sys/gnu/dts/mips/ALL0239-3G.dts new file mode 100644 index 000000000000..ae09fb97061c --- /dev/null +++ b/sys/gnu/dts/mips/ALL0239-3G.dts @@ -0,0 +1,115 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "ALL0239-3G", "ralink,rt3052-soc"; + model = "Allnet ALL0239-3G"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + status = "okay"; + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "all0239-3g:green:usb"; + gpios = <&gpio0 8 1>; + }; + + 3g { + label = "all0239-3g:green:3g"; + gpios = <&gpio0 11 1>; + }; + + status { + label = "all0239-3g:green:status"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "all0239-3g:green:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + connect { + label = "connect"; + gpios = <&gpio0 7 1>; + linux,code = <0xda>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/ALL0256N-4M.dts b/sys/gnu/dts/mips/ALL0256N-4M.dts new file mode 100644 index 000000000000..67fdb68965cc --- /dev/null +++ b/sys/gnu/dts/mips/ALL0256N-4M.dts @@ -0,0 +1,103 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "ALL0256N", "ralink,rt3050-soc"; + model = "Allnet ALL0256N"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3c8000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + rssilow { + label = "all0256n:green:rssilow"; + gpios = <&gpio0 14 1>; + }; + + rssimed { + label = "all0256n:green:rssimed"; + gpios = <&gpio0 12 1>; + }; + + rssihigh { + label = "all0256n:green:rssihigh"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ALL0256N-8M.dts b/sys/gnu/dts/mips/ALL0256N-8M.dts new file mode 100644 index 000000000000..d1b590dc6a12 --- /dev/null +++ b/sys/gnu/dts/mips/ALL0256N-8M.dts @@ -0,0 +1,103 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "ALL0256N", "ralink,rt3050-soc"; + model = "Allnet ALL0256N"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + rssilow { + label = "all0256n:green:rssilow"; + gpios = <&gpio0 14 1>; + }; + + rssimed { + label = "all0256n:green:rssimed"; + gpios = <&gpio0 12 1>; + }; + + rssihigh { + label = "all0256n:green:rssihigh"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ALL5002.dts b/sys/gnu/dts/mips/ALL5002.dts new file mode 100644 index 000000000000..2e6a3ea1eb95 --- /dev/null +++ b/sys/gnu/dts/mips/ALL5002.dts @@ -0,0 +1,111 @@ +/dts-v1/; + +/include/ "rt3352.dtsi" + +/ { + compatible = "ALL5002", "ralink,rt3352-soc"; + model = "Allnet ALL5002"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l25635e"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + i2c-gpio { + compatible = "i2c-gpio"; + gpios = <&gpio0 1 0 &gpio0 2 0>; + i2c-gpio,delay-us = <10>; + + pcf0: iexp@38 { + #gpio-cells = <2>; + compatible = "inxp,pcf8574a"; + reg = <0x38>; + gpio-controller; + }; + + hwmon@4b { + compatible = "national,lm92"; + reg = <0x4b>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + ld1 { + label = "all5002:green:ld1"; + gpios = <&pcf0 0 1>; + }; + + ld2 { + label = "all5002:green:ld2"; + gpios = <&pcf0 1 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ALL5003.dts b/sys/gnu/dts/mips/ALL5003.dts new file mode 100644 index 000000000000..ec480983f82a --- /dev/null +++ b/sys/gnu/dts/mips/ALL5003.dts @@ -0,0 +1,111 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "ALL5003", "ralink,rt5350-soc"; + model = "Allnet ALL5003"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l25635e"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + i2c-gpio { + compatible = "i2c-gpio"; + gpios = <&gpio0 1 0 &gpio0 2 0>; + i2c-gpio,delay-us = <10>; + + pcf0: iexp@38 { + #gpio-cells = <2>; + compatible = "inxp,pcf8574a"; + reg = <0x38>; + gpio-controller; + }; + + hwmon@4b { + compatible = "national,lm92"; + reg = <0x4b>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + ld1 { + label = "all5003:green:ld1"; + gpios = <&pcf0 0 1>; + }; + + ld2 { + label = "all5003:green:ld2"; + gpios = <&pcf0 1 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AR670W.dts b/sys/gnu/dts/mips/AR670W.dts new file mode 100644 index 000000000000..0e29d89f2d9c --- /dev/null +++ b/sys/gnu/dts/mips/AR670W.dts @@ -0,0 +1,105 @@ +/dts-v1/; + +/include/ "rt2880.dtsi" + +/ { + compatible = "AR670W", "ralink,rt2880-soc"; + model = "Airlink101 AR670W"; + + palmbus@300000 { + gpio0: gpio@600 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "uartlite"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@400000 { + status = "okay"; + mtd-mac-address = <&factory 0x2004>; + + port@0 { + phy-handle = <&phy0>; + phy-mode = "mii"; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + phy-mode = "mii"; + reg = <0>; + }; + }; + }; + + wmac@480000 { + status = "okay"; + ralink,mtd-eeprom = <&factory 0x2000>; + }; + + cfi@bdc00000 { + compatible = "cfi-flash"; + reg = <0xbc400000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + u-boot@0 { + reg = <0x0 0x30000>; + label = "u-boot"; + read-only; + }; + + factory: factory@30000 { + reg = <0x30000 0x10000>; + label = "factory"; + read-only; + }; + + firmware@40000 { + reg = <0x40000 0x3c0000>; + label = "firmware"; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "ar670w:green:power"; + gpios = <&gpio0 7 1>; + }; + + wpsblue { + label = "ar670w:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 9 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AR725W.dts b/sys/gnu/dts/mips/AR725W.dts new file mode 100644 index 000000000000..6f66c3f85edf --- /dev/null +++ b/sys/gnu/dts/mips/AR725W.dts @@ -0,0 +1,115 @@ +/dts-v1/; + +/include/ "rt2880.dtsi" + +/ { + compatible = "AR725W", "ralink,rt2880-soc"; + model = "Airlink101 AR725W"; + + palmbus@300000 { + gpio0: gpio@600 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "uartlite"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@400000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + + port@0 { + phy-handle = <&phy0>; + phy-mode = "mii"; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + phy-mode = "mii"; + reg = <0>; + }; + }; + }; + + wmac@480000 { + status = "okay"; + ralink,mtd-eeprom = <&factory 0>; + }; + + cfi@bdc00000 { + compatible = "cfi-flash"; + reg = <0xbc400000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + u-boot@0 { + reg = <0x0 0x30000>; + label = "u-boot"; + read-only; + }; + + u-boot-env@30000 { + reg = <0x30000 0x10000>; + label = "u-boot-env"; + }; + + factory: factory@40000 { + reg = <0x40000 0x10000>; + label = "factory"; + read-only; + }; + + firmware@50000 { + reg = <0x50000 0x3B0000>; + label = "firmware"; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "ar725w:green:power"; + gpios = <&gpio0 7 0>; + }; + + wpsred { + label = "ar725w:red:wps"; + gpios = <&gpio0 8 1>; + }; + + wpsblue { + label = "ar725w:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 9 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ASL26555-16M.dts b/sys/gnu/dts/mips/ASL26555-16M.dts new file mode 100644 index 000000000000..d644b562bda7 --- /dev/null +++ b/sys/gnu/dts/mips/ASL26555-16M.dts @@ -0,0 +1,156 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "ASL26555", "ralink,rt3050-soc"; + model = "Alpha ASL26555"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25sl12801"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@fd0000 { + label = "cert"; + reg = <0xfd0000 0x10000>; + read-only; + }; + + partition@fe0000 { + label = "langpack"; + reg = <0xfe0000 0x10000>; + read-only; + }; + + devdata: partition@ff0000 { + label = "devdata"; + reg = <0xff0000 0x10000>; + read-only; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&devdata 0x4004>; + }; + + esw@10110000 { + mediatek,portmap = <0x1e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devdata 0x4000>; + }; + + otg@101c0000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 0>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 12 0>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + eth { + label = "asl26555:green:eth"; + gpios = <&gpio0 0 1>; + }; + + wan-red { + label = "asl26555:red:wan"; + gpios = <&gpio0 1 0>; + }; + + wan-green { + label = "asl26555:green:wan"; + gpios = <&gpio0 2 0>; + }; + + wlan { + label = "asl26555:green:wlan"; + gpios = <&gpio0 7 0>; + }; + + power-green { + label = "asl26555:green:power"; + gpios = <&gpio0 8 0>; + }; + + power-red { + label = "asl26555:red:power"; + gpios = <&gpio0 9 0>; + }; + + 3g-green { + label = "asl26555:green:3g"; + gpios = <&gpio0 14 1>; + }; + + 3g-red { + label = "asl26555:red:3g"; + gpios = <&gpio0 17 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ASL26555-8M.dts b/sys/gnu/dts/mips/ASL26555-8M.dts new file mode 100644 index 000000000000..2780e35482dc --- /dev/null +++ b/sys/gnu/dts/mips/ASL26555-8M.dts @@ -0,0 +1,150 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "ASL26555", "ralink,rt3050-soc"; + model = "Alpha ASL26555"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25sl064p"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + ubootenv: partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "rgdb"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x790000>; + }; + + partition@7e0000 { + label = "cert"; + reg = <0x7e0000 0x10000>; + read-only; + }; + + partition@7f0000 { + label = "langpack"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&ubootenv 0x4004>; + }; + + esw@10110000 { + mediatek,portmap = <0x1e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&ubootenv 0x4000>; + }; + + otg@101c0000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 0>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 12 0>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + eth { + label = "asl26555:green:eth"; + gpios = <&gpio0 0 1>; + }; + + wan-red { + label = "asl26555:red:wan"; + gpios = <&gpio0 1 0>; + }; + + wan-green { + label = "asl26555:green:wan"; + gpios = <&gpio0 2 0>; + }; + + wlan { + label = "asl26555:green:wlan"; + gpios = <&gpio0 7 0>; + }; + + power-green { + label = "asl26555:green:power"; + gpios = <&gpio0 8 0>; + }; + + power-red { + label = "asl26555:red:power"; + gpios = <&gpio0 9 0>; + }; + + 3g-green { + label = "asl26555:green:3g"; + gpios = <&gpio0 14 1>; + }; + + 3g-red { + label = "asl26555:red:3g"; + gpios = <&gpio0 17 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ATP-52B.dts b/sys/gnu/dts/mips/ATP-52B.dts new file mode 100644 index 000000000000..f7e9ac77d9c7 --- /dev/null +++ b/sys/gnu/dts/mips/ATP-52B.dts @@ -0,0 +1,96 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "ATP-52B", "ralink,rt3052-soc"; + model = "Argus ATP-52B"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x10000>; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7a0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + run { + label = "atp-52b:green:run"; + gpios = <&gpio0 9 1>; + }; + + net { + label = "atp-52b:amber:net"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/AWAPN2403.dts b/sys/gnu/dts/mips/AWAPN2403.dts new file mode 100644 index 000000000000..9c10155ce497 --- /dev/null +++ b/sys/gnu/dts/mips/AWAPN2403.dts @@ -0,0 +1,85 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "AWAPN2403", "ralink,rt3052-soc"; + model = "AsiaRF AWAPN2403"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + link { + label = "awapn2403:green:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AWM002-4M.dtsi b/sys/gnu/dts/mips/AWM002-4M.dtsi new file mode 100644 index 000000000000..f770232eca47 --- /dev/null +++ b/sys/gnu/dts/mips/AWM002-4M.dtsi @@ -0,0 +1,15 @@ +/include/ "AWM002.dtsi" + +/ { + compatible = "AWM002", "ralink,rt5350-soc"; + model = "AsiaRF AWM002"; + + palmbus@10000000 { + spi@b00 { + m25p80@0 { + compatible = "jedec,spi-nor"; + linux,modalias = "m25p80", "mx25l3205d"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AWM002-8M.dtsi b/sys/gnu/dts/mips/AWM002-8M.dtsi new file mode 100644 index 000000000000..ab2c3ac4765e --- /dev/null +++ b/sys/gnu/dts/mips/AWM002-8M.dtsi @@ -0,0 +1,15 @@ +/include/ "AWM002.dtsi" + +/ { + compatible = "AWM002", "ralink,rt5350-soc"; + model = "AsiaRF AWM002"; + + palmbus@10000000 { + spi@b00 { + m25p80@0 { + compatible = "jedec,spi-nor"; + linux,modalias = "m25p80", "mx25l6405d"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AWM002-EVB-4M.dts b/sys/gnu/dts/mips/AWM002-EVB-4M.dts new file mode 100644 index 000000000000..fe2ff1aa00e2 --- /dev/null +++ b/sys/gnu/dts/mips/AWM002-EVB-4M.dts @@ -0,0 +1,53 @@ +/dts-v1/; + +/include/ "AWM002-4M.dtsi" + +/ { + model = "AsiaRF AWM002 EVB"; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + tx { + label = "awm002-evb:green:tx"; + gpios = <&gpio0 15 1>; + }; + + rx { + label = "awm002-evb:green:rx"; + gpios = <&gpio0 16 1>; + }; + + wps { + label = "awm002-evb:green:wps"; + gpios = <&gpio0 21 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 20 1>; + linux,code = <0x32>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AWM002-EVB-8M.dts b/sys/gnu/dts/mips/AWM002-EVB-8M.dts new file mode 100644 index 000000000000..d4de3f19000e --- /dev/null +++ b/sys/gnu/dts/mips/AWM002-EVB-8M.dts @@ -0,0 +1,53 @@ +/dts-v1/; + +/include/ "AWM002-8M.dtsi" + +/ { + model = "AsiaRF AWM002 EVB"; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + tx { + label = "awm002-evb:green:tx"; + gpios = <&gpio0 15 1>; + }; + + rx { + label = "awm002-evb:green:rx"; + gpios = <&gpio0 16 1>; + }; + + wps { + label = "awm002-evb:green:wps"; + gpios = <&gpio0 21 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 20 1>; + linux,code = <0x32>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AWM002.dtsi b/sys/gnu/dts/mips/AWM002.dtsi new file mode 100644 index 000000000000..a360d8cd4efd --- /dev/null +++ b/sys/gnu/dts/mips/AWM002.dtsi @@ -0,0 +1,78 @@ +/include/ "rt5350.dtsi" + +/ { + compatible = "AWM002", "ralink,rt5350-soc"; + model = "AsiaRF AWM002"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0 0>; + compatible = "jedec,spi-nor"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag"; + ralink,function = "gpio"; + }; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + ld1 { + label = "awm002:green:ld1"; + gpios = <&gpio0 0 1>; + }; + + ld2 { + label = "awm002:green:ld2"; + gpios = <&gpio0 1 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/AWM003-EVB.dts b/sys/gnu/dts/mips/AWM003-EVB.dts new file mode 100644 index 000000000000..b74dd90c840b --- /dev/null +++ b/sys/gnu/dts/mips/AWM003-EVB.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +/include/ "AWM002-8M.dtsi" + +/ { + compatible = "AWM003", "ralink,rt5350-soc"; + model = "AsiaRF AWM003 EVB"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + palmbus@10000000 { + spi@b00 { + m25p80@0 { + compatible = "jedec,spi-nor"; + linux,modalias = "m25p80", "mx25l6405d"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + tx { + label = "awm003-evb:green:tx"; + gpios = <&gpio0 15 1>; + }; + + rx { + label = "awm003-evb:green:rx"; + gpios = <&gpio0 16 1>; + }; + + wps { + label = "awm003-evb:green:wps"; + gpios = <&gpio0 21 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 20 1>; + linux,code = <0x32>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ArcherC20i.dts b/sys/gnu/dts/mips/ArcherC20i.dts new file mode 100644 index 000000000000..a2a77b4156d7 --- /dev/null +++ b/sys/gnu/dts/mips/ArcherC20i.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "TP-Link Archer C20i"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x7a0000>; + }; + + partition@7c0000 { + label = "config"; + reg = <0x7c0000 0x10000>; + }; + + rom: partition@7d0000 { + label = "rom"; + reg = <0x7d0000 0x10000>; + }; + + partition@7e0000 { + label = "romfile"; + reg = <0x7e0000 0x10000>; + }; + + radio: partition@7f0000 { + label = "radio"; + reg = <0x7f0000 0x10000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&rom 0xf100>; + mediatek,portmap = "wllll"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&radio 0>; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&radio 32768>; + mediatek,2ghz = <0>; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + }; +}; diff --git a/sys/gnu/dts/mips/BC2.dts b/sys/gnu/dts/mips/BC2.dts new file mode 100644 index 000000000000..0c74ffaee3de --- /dev/null +++ b/sys/gnu/dts/mips/BC2.dts @@ -0,0 +1,87 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "BC2", "ralink,rt3052-soc"; + model = "NexAira BC2"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "bc2:blue:usb"; + gpios = <&gpio0 20 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 17 1>; + linux,code = <0x198>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/BR-6425.dts b/sys/gnu/dts/mips/BR-6425.dts new file mode 100644 index 000000000000..a5f91771f040 --- /dev/null +++ b/sys/gnu/dts/mips/BR-6425.dts @@ -0,0 +1,71 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "BR-6425", "ralink,rt3052-soc"; + model = "Edimax BR-6425"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "br-6425:green:power"; + gpios = <&gpio0 9 1>; + }; + + wlan { + label = "br-6425:orange:wlan"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + + rfkill { + label = "RFKILL switch"; + gpios = <&gpio0 13 1>; + linux,code = <0xf7>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/BR-6475ND.dts b/sys/gnu/dts/mips/BR-6475ND.dts new file mode 100644 index 000000000000..fc6d16f77587 --- /dev/null +++ b/sys/gnu/dts/mips/BR-6475ND.dts @@ -0,0 +1,183 @@ +/dts-v1/; + +/include/ "rt3883.dtsi" + +/ { + compatible = "BR-6475ND", "ralink,rt3883-soc"; + model = "Edimax BR-6475nD"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + palmbus@10000000 { + timer@100 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + uartlite@c00 { + status = "okay"; + }; + }; + + ethernet@10100000 { + status = "okay"; + mtd-mac-address = <&devdata 0x0d>; + + port@0 { + mediatek,fixed-link = <1000 1 1 1>; + }; + }; + + wmac@10180000 { + status = "okay"; + ralink,mtd-eeprom = <&factory 0>; + }; + + pci@10140000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pci_pins>; + + pci_pins: pci { + pci { + ralink,group = "pci"; + ralink,function = "pci-fnc"; + }; + }; + + host-bridge { + pci-bridge@1 { + status = "okay"; + + wmac@0,0 { + ralink,5ghz = <0>; + compatible = "ralink,rt2880-pci", "pciclass060400", "pciclass0604"; + reg = < 0x10000 0 0 0 0 >; + ralink,eeprom = "rt2x00pci_1_0.eeprom"; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + nor-flash@1c000000 { + compatible = "cfi-flash"; + reg = <0x1c000000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x00000000 0x00030000>; + label = "u-boot"; + read-only; + }; + + partition@30000 { + reg = <0x00030000 0x00010000>; + label = "nvram"; + read-only; + }; + + factory: partition@40000 { + reg = <0x00040000 0x00010000>; + label = "factory"; + read-only; + }; + + devdata: partition@50000 { + reg = <0x00050000 0x00020000>; + label = "devdata"; + read-only; + }; + + partition@70000 { + reg = <0x00070000 0x00790000>; + label = "firmware"; + }; + + partition@170000 { + reg = <0x00270000 0x00590000>; + label = "rootfs"; + }; + }; + + rtl8367 { + compatible = "realtek,rtl8367"; + gpio-sda = <&gpio0 5 0>; + gpio-sck = <&gpio0 4 0>; + realtek,extif0 = <1 0 1 1 1 1 1 1 2>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio0 7 1>; + linux,code = <0x198>; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 9 1>; + linux,input-type = <5>; + linux,code = <0xf7>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "br-6475nd:green:power"; + gpios = <&gpio0 10 1>; + }; + + wlan { + label = "br-6475nd:amber:wlan"; + gpios = <&gpio0 11 1>; + }; + + wlan_5ghz { + label = "br-6475nd:amber:wlan_5ghz"; + gpios = <&gpio0 14 1>; + }; + }; + + /* Unclear if this is the correct gpio setup; the USB ports are + unpopulated on a stock BR-6475nD, even though the hardware exists + and the headers are there. */ + /* + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name="usb"; + gpio-export,output=<0>; + gpios = <&gpio0 19 0>; + }; + }; + */ +}; diff --git a/sys/gnu/dts/mips/BROADWAY.dts b/sys/gnu/dts/mips/BROADWAY.dts new file mode 100644 index 000000000000..df4364417857 --- /dev/null +++ b/sys/gnu/dts/mips/BROADWAY.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "BROADWAY", "ralink,rt3052-soc"; + model = "Hauppauge Broadway"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x790000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + diskmounted { + label = "broadway:red:diskmounted"; + gpios = <&gpio0 9 1>; + }; + + wps_active { + label = "broadway:red:wps_active"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + factory { + label = "Factory Reset button"; + gpios = <&gpio0 13 1>; + linux,code = <0x198>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/CARAMBOLA.dts b/sys/gnu/dts/mips/CARAMBOLA.dts new file mode 100644 index 000000000000..771d4ec9c740 --- /dev/null +++ b/sys/gnu/dts/mips/CARAMBOLA.dts @@ -0,0 +1,75 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "CARAMBOLA", "ralink,rt3050-soc"; + model = "8devices Carambola"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; + + i2c-gpio { + compatible = "i2c-gpio"; + gpios = <&gpio0 1 0 &gpio0 2 0>; + i2c-gpio,delay-us = <10>; + }; +}; diff --git a/sys/gnu/dts/mips/CF-WR800N.dts b/sys/gnu/dts/mips/CF-WR800N.dts new file mode 100644 index 000000000000..66ba9269ae71 --- /dev/null +++ b/sys/gnu/dts/mips/CF-WR800N.dts @@ -0,0 +1,115 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "cf-wr800n", "ralink,mt7620n-soc"; + model = "Comfast CF-WR800N"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "ephy", "wled", "spi refclk", "i2c"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + ethernet { + label = "cf-wr800n:white:ethernet"; + gpios = <&gpio2 4 1>; + }; + + wifi { + label = "cf-wr800n:white:wifi"; + gpios = <&gpio3 0 1>; + }; + + wps { + label = "cf-wr800n:white:wps"; + gpios = <&gpio1 15 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 2 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/CY-SWR1100.dts b/sys/gnu/dts/mips/CY-SWR1100.dts new file mode 100644 index 000000000000..be15d9b86386 --- /dev/null +++ b/sys/gnu/dts/mips/CY-SWR1100.dts @@ -0,0 +1,152 @@ +/dts-v1/; + +/include/ "rt3883.dtsi" + +/ { + compatible = "CY-SWR1100", "ralink,rt3883-soc"; + model = "Samsung CY-SWR1100"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + port@0 { + mediatek,fixed-link = <1000 1 1 1>; + phy-mode = "rgmii"; + }; + }; + + pci@10140000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pci_pins>; + + pci_pins: pci { + pci { + ralink,group = "pci"; + ralink,function = "pci-fnc"; + }; + }; + + host-bridge { + pci-bridge@1 { + status = "okay"; + + wmac@0,0 { + ralink,5ghz = <0>; + compatible = "ralink,rt2880-pci", "pciclass060400", "pciclass0604"; + reg = < 0x10000 0 0 0 0 >; + ralink,eeprom = "rt2x00pci_1_0.eeprom"; + }; + }; + }; + }; + + wmac@10180000 { + status = "okay"; + ralink,2ghz = <0>; + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + nor-flash@1c000000 { + compatible = "cfi-flash"; + reg = <0x1c000000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x4000>; + read-only; + }; + + factory: partition@34000 { + label = "factory"; + reg = <0x34000 0x4000>; + read-only; + }; + + partition@38000 { + label = "nvram"; + reg = <0x38000 0x8000>; + read-only; + }; + + partition@40000 { + label = "devdata"; + reg = <0x40000 0x10000>; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + rtl8367 { + compatible = "realtek,rtl8367"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + realtek,extif0 = <1 0 1 1 1 1 1 1 2>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio0 6 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 3 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps { + label = "cy-swr1100:blue:wps"; + gpios = <&gpio0 0 1>; + }; + + usb { + label = "cy-swr1100:blue:usb"; + gpios = <&gpio1 1 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/D105.dts b/sys/gnu/dts/mips/D105.dts new file mode 100644 index 000000000000..1a1ea736329c --- /dev/null +++ b/sys/gnu/dts/mips/D105.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "D105", "ralink,rt3050-soc"; + model = "Huawei D105"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "d105:red:power"; + gpios = <&gpio0 0 1>; + }; + + wps { + label = "d105:green:usb"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/DAP-1350.dts b/sys/gnu/dts/mips/DAP-1350.dts new file mode 100644 index 000000000000..e97c5514f8c8 --- /dev/null +++ b/sys/gnu/dts/mips/DAP-1350.dts @@ -0,0 +1,125 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "DAP-1350", "ralink,rt3052-soc"; + model = "D-Link DAP-1350"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + devdata: partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "devconf"; + reg = <0x40000 0x30000>; + read-only; + }; + + partition@70000 { + label = "devlang"; + reg = <0x70000 0x40000>; + read-only; + }; + + partition@b0000 { + label = "firmware"; + reg = <0xb0000 0x750000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&devdata 0x2e>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devdata 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "dap-1350:blue:power"; + gpios = <&gpio0 8 1>; + }; + + power2 { + label = "dap-1350:red:power"; + gpios = <&gpio0 9 1>; + }; + + wps { + label = "dap-1350:blue:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + rt { + label = "rt"; + gpios = <&gpio0 11 1>; + linux,code = <0x100>; + }; + + ap { + label = "ap"; + gpios = <&gpio0 7 1>; + linux,code = <0x101>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/DB-WRT01.dts b/sys/gnu/dts/mips/DB-WRT01.dts new file mode 100644 index 000000000000..e3a7770835aa --- /dev/null +++ b/sys/gnu/dts/mips/DB-WRT01.dts @@ -0,0 +1,100 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Planex DB-WRT01"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "en25q64"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi refclk", "rgmii1"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "db-wrt01:orange:power"; + gpios = <&gpio1 1 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + s1 { + label = "wps"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DCS-930.dts b/sys/gnu/dts/mips/DCS-930.dts new file mode 100644 index 000000000000..b43d4e550466 --- /dev/null +++ b/sys/gnu/dts/mips/DCS-930.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "DCS-930", "ralink,rt3050-soc"; + model = "D-Link DCS-930"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x400000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "kernel"; + reg = <0x50000 0x150000>; + }; + + partition@150000 { + label = "rootfs"; + reg = <0x150000 0x2b0000>; + }; + + partition { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "dcs-930:red:alert"; + gpios = <&gpio0 8 1>; + }; + + power { + label = "dcs-930:green:status"; + gpios = <&gpio0 9 1>; + }; + + wps { + label = "dcs-930:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x101>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/DCS-930L-B1.dts b/sys/gnu/dts/mips/DCS-930L-B1.dts new file mode 100644 index 000000000000..8b53cfd79d78 --- /dev/null +++ b/sys/gnu/dts/mips/DCS-930L-B1.dts @@ -0,0 +1,108 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "DCS-930L-B1", "ralink,rt5350-soc"; + model = "D-Link DCS-930L B1"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf", "led"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "dcs-930l-b1:red:power"; + gpios = <&gpio0 17 1>; + }; + + wps { + label = "dcs-930l-b1:blue:wps"; + gpios = <&gpio0 19 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 20 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-300-B1.dts b/sys/gnu/dts/mips/DIR-300-B1.dts new file mode 100644 index 000000000000..f0298b2db392 --- /dev/null +++ b/sys/gnu/dts/mips/DIR-300-B1.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "DIR-300-B1", "ralink,rt3050-soc"; + model = "D-Link DIR-300 B1"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + devdata: partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&devdata 0x4004>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devdata 0x4000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-300-b1:amber:status"; + gpios = <&gpio0 8 1>; + }; + + status2 { + label = "dir-300-b1:green:status"; + gpios = <&gpio0 9 1>; + }; + + wan { + label = "dir-300-b1:amber:wan"; + gpios = <&gpio0 14 1>; + }; + + wan2 { + label = "dir-300-b1:green:wan"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "dir-300-b1:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-300-B7.dts b/sys/gnu/dts/mips/DIR-300-B7.dts new file mode 100644 index 000000000000..f3cec7b215fe --- /dev/null +++ b/sys/gnu/dts/mips/DIR-300-B7.dts @@ -0,0 +1,103 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "DIR-300-B7", "ralink,rt5350-soc"; + model = "D-Link DIR-300 B7"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <0x17>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-300-b7:green:status"; + gpios = <&gpio0 9 1>; + }; + + wps { + label = "dir-300-b7:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + wmac@10180000 { + status = "okay"; + ralink,led-polarity = <1>; + ralink,mtd-eeprom = <&factory 0>; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-320-B1.dts b/sys/gnu/dts/mips/DIR-320-B1.dts new file mode 100644 index 000000000000..fba590f7094a --- /dev/null +++ b/sys/gnu/dts/mips/DIR-320-B1.dts @@ -0,0 +1,131 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "DIR-320-B1", "ralink,rt5350-soc"; + model = "D-Link DIR-320 B1"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <0x17>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-320-b1:green:status"; + gpios = <&gpio0 9 1>; + }; + + usb { + label = "dir-320-b1:green:usb"; + gpios = <&gpio0 14 1>; + }; + + wps { + label = "dir-320-b1:green:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c0000 { + status = "okay"; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name = "usb"; + gpio-export,output = <1>; + gpios = <&gpio0 7 0>; + }; + + root_hub { + gpio-export,name = "root_hub"; + gpio-export,output = <1>; + gpios = <&gpio0 12 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-600-B1.dts b/sys/gnu/dts/mips/DIR-600-B1.dts new file mode 100644 index 000000000000..ea3d3ebecd40 --- /dev/null +++ b/sys/gnu/dts/mips/DIR-600-B1.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "DIR-600-B1", "ralink,rt3050-soc"; + model = "D-Link DIR-600 B1"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + devdata: partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&devdata 0x4004>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devdata 0x4000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-600-b1:amber:status"; + gpios = <&gpio0 8 1>; + }; + + status2 { + label = "dir-600-b1:green:status"; + gpios = <&gpio0 9 1>; + }; + + wan { + label = "dir-600-b1:amber:wan"; + gpios = <&gpio0 14 1>; + }; + + wan2 { + label = "dir-600-b1:green:wan"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "dir-600-b1:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-600-B2.dts b/sys/gnu/dts/mips/DIR-600-B2.dts new file mode 100644 index 000000000000..27915634e9aa --- /dev/null +++ b/sys/gnu/dts/mips/DIR-600-B2.dts @@ -0,0 +1,105 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "DIR-600-B2", "ralink,rt3050-soc"; + model = "D-Link DIR-600 B2"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + devdata: partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devdata 0x4000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-600-b2:amber:status"; + gpios = <&gpio0 8 1>; + }; + + status2 { + label = "dir-600-b2:green:status"; + gpios = <&gpio0 9 1>; + }; + + wan { + label = "dir-600-b2:amber:wan"; + gpios = <&gpio0 14 1>; + }; + + wan2 { + label = "dir-600-b2:green:wan"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "dir-600-b2:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-610-A1.dts b/sys/gnu/dts/mips/DIR-610-A1.dts new file mode 100644 index 000000000000..cfab89ae1dca --- /dev/null +++ b/sys/gnu/dts/mips/DIR-610-A1.dts @@ -0,0 +1,104 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "DIR-610-A1", "ralink,rt5350-soc"; + model = "D-Link DIR-610 A1"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + devdata: partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&devdata 0x4004>; + }; + + esw@10110000 { + status = "okay"; + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <0x17>; + }; + + wmac@10180000 { + status = "okay"; + ralink,led-polarity = <1>; + ralink,mtd-eeprom = <&devdata 0x4000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-610-a1:green:status"; + gpios = <&gpio0 9 1>; + }; + + wps { + label = "dir-610-a1:green:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-615-D.dts b/sys/gnu/dts/mips/DIR-615-D.dts new file mode 100644 index 000000000000..45aeacea1e5f --- /dev/null +++ b/sys/gnu/dts/mips/DIR-615-D.dts @@ -0,0 +1,105 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "DIR-615-D", "ralink,rt3050-soc"; + model = "D-Link DIR-615 D"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + devdata: partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devdata 0x4000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-615-d:amber:status"; + gpios = <&gpio0 8 1>; + }; + + status2 { + label = "dir-615-d:green:status"; + gpios = <&gpio0 9 1>; + }; + + wan { + label = "dir-615-d:amber:wan"; + gpios = <&gpio0 14 1>; + }; + + wan2 { + label = "dir-615-d:green:wan"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "dir-615-d:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-615-H1.dts b/sys/gnu/dts/mips/DIR-615-H1.dts new file mode 100644 index 000000000000..d21d7d5eabd2 --- /dev/null +++ b/sys/gnu/dts/mips/DIR-615-H1.dts @@ -0,0 +1,125 @@ +/dts-v1/; + +/include/ "rt3352.dtsi" + +/ { + compatible = "DIR-615-H1", "ralink,rt3352-soc"; + model = "D-Link DIR-615 H1"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + + rgmii { + ralink,group = "rgmii"; + ralink,function = "rgmii"; + }; + + mdio { + ralink,group = "mdio"; + ralink,function = "mdio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-615-h1:amber:status"; + gpios = <&gpio0 7 0>; + }; + + status2 { + label = "dir-615-h1:green:status"; + gpios = <&gpio0 9 0>; + }; + + wan { + label = "dir-615-h1:amber:wan"; + gpios = <&gpio0 12 1>; + }; + + wan2 { + label = "dir-615-h1:green:wan"; + gpios = <&gpio0 13 1>; + }; + + wps { + label = "dir-615-h1:blue:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-620-A1.dts b/sys/gnu/dts/mips/DIR-620-A1.dts new file mode 100644 index 000000000000..c72b11bc1489 --- /dev/null +++ b/sys/gnu/dts/mips/DIR-620-A1.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "DIR-620-A1", "ralink,rt3050-soc"; + model = "D-Link DIR-620 A1"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-620-a1:amber:status"; + gpios = <&gpio0 8 1>; + }; + + status2 { + label = "dir-620-a1:green:status"; + gpios = <&gpio0 9 1>; + }; + + wan { + label = "dir-620-a1:amber:wan"; + gpios = <&gpio0 14 1>; + }; + + wan2 { + label = "dir-620-a1:green:wan"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "dir-620-a1:blue:wps"; + gpios = <&gpio0 13 0>; + }; + + wps2 { + label = "dir-620-a1:amber:wps"; + gpios = <&gpio0 11 0>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-620-D1.dts b/sys/gnu/dts/mips/DIR-620-D1.dts new file mode 100644 index 000000000000..4737d24c8839 --- /dev/null +++ b/sys/gnu/dts/mips/DIR-620-D1.dts @@ -0,0 +1,112 @@ +/dts-v1/; + +/include/ "rt3352.dtsi" + +/ { + compatible = "DIR-620-D1", "ralink,rt3352-soc"; + model = "D-Link DIR-620 D1"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + + rgmii { + ralink,group = "rgmii"; + ralink,function = "rgmii"; + }; + + mdio { + ralink,group = "mdio"; + ralink,function = "mdio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "dir-620-d1:green:status"; + gpios = <&gpio0 9 1>; + }; + + wifi { + label = "dir-620-d1:green:wifi"; + gpios = <&gpio0 17 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 7 1>; + linux,code = <0x198>; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-645.dts b/sys/gnu/dts/mips/DIR-645.dts new file mode 100644 index 000000000000..6272324caafa --- /dev/null +++ b/sys/gnu/dts/mips/DIR-645.dts @@ -0,0 +1,142 @@ +/dts-v1/; + +/include/ "rt3883.dtsi" + +/ { + compatible = "DIR-645", "ralink,rt3883-soc"; + model = "D-Link DIR-645"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <25000000>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x4000>; + read-only; + }; + + factory: partition@34000 { + label = "factory"; + reg = <0x34000 0x4000>; + read-only; + }; + + partition@38000 { + label = "nvram"; + reg = <0x38000 0x8000>; + read-only; + }; + + partition@40000 { + label = "devdata"; + reg = <0x40000 0x10000>; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + + port@0 { + mediatek,fixed-link = <1000 1 1 0>; + }; + }; + + wmac@10180000 { + ralink,5ghz = <0>; + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + rtl8367b { + compatible = "realtek,rtl8367b"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + realtek,extif1 = <1 0 1 1 1 1 1 1 2>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio0 9 0>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 14 0>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet { + label = "dir-645:green:inet"; + gpios = <&gpio0 0 1>; + }; + + wps { + label = "dir-645:green:wps"; + gpios = <&gpio1 2 0>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name = "usb"; + gpio-export,output = <1>; + gpios = <&gpio1 6 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-810L.dts b/sys/gnu/dts/mips/DIR-810L.dts new file mode 100644 index 000000000000..91fb01843bde --- /dev/null +++ b/sys/gnu/dts/mips/DIR-810L.dts @@ -0,0 +1,136 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "dlink,dir-810l", "ralink,mt7620a-soc"; + model = "D-Link DIR-810L"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + factory5g: partition@50000 { + label = "factory5g"; + reg = <0x50000 0x10000>; + read-only; + }; + + partition@60000 { + label = "Wolf_Config"; + reg = <0x60000 0x10000>; + read-only; + }; + + partition@70000 { + label = "MyDlink"; + reg = <0x70000 0x80000>; + read-only; + }; + + partition@e0000 { + label = "Jffs2"; + reg = <0xe0000 0x80000>; + read-only; + }; + + partition@170000 { + label = "firmware"; + reg = <0x170000 0x690000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "mdio", "rgmii1", "i2c", "wled", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + }; + + pcie@10140000 { + status = "okay"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x100>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 2 1>; + linux,code = <0x100>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "dir-810l:green:power"; + gpios = <&gpio0 9 0>; + }; + + wan { + label = "dir-810l:orange:wan"; + gpios = <&gpio0 12 0>; + }; + + status { + label = "dir-810l:orange:power"; + gpios = <&gpio0 13 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/DIR-860L-B1.dts b/sys/gnu/dts/mips/DIR-860L-B1.dts new file mode 100644 index 000000000000..a6add705ba70 --- /dev/null +++ b/sys/gnu/dts/mips/DIR-860L-B1.dts @@ -0,0 +1,129 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "ralink,mt7621-eval-board", "ralink,mt7621-soc"; + model = "D-Link DIR-860L B1"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x4000>; + read-only; + }; + + radio: partition@34000 { + label = "radio"; + reg = <0x34000 0x4000>; + read-only; + }; + + factory: partition@38000 { + label = "factory"; + reg = <0x38000 0x8000>; + read-only; + }; + + partition@40000 { + label = "defaults"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&radio 0x2000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&radio 0>; + mediatek,5ghz = <0>; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "dir-860l-b1:orange:power"; + gpios = <&gpio0 13 1>; + }; + + power2 { + label = "dir-860l-b1:green:power"; + gpios = <&gpio0 15 1>; + }; + + net { + label = "dir-860l-b1:orange:net"; + gpios = <&gpio0 14 1>; + }; + + net2 { + label = "dir-860l-b1:green:net"; + gpios = <&gpio0 16 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + }; +}; diff --git a/sys/gnu/dts/mips/E1700.dts b/sys/gnu/dts/mips/E1700.dts new file mode 100644 index 000000000000..8b4361af87d2 --- /dev/null +++ b/sys/gnu/dts/mips/E1700.dts @@ -0,0 +1,154 @@ +/* + * Device Tree file for the Linksys E1700 + * + * Copyright (C) 2014 Imre Kaloz + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "linksys,e1700", "ralink,mt7620a-soc"; + model = "Linksys E1700"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + mtd-mac-address = <&factory 0x28>; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + + port@5 { + status = "okay"; + mediatek,fixed-link = <1000 1 1 1>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "rgmii"; + }; + + phy1: ethernet-phy@1 { + reg = <1>; + phy-mode = "rgmii"; + }; + + phy2: ethernet-phy@2 { + reg = <2>; + phy-mode = "rgmii"; + }; + + phy3: ethernet-phy@3 { + reg = <3>; + phy-mode = "rgmii"; + }; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy1f: ethernet-phy@1f { + reg = <0x1f>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + mediatek,mt7530 = <1>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 0>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 2 0>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "e1700:green:power"; + gpios = <&gpio0 10 1>; + }; + + wan { + label = "e1700:green:wps"; + gpios = <&gpio0 12 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ESR-9753.dts b/sys/gnu/dts/mips/ESR-9753.dts new file mode 100644 index 000000000000..67d8539f9d39 --- /dev/null +++ b/sys/gnu/dts/mips/ESR-9753.dts @@ -0,0 +1,94 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "ESR-9753", "ralink,rt3052-soc"; + model = "Senao / EnGenius ESR-9753"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "esr-9753:orange:power"; + gpios = <&gpio0 8 1>; + }; + + wps { + label = "esr-9753:orange:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; +}; diff --git a/sys/gnu/dts/mips/EX2700.dts b/sys/gnu/dts/mips/EX2700.dts new file mode 100644 index 000000000000..4b5a01a94ee5 --- /dev/null +++ b/sys/gnu/dts/mips/EX2700.dts @@ -0,0 +1,148 @@ +/* + * Device Tree file for the Netgear EX2700 + * + * Copyright (C) 2016 Joseph C. Lehner + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Netgear EX2700"; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@10000000 { + + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0x3b0000>; + }; + + art: partition@3f0000 { + label = "art"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&art 0x0>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&art 0x1000>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + // spi refclk: pins 37, 38, 39 + // uartf: pins 8, 9, 10, 11, 12, 13, 14 + // i2c: pins 1, 2 + ralink,group = "i2c", "uartf", "spi refclk"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_g { + label = "ex2700:green:power"; + gpios = <&gpio0 9 1>; + default-state = "on"; + }; + + power_r { + label = "ex2700:red:power"; + gpios = <&gpio0 11 1>; + }; + + device_g { + label = "ex2700:green:device"; + gpios = <&gpio0 13 1>; + }; + + device_r { + label = "ex2700:red:device"; + gpios = <&gpio0 10 1>; + }; + + router_g { + label = "ex2700:green:router"; + gpios = <&gpio0 12 1>; + }; + + router_r { + label = "ex2700:red:router"; + gpios = <&gpio0 14 1>; + }; + + wps { + label = "ex2700:green:wps"; + gpios = <&gpio1 15 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/F5D8235_V1.dts b/sys/gnu/dts/mips/F5D8235_V1.dts new file mode 100644 index 000000000000..f1bfc0917e83 --- /dev/null +++ b/sys/gnu/dts/mips/F5D8235_V1.dts @@ -0,0 +1,111 @@ +/dts-v1/; + +/include/ "rt2880.dtsi" + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "F5D8235_V1", "ralink,rt2880-soc"; + model = "Belkin F5D8235 v1"; + + palmbus@300000 { + gpio0: gpio@600 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "linux"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@400000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + + port@0 { + mediatek,fixed-link = <1000 1 1 1>; + }; + }; + + /* FIXME: no u-boot partition and 0x40000@uboot is out of boundaries */ +/* wmac@480000 { + status = "okay"; + ralink,mtd-eeprom = <&u-boot 0x40000>; + }; +*/ + rtl8366s { + compatible = "realtek,rtl8366s"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 9 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + storage { + label = "f5d8235-v1:blue:storage"; + gpios = <&gpio0 7 1>; + }; + + storage2 { + label = "f5d8235-v1:orange:storage"; + gpios = <&gpio0 8 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/F5D8235_V2.dts b/sys/gnu/dts/mips/F5D8235_V2.dts new file mode 100644 index 000000000000..38446e62f990 --- /dev/null +++ b/sys/gnu/dts/mips/F5D8235_V2.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "F5D8235_V2", "ralink,rt3052-soc"; + model = "Belkin F5D8235 v2"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + label = "uboot"; + reg = <0x0 0x50000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x790000>; + }; + + partition@7e0000 { + label = "nvram"; + reg = <0x7e0000 0x10000>; + }; + + factory: partition@7f0000 { + label = "factory"; + reg = <0x7f0000 0x10000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&uboot 0x40004>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&uboot 0x40000>; + }; + + otg@101c0000 { + status = "okay"; + }; + + rtl8366rb { + compatible = "rtl8366rb"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + internet { + label = "f5d8235-v2:blue:internet"; + gpios = <&gpio0 5 1>; + }; + + internet2 { + label = "f5d8235-v2:amber:internet"; + gpios = <&gpio0 6 1>; + }; + + modem { + label = "f5d8235-v2:blue:modem"; + gpios = <&gpio0 11 1>; + }; + + modem2 { + label = "f5d8235-v2:amber:modem"; + gpios = <&gpio0 8 1>; + }; + + router { + label = "f5d8235-v2:blue:router"; + gpios = <&gpio0 9 1>; + }; + + storage { + label = "f5d8235-v2:blue:storage"; + gpios = <&gpio0 23 1>; + }; + + storage2 { + label = "f5d8235-v2:amber:storage"; + gpios = <&gpio0 22 1>; + }; + + security { + label = "f5d8235-v2:blue:security"; + gpios = <&gpio0 13 1>; + }; + + security2 { + label = "f5d8235-v2:amber:security"; + gpios = <&gpio0 12 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/F7C027.dts b/sys/gnu/dts/mips/F7C027.dts new file mode 100644 index 000000000000..7d479ad34f6f --- /dev/null +++ b/sys/gnu/dts/mips/F7C027.dts @@ -0,0 +1,133 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "F7C027", "ralink,rt5350-soc"; + model = "Belkin F7C027"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l12805d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x770000>; + }; + + partition@7c0000 { + label = "firmware2"; + reg = <0x7c0000 0x770000>; + }; + + partition@f30000 { + label = "belkin_settings"; + reg = <0xf30000 0xa0000>; + }; + + partition@fd0000 { + label = "unknown"; + reg = <0xfd0000 0x10000>; + }; + + partition@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x10000>; + }; + + partition@ff0000 { + label = "user_factory"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "f7c027:blue:status"; + gpios = <&gpio0 7 1>; + }; + + power { + label = "f7c027:blue:power"; + gpios = <&gpio0 9 1>; + }; + + orange { + label = "f7c027:orange:status"; + gpios = <&gpio0 11 1>; + }; + + relay { + label = "f7c027:device:relay"; + gpios = <&gpio0 13 0>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + top { + label = "top"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + power { + label = "power"; + gpios = <&gpio0 12 1>; + linux,code = <0x100>; + }; + + sensor { + label = "sensor"; + gpios = <&gpio0 14 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/FIREWRT.dts b/sys/gnu/dts/mips/FIREWRT.dts new file mode 100644 index 000000000000..e7cfb1174408 --- /dev/null +++ b/sys/gnu/dts/mips/FIREWRT.dts @@ -0,0 +1,122 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "Firefly FireWRT"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x1c000000>, <0x20000000 0x4000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "firewrt:green:power"; + gpios = <&gpio0 22 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 18 1>; + linux,code = <0x211>; + }; + + power { + label = "power"; + gpios = <&gpio0 23 1>; + linux,code = <116>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "rgmii2"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/FONERA20N.dts b/sys/gnu/dts/mips/FONERA20N.dts new file mode 100644 index 000000000000..a9d0acdc87aa --- /dev/null +++ b/sys/gnu/dts/mips/FONERA20N.dts @@ -0,0 +1,134 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "FONERA20N", "ralink,rt3052-soc"; + model = "La Fonera 2.0N"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "fonera20n:orange:wifi"; + gpios = <&gpio0 7 1>; + }; + + power { + label = "fonera20n:green:power"; + gpios = <&gpio0 9 1>; + }; + + usb { + label = "fonera20n:orange:usb"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + + switch { + label = "switch"; + gpios = <&gpio0 13 1>; + linux,code = <0xf7>; + linux,input-type = <5>; /* EV_SW */ + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + + port@0 { + compatible = "swconfig,port"; + swconfig,segment = "lan"; + swconfig,portmap = <0 4>; + }; + + port@1 { + compatible = "swconfig,port"; + swconfig,segment = "lan"; + swconfig,portmap = <1 3>; + }; + + port@2 { + compatible = "swconfig,port"; + swconfig,segment = "lan"; + swconfig,portmap = <2 2>; + }; + + port@3 { + compatible = "swconfig,port"; + swconfig,segment = "lan"; + swconfig,portmap = <3 1>; + }; + + port@4 { + compatible = "swconfig,port"; + swconfig,segment = "wan"; + swconfig,portmap = <4 0>; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/FREESTATION5.dts b/sys/gnu/dts/mips/FREESTATION5.dts new file mode 100644 index 000000000000..0e38c553d890 --- /dev/null +++ b/sys/gnu/dts/mips/FREESTATION5.dts @@ -0,0 +1,102 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "FREESTATION5", "ralink,rt3050-soc"; + model = "ARC FreeStation5"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x01>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; + + gpio-export { + compatible = "gpio-export"; + + // Used to enable power-over-ethernet passthrough from port0 to port1. + // Disable passthrough by default to prevent accidental equipment damage. + poe { + gpio-export,name = "poe-passthrough"; + gpio-export,output = <1>; // OUT_INIT_HIGH + gpios = <&gpio0 11 1>; // GPIO 11, ACTIVE_LOW + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + // The following leds are defined in the ArcOS firmware, but reportedly + // not present in the Freestation5 device. + wifi { + label = "freestation5:unknown:wifi"; + gpios = <&gpio0 7 1>; + }; + + powerg { + label = "freestation5:unknown:powerg"; + gpios = <&gpio0 9 1>; + }; + + usb { + label = "freestation5:unknown:usb"; + gpios = <&gpio0 14 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/GL-MT300A.dts b/sys/gnu/dts/mips/GL-MT300A.dts new file mode 100644 index 000000000000..c1eb0a9818a3 --- /dev/null +++ b/sys/gnu/dts/mips/GL-MT300A.dts @@ -0,0 +1,164 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "GL-MT300A", "ralink,mt7620a-soc"; + model = "GL-MT300A"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "w25q128"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@ff0000 { + label = "art"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + sdhci@10130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4000>; + ralink,port-map = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wled","ephy","uartf","i2c"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "gl-mt300a:wan"; + gpios = <&gpio2 0 1>; + }; + + lan { + label = "gl-mt300a:lan"; + gpios = <&gpio2 1 1>; + }; + + wlan { + label = "gl-mt300a:wlan"; + gpios = <&gpio3 0 1>; + }; + + usb { + label = "gl-mt300a:usb"; + gpios = <&gpio0 7 1>; + }; + + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <0x198>; + }; + + BTN_0 { + label = "BTN_0"; + gpios = <&gpio0 1 1>; + linux,code = <0x100>; + }; + + BTN_1 { + label = "BTN_1"; + gpios = <&gpio0 2 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/GL-MT300N.dts b/sys/gnu/dts/mips/GL-MT300N.dts new file mode 100644 index 000000000000..82db37eecd0d --- /dev/null +++ b/sys/gnu/dts/mips/GL-MT300N.dts @@ -0,0 +1,153 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "GL-MT300N", "ralink,mt7620n-soc"; + model = "GL-MT300N"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "w25q128"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@ff0000 { + label = "art"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4000>; + ralink,port-map = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wled","ephy","i2c"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "gl-mt300n:wan"; + gpios = <&gpio2 0 1>; + }; + + lan { + label = "gl-mt300n:lan"; + gpios = <&gpio2 1 1>; + }; + + wlan { + label = "gl-mt300n:wlan"; + gpios = <&gpio3 0 1>; + }; + + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + BTN_0 { + label = "BTN_0"; + gpios = <&gpio2 2 1>; + linux,code = <0x100>; + }; + + BTN_1 { + label = "BTN_1"; + gpios = <&gpio2 3 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/GL-MT750.dts b/sys/gnu/dts/mips/GL-MT750.dts new file mode 100644 index 000000000000..a36ae5e4dc93 --- /dev/null +++ b/sys/gnu/dts/mips/GL-MT750.dts @@ -0,0 +1,159 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "GL-MT750", "ralink,mt7620a-soc"; + model = "GL-MT750"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "w25q128"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@ff0000 { + label = "art"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + sdhci@10130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4000>; + ralink,port-map = "llllw"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wled","ephy","uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "gl-mt750:wan"; + gpios = <&gpio2 0 1>; + }; + + lan { + label = "gl-mt750:lan"; + gpios = <&gpio2 1 1>; + }; + + wlan { + label = "gl-mt750:wlan"; + gpios = <&gpio3 0 1>; + }; + + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <0x198>; + }; + + BTN_0 { + label = "BTN_0"; + gpios = <&gpio2 2 1>; + linux,code = <0x100>; + }; + + BTN_1 { + label = "BTN_1"; + gpios = <&gpio2 3 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HC5661.dts b/sys/gnu/dts/mips/HC5661.dts new file mode 100644 index 000000000000..b9a717bc54e4 --- /dev/null +++ b/sys/gnu/dts/mips/HC5661.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +/include/ "HC5XXX.dtsi" + +/ { + compatible = "HC5661", "ralink,mt7620a-soc"; + model = "HiWiFi HC5661"; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "hc5661:blue:system"; + gpios = <&gpio0 9 1>; + }; + + internet { + label = "hc5661:blue:internet"; + gpios = <&gpio0 11 1>; + }; + + wlan2g { + label = "hc5661:blue:wlan2g"; + gpios = <&gpio3 0 1>; + }; + + wlan5g { + label = "hc5661:blue:wlan5g"; + gpios = <&gpio0 7 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HC5761.dts b/sys/gnu/dts/mips/HC5761.dts new file mode 100644 index 000000000000..a10904cc90c5 --- /dev/null +++ b/sys/gnu/dts/mips/HC5761.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +/include/ "HC5XXX.dtsi" + +/ { + compatible = "HC5761", "ralink,mt7620a-soc"; + model = "HiWiFi HC5761"; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "hc5761:blue:system"; + gpios = <&gpio0 9 1>; + }; + + internet { + label = "hc5761:blue:internet"; + gpios = <&gpio0 11 1>; + }; + + wlan2g { + label = "hc5761:blue:wlan2g"; + gpios = <&gpio3 0 1>; + }; + + wlan5g { + label = "hc5761:blue:wlan5g"; + gpios = <&gpio0 7 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HC5861.dts b/sys/gnu/dts/mips/HC5861.dts new file mode 100644 index 000000000000..b279db1835d7 --- /dev/null +++ b/sys/gnu/dts/mips/HC5861.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +/include/ "HC5XXX.dtsi" + +/ { + compatible = "HC5861", "ralink,mt7620a-soc"; + model = "HiWiFi HC5861"; + + ethernet@10100000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + mediatek,portmap = "wllll"; + + port@4 { + status = "okay"; + phy-handle = <&phy4>; + phy-mode = "rgmii"; + }; + + port@5 { + status = "okay"; + phy-handle = <&phy5>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "hc5861:blue:system"; + gpios = <&gpio0 9 1>; + }; + + wlan2g { + label = "hc5861:blue:wlan2g"; + gpios = <&gpio0 11 1>; + }; + + internet { + label = "hc5861:blue:internet"; + gpios = <&gpio3 0 1>; + }; + + wlan5g { + label = "hc5861:blue:wlan5g"; + gpios = <&gpio0 7 1>; + }; + + turbo { + label = "hc5861:blue:turbo"; + gpios = <&gpio0 10 1>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usbpower { + gpio-export,name = "usbpower"; + gpio-export,output = <0>; + gpios = <&gpio0 13 0>; + }; + + sdpower { + gpio-export,name = "sdpower"; + gpio-export,output = <0>; + gpios = <&gpio0 8 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HC5XXX.dtsi b/sys/gnu/dts/mips/HC5XXX.dtsi new file mode 100644 index 000000000000..84e2b8005377 --- /dev/null +++ b/sys/gnu/dts/mips/HC5XXX.dtsi @@ -0,0 +1,141 @@ +/include/ "mt7620a.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + sysc@0 { + ralink,gpiomux = "i2c", "jtag"; + ralink,uartmux = "gpio"; + ralink,wdtmux = <1>; + }; + + gpio0: gpio@600 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@fd0000 { + label = "hwf_config"; + reg = <0xfd0000 0x10000>; + }; + + bdinfo: partition@fe0000 { + label = "bdinfo"; + reg = <0xfe0000 0x10000>; + }; + + partition@ff0000 { + label = "backup"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uartf", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + + pa { + ralink,group = "pa"; + ralink,function = "pa"; + }; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usbpower { + gpio-export,name = "usbpower"; + gpio-export,output = <1>; + gpios = <&gpio0 13 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HG255D.dts b/sys/gnu/dts/mips/HG255D.dts new file mode 100644 index 000000000000..00f012c42519 --- /dev/null +++ b/sys/gnu/dts/mips/HG255D.dts @@ -0,0 +1,130 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "HG255D", "ralink,rt3052-soc"; + model = "HuaWei HG255D"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x1000000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + read-only; + }; + + factory: partition@60000 { + label = "factory"; + reg = <0x60000 0x20000>; + read-only; + }; + + partition@80000 { + label = "firmware"; + reg = <0x80000 0xf60000>; + }; + + partition@fa0000 { + label = "factory-orig"; + reg = <0xfa0000 0x20000>; + read-only; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "hg255d:green:power"; + gpios = <&gpio0 8 1>; + }; + + internet { + label = "hg255d:green:internet"; + gpios = <&gpio0 13 1>; + }; + + wifi { + label = "hg255d:green:wlan"; + gpios = <&gpio0 14 1>; + }; + + usb { + label = "hg255d:green:usb"; + gpios = <&gpio0 9 1>; + }; + + wps { + label = "hg255d:green:wps"; + gpios = <&gpio0 12 1>; + }; + + voice { + label = "hg255d:green:voice"; + gpios = <&gpio0 5 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <10>; + + reset { + label = "reset"; + gpios = <&gpio0 4 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x211>; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 0 1>; + linux,code = <0xf7>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/HLKRM04.dts b/sys/gnu/dts/mips/HLKRM04.dts new file mode 100644 index 000000000000..3c9a93ca8c91 --- /dev/null +++ b/sys/gnu/dts/mips/HLKRM04.dts @@ -0,0 +1,125 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "HLKRM04", "ralink,rt5350-soc"; + model = "HILINK HLK-RM04"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x1000000>; + }; + + chosen { + bootargs = "console=ttyS1,57600"; + }; + + palmbus@10000000 { + uart@500 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag"; + ralink,function = "gpio"; + }; + + uartf_gpio { + ralink,group = "uartf"; + ralink,function = "gpio uartf"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-export { + compatible = "gpio-export"; + #size-cells = <0>; + + /* I2C */ + gpio1 { + /* I2C_I2C_SD */ + gpio-export,name = "hlk-rm04:gpio0"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 1 0>; + }; + gpio2 { + /* I2C_I2C_SCLK */ + gpio-export,name = "hlk-rm04:gpio1"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 2 0>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + wps { + label = "wps"; + gpios = <&gpio0 14 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HPM.dts b/sys/gnu/dts/mips/HPM.dts new file mode 100644 index 000000000000..c1b8ff3eee45 --- /dev/null +++ b/sys/gnu/dts/mips/HPM.dts @@ -0,0 +1,149 @@ +/dts-v1/; + +/include/ "rt3883.dtsi" + +/ { + compatible = "HPM", "ralink,rt3883-soc"; + model = "Omnima HPM"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <25000000>; + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0030000>; + label = "u-boot"; + read-only; + }; + + partition@30000 { + reg = <0x00030000 0x00010000>; + label = "config"; + read-only; + }; + + factory: partition@40000 { + reg = <0x00040000 0x00010000>; + label = "factory"; + read-only; + }; + + partition@50000 { + reg = <0x00050000 0x00fb0000>; + label = "firmware"; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + phy-handle = <&phy0>; + phy-mode = "rgmii"; + mtd-mac-address = <&factory 0x28>; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@4 { + reg = <4>; + }; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio0 14 0>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "hpm:orange:power"; + gpios = <&gpio0 7 1>; + }; + + status { + label = "hpm:green:status"; + gpios = <&gpio0 21 1>; + }; + + eth { + label = "hpm:green:eth"; + gpios = <&gpio0 20 1>; + }; + + eth2 { + label = "hpm:red:eth"; + gpios = <&gpio0 18 1>; + }; + + wifi { + label = "hpm:green:wifi"; + gpios = <&gpio0 17 1>; + }; + + wifi2 { + label = "hpm:red:wifi"; + gpios = <&gpio0 19 1>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + /* gpio 12 and 13 handle the OC input */ + + usb0 { + gpio-export,name = "usb0"; + gpio-export,output = <1>; + gpios = <&gpio0 2 0>; + }; + + usb1 { + gpio-export,name = "usb1"; + gpio-export,output = <1>; + gpios = <&gpio0 1 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HT-TM02.dts b/sys/gnu/dts/mips/HT-TM02.dts new file mode 100644 index 000000000000..bb7f33379fae --- /dev/null +++ b/sys/gnu/dts/mips/HT-TM02.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "HT-TM02", "ralink,rt5350-soc"; + model = "HooToo HT-TM02"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x10>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wlan { + label = "ht-tm02:blue:wlan"; + gpios = <&gpio0 7 1>; + }; + + lan { + label = "ht-tm02:green:lan"; + gpios = <&gpio0 12 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + modeswitch { + label = "modeswitch"; + gpios = <&gpio0 14 1>; + linux,code = <0x100>; + linux,input-type = <5>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/HW550-3G.dts b/sys/gnu/dts/mips/HW550-3G.dts new file mode 100644 index 000000000000..8a88131d0c25 --- /dev/null +++ b/sys/gnu/dts/mips/HW550-3G.dts @@ -0,0 +1,114 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "HW550-3G", "ralink,rt3052-soc"; + model = "Aztech HW550-3G"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "hw550-3g:green:usb"; + gpios = <&gpio0 8 1>; + }; + + 3g { + label = "hw550-3g:green:3g"; + gpios = <&gpio0 11 1>; + }; + + status { + label = "hw550-3g:green:status"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "hw550-3g:green:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + connect { + label = "connect"; + gpios = <&gpio0 7 1>; + linux,code = <0xda>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/IP2202.dts b/sys/gnu/dts/mips/IP2202.dts new file mode 100644 index 000000000000..da6304521e26 --- /dev/null +++ b/sys/gnu/dts/mips/IP2202.dts @@ -0,0 +1,88 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "IP2202", "ralink,rt3052-soc"; + model = "Poray IP2202"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + run { + label = "ip2202:green:run"; + gpios = <&gpio0 9 1>; + }; + + net { + label = "ip2202:amber:net"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/JHR-N805R.dts b/sys/gnu/dts/mips/JHR-N805R.dts new file mode 100644 index 000000000000..9ddab6ee6d07 --- /dev/null +++ b/sys/gnu/dts/mips/JHR-N805R.dts @@ -0,0 +1,89 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "JHR-N805R", "ralink,rt3050-soc"; + model = "JCG JHR-N805R"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x2e>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "jhr-n805r:blue:system"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/JHR-N825R.dts b/sys/gnu/dts/mips/JHR-N825R.dts new file mode 100644 index 000000000000..2b648c570d1a --- /dev/null +++ b/sys/gnu/dts/mips/JHR-N825R.dts @@ -0,0 +1,81 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "JHR-N825R", "ralink,rt3052-soc"; + model = "JCG JHR-N825R"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x2e>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + system { + label = "jhr-n825r:red:power"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/JHR-N926R.dts b/sys/gnu/dts/mips/JHR-N926R.dts new file mode 100644 index 000000000000..f4dfd109fe80 --- /dev/null +++ b/sys/gnu/dts/mips/JHR-N926R.dts @@ -0,0 +1,127 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "JHR-N926R", "ralink,rt3052-soc"; + model = "JCG JHR-N926R"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x2e>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wlan1 { + label = "jhr-n926r:red:wlan"; + gpios = <&gpio0 20 1>; + }; + + wlan2 { + label = "jhr-n926r:yellow:wlan"; + gpios = <&gpio0 19 1>; + }; + + wlan3 { + label = "jhr-n926r:green:wlan"; + gpios = <&gpio0 17 1>; + }; + + system { + label = "jhr-n926r:blue:system"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + display_data { + gpio-export,name = "display_data"; + gpio-export,output = <1>; + gpios = <&gpio0 7 1>; + }; + + display_clock { + gpio-export,name = "display_clock"; + gpio-export,output = <1>; + gpios = <&gpio0 8 0>; + }; + + display_blank { + gpio-export,name = "display_blank"; + gpio-export,output = <1>; + gpios = <&gpio0 11 0>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wlan { + label = "wlan"; + gpios = <&gpio0 1 1>; + linux,code = <0x100>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/LINKIT7688.dts b/sys/gnu/dts/mips/LINKIT7688.dts new file mode 100644 index 000000000000..2dfb98c12ece --- /dev/null +++ b/sys/gnu/dts/mips/LINKIT7688.dts @@ -0,0 +1,177 @@ +/dts-v1/; + +/include/ "mt7628an.dtsi" + +/ { + compatible = "mediatek,linkit", "mediatek,mt7628an-soc"; + model = "MediaTek LinkIt Smart 7688"; + + chosen { + bootargs = "console=ttyS2,57600"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "gpio"; + ralink,function = "gpio"; + }; + + perst { + ralink,group = "perst"; + ralink,function = "gpio"; + }; + + refclk { + ralink,group = "refclk"; + ralink,function = "gpio"; + }; + + i2s { + ralink,group = "i2s"; + ralink,function = "gpio"; + }; + + spis { + ralink,group = "spis"; + ralink,function = "gpio"; + }; + + wled_kn { + ralink,group = "wled_kn"; + ralink,function = "gpio"; + }; + + wled_an { + ralink,group = "wled_an"; + ralink,function = "wled_an"; + }; + + wdt { + ralink,group = "wdt"; + ralink,function = "gpio"; + }; + }; + }; + + wmac@10300000 { + status = "okay"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l25635e"; + spi-max-frequency = <40000000>; + m25p,chunked-io = <31>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; + + spidev@1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spidev"; + reg = <1 0>; + spi-max-frequency = <40000000>; + }; + }; + + i2c@900 { + status = "okay"; + }; + + uart1@d00 { + status = "okay"; + }; + + uart2@e00 { + status = "okay"; + }; + + pwm@5000 { + status = "okay"; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + sdhci@10130000 { + status = "okay"; + mediatek,cd-high; + }; + + bootstrap { + compatible = "mediatek,linkit"; + + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "mediatek:orange:wifi"; + gpios = <&wgpio 0 0>; + default-state = "on"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "reset"; + gpios = <&gpio1 6 1>; + linux,code = <0x211>; + }; + }; + + wgpio: gpio-wifi { + compatible = "mediatek,gpio-wifi"; + #address-cells = <1>; + #size-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + }; + +}; diff --git a/sys/gnu/dts/mips/M2M.dts b/sys/gnu/dts/mips/M2M.dts new file mode 100644 index 000000000000..c547b5f5b639 --- /dev/null +++ b/sys/gnu/dts/mips/M2M.dts @@ -0,0 +1,112 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "M2M", "ralink,rt5350-soc"; + model = "Intenso Memory 2 Move"; + + chosen { + bootargs = "console=ttyS0,57600n8 root=/dev/mtdblock5"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "Bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "Config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "Factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "m2m:blue:wifi"; + gpios = <&gpio0 7 1>; + }; + + wan { + label = "m2m:green:wan"; + gpios = <&gpio0 12 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + power { + label = "power"; + gpios = <&gpio0 1 1>; + linux,code = <0x116>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0x0>; + }; +}; diff --git a/sys/gnu/dts/mips/M3.dts b/sys/gnu/dts/mips/M3.dts new file mode 100644 index 000000000000..0a78afeb85b9 --- /dev/null +++ b/sys/gnu/dts/mips/M3.dts @@ -0,0 +1,106 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "M3", "ralink,rt5350-soc"; + model = "Poray M3"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q32"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <1>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "m3:blue:status"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 17 1>; + linux,code = <0x100>; + linux,input-type = <5>; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + ralink,led-polarity = <1>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/M4-4M.dts b/sys/gnu/dts/mips/M4-4M.dts new file mode 100644 index 000000000000..d99e37a3fd16 --- /dev/null +++ b/sys/gnu/dts/mips/M4-4M.dts @@ -0,0 +1,94 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "M4", "ralink,rt5350-soc"; + model = "Poray M4"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "pm25lq032"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <1>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "m4:blue:status"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/M4-8M.dts b/sys/gnu/dts/mips/M4-8M.dts new file mode 100644 index 000000000000..b9a27309b7ec --- /dev/null +++ b/sys/gnu/dts/mips/M4-8M.dts @@ -0,0 +1,99 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "M4", "ralink,rt5350-soc"; + model = "Poray M4"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "gd25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <1>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "m4:blue:status"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + ralink,led-polarity = <1>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/MINIEMBPLUG.dts b/sys/gnu/dts/mips/MINIEMBPLUG.dts new file mode 100644 index 000000000000..12ff3b13a144 --- /dev/null +++ b/sys/gnu/dts/mips/MINIEMBPLUG.dts @@ -0,0 +1,120 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "MINIEMBPLUG", "ralink,rt5350-soc"; + model = "Omnima MiniEMBPlug"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wlan { + label = "miniembplug:red:wlan"; + gpios = <&gpio0 9 0>; + }; + + mobile { + label = "miniembplug:green:mobile"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x211>; + }; + + mode-one { + label = "mode1"; + gpios = <&gpio0 11 1>; + linux,code = <0x211>; + }; + + mode-two { + label = "mode2"; + gpios = <&gpio0 12 1>; + linux,code = <0x211>; + }; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/MINIEMBWIFI.dts b/sys/gnu/dts/mips/MINIEMBWIFI.dts new file mode 100644 index 000000000000..70557f9c2b47 --- /dev/null +++ b/sys/gnu/dts/mips/MINIEMBWIFI.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "MINIEMBWIFI", "ralink,rt3052-soc"; + model = "Omnima MiniEMBWiFi"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "miniembwifi:green:status"; + gpios = <&gpio0 9 1>; + }; + + wlan { + label = "miniembwifi:green:wlan"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/MIWIFI-MINI.dts b/sys/gnu/dts/mips/MIWIFI-MINI.dts new file mode 100644 index 000000000000..81a128e5bb65 --- /dev/null +++ b/sys/gnu/dts/mips/MIWIFI-MINI.dts @@ -0,0 +1,155 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "xiaomi,miwifi-mini", "ralink,mt7620a-soc"; + model = "Xiaomi MiWiFi Mini"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf80000>; + }; + + partition@fd0000 { + label = "crash"; + reg = <0xfd0000 0x10000>; + }; + + partition@fe0000 { + label = "reserved"; + reg = <0xfe0000 0x10000>; + read-only; + }; + + partition@ff0000 { + label = "Bdata"; + reg = <0xff0000 0x10000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "rgmii1"; + ralink,function = "gpio"; + }; + + pa { + ralink,group = "pa"; + ralink,function = "pa"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + blue { + label = "miwifi-mini:blue:status"; + gpios = <&gpio1 0 1>; + }; + + yellow { + label = "miwifi-mini:yellow:status"; + gpios = <&gpio1 2 1>; + }; + + red { + label = "miwifi-mini:red:status"; + gpios = <&gpio1 5 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio1 6 0>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MIWIFI-NANO.dts b/sys/gnu/dts/mips/MIWIFI-NANO.dts new file mode 100644 index 000000000000..363b90d4ff38 --- /dev/null +++ b/sys/gnu/dts/mips/MIWIFI-NANO.dts @@ -0,0 +1,91 @@ +/dts-v1/; + +/include/ "mt7628an.dtsi" + +/ { + compatible = "xiaomi,MiWifi Nano", "mediatek,mt7628an-soc"; + model = "MiWiFi Nano"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "refclk", "wled", "gpio"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "miwifi-nano:blue:wifi"; + gpios = <&gpio0 11 1>; + default-state = "1"; + }; + status { + label = "miwifi-nano:red:status"; + gpios = <&gpio1 5 1>; + default-state = "on"; + }; + radio { + label = "miwifi-nano:amber:radio"; + gpios = <&gpio1 12 1>; + default-state = "1"; + + }; + }; + + + wmac@10300000 { + status = "okay"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MLW221.dts b/sys/gnu/dts/mips/MLW221.dts new file mode 100644 index 000000000000..ab8e4c05a4e1 --- /dev/null +++ b/sys/gnu/dts/mips/MLW221.dts @@ -0,0 +1,122 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "mlw221", "ralink,mt7620n-soc"; + model = "Kingston MLW221"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl129p1"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf60000>; + }; + + partition@fb0000 { + label = "user-config"; + reg = <0xfb0000 0x50000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "i2c", "ephy", "wled"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "mlw221:blue:system"; + gpios = <&gpio2 3 1>; + }; + + wifi { + label = "mlw221:blue:wifi"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + system { + label = "system"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MLWG2.dts b/sys/gnu/dts/mips/MLWG2.dts new file mode 100644 index 000000000000..e08475e19f28 --- /dev/null +++ b/sys/gnu/dts/mips/MLWG2.dts @@ -0,0 +1,122 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "mlwg2", "ralink,mt7620n-soc"; + model = "Kingston MLWG2"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf60000>; + }; + + partition@fb0000 { + label = "user-config"; + reg = <0xfb0000 0x50000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "i2c", "ephy", "wled"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "mlwg2:blue:system"; + gpios = <&gpio2 3 1>; + }; + + wifi { + label = "mlwg2:blue:wifi"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + system { + label = "system"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MOFI3500-3GN.dts b/sys/gnu/dts/mips/MOFI3500-3GN.dts new file mode 100644 index 000000000000..9bd1f42d43bc --- /dev/null +++ b/sys/gnu/dts/mips/MOFI3500-3GN.dts @@ -0,0 +1,111 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "MOFI3500-3GN", "ralink,rt3052-soc"; + model = "MoFi Network MOFI3500-3GN"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "mofi3500-3gn:green:usb"; + gpios = <&gpio0 8 1>; + }; + + 3g { + label = "mofi3500-3gn:green:3g"; + gpios = <&gpio0 11 1>; + }; + + status { + label = "mofi3500-3gn:green:status"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "mofi3500-3gn:green:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + connect { + label = "connect"; + gpios = <&gpio0 7 1>; + linux,code = <0xda>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + wmac@10180000 { + status = "okay"; + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/MPRA1.dts b/sys/gnu/dts/mips/MPRA1.dts new file mode 100644 index 000000000000..973074875532 --- /dev/null +++ b/sys/gnu/dts/mips/MPRA1.dts @@ -0,0 +1,123 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "MPRA1", "ralink,rt5350-soc"; + model = "HAME MPR-A1"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + + gpio1: gpio@660 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf", "led"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "mpr-a1:blue:system"; + gpios = <&gpio0 20 1>; + }; + + power { + label = "mpr-a1:red:power"; + gpios = <&gpio0 17 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name = "usb"; + gpio-export,output = <1>; + gpios = <&gpio0 7 0>; + }; + + root_hub { + gpio-export,name = "root_hub"; + gpio-export,output = <1>; + gpios = <&gpio0 12 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MPRA2.dts b/sys/gnu/dts/mips/MPRA2.dts new file mode 100644 index 000000000000..86c741f1014f --- /dev/null +++ b/sys/gnu/dts/mips/MPRA2.dts @@ -0,0 +1,119 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "MPRA2", "ralink,rt5350-soc"; + model = "HAME MPR-A2"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "mpr-a2:blue:system"; + gpios = <&gpio0 20 1>; + }; + + power { + label = "mpr-a2:red:power"; + gpios = <&gpio0 17 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name = "usb"; + gpio-export,output = <1>; + gpios = <&gpio0 7 0>; + }; + + root_hub { + gpio-export,name = "root_hub"; + gpio-export,output = <1>; + gpios = <&gpio0 12 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MR-102N.dts b/sys/gnu/dts/mips/MR-102N.dts new file mode 100644 index 000000000000..2b6139737f99 --- /dev/null +++ b/sys/gnu/dts/mips/MR-102N.dts @@ -0,0 +1,115 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "MR-102N", "ralink,rt3052-soc"; + model = "AXIMCom MR-102N"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x790000>; + }; + + partition@7e0000 { + label = "nvram"; + reg = <0x7e0000 0x10000>; + }; + + partition@7f0000 { + label = "nvram_backup"; + reg = <0x7f0000 0x10000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + status = "okay"; + #mediatek,portmap = <0x3e>; + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "mr-102n:green:usb"; + gpios = <&gpio0 8 1>; + }; + + status { + label = "mr-102n:amber:status"; + gpios = <&gpio0 9 1>; + }; + + wlan { + label = "mr-102n:green:wlan"; + gpios = <&gpio0 11 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 18 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/MT7620a.dts b/sys/gnu/dts/mips/MT7620a.dts new file mode 100644 index 000000000000..db138e328d85 --- /dev/null +++ b/sys/gnu/dts/mips/MT7620a.dts @@ -0,0 +1,127 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc"; + model = "Ralink MT7620a + MT7610e evaluation board"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + mediatek,portmap = "llllw"; + + port@4 { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <&phy4>; + }; + + port@5 { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + + mdio-bus { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + pcie@10140000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + s2 { + label = "S2"; + gpios = <&gpio0 1 1>; + linux,code = <0x100>; + }; + + s3 { + label = "S3"; + gpios = <&gpio0 2 1>; + linux,code = <0x101>; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/MT7620a_MT7530.dts b/sys/gnu/dts/mips/MT7620a_MT7530.dts new file mode 100644 index 000000000000..784cc98aa430 --- /dev/null +++ b/sys/gnu/dts/mips/MT7620a_MT7530.dts @@ -0,0 +1,119 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc"; + model = "Ralink MT7620a + MT7530 evaluation board"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + mediatek,portmap = "llllw"; + + port@5 { + status = "okay"; + mediatek,fixed-link = <1000 1 1 1>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "rgmii"; + }; + + phy1: ethernet-phy@1 { + reg = <1>; + phy-mode = "rgmii"; + }; + + phy2: ethernet-phy@2 { + reg = <2>; + phy-mode = "rgmii"; + }; + + phy3: ethernet-phy@3 { + reg = <3>; + phy-mode = "rgmii"; + }; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy1f: ethernet-phy@1f { + reg = <0x1f>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + mediatek,mt7530 = <1>; + }; + + pcie@10140000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/MT7620a_MT7610e.dts b/sys/gnu/dts/mips/MT7620a_MT7610e.dts new file mode 100644 index 000000000000..4e3ba1e5eafc --- /dev/null +++ b/sys/gnu/dts/mips/MT7620a_MT7610e.dts @@ -0,0 +1,88 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc"; + model = "Ralink MT7620A evaluation board"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <1000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + pcie@10140000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 12 1>; + linux,code = <0x100>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MT7620a_V22SG.dts b/sys/gnu/dts/mips/MT7620a_V22SG.dts new file mode 100644 index 000000000000..f56d592663c6 --- /dev/null +++ b/sys/gnu/dts/mips/MT7620a_V22SG.dts @@ -0,0 +1,114 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc"; + model = "Ralink MT7620a V22SG High Power evaluation board"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "spi"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + mediatek,portmap = "llllw"; + + port@4 { + status = "okay"; + phy-handle = <&phy4>; + phy-mode = "rgmii"; + }; + + port@5 { + status = "okay"; + phy-handle = <&phy5>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + }; + + pcie@10140000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; + + nand { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mtk,mt7620-nand"; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + read-only; + }; + + factory: partition@60000 { + label = "factory"; + reg = <0x60000 0x20000>; + read-only; + }; + + partition@80000 { + label = "firmware"; + reg = <0x80000 0x7f80000>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MT7621.dts b/sys/gnu/dts/mips/MT7621.dts new file mode 100644 index 000000000000..341d8f2a70d3 --- /dev/null +++ b/sys/gnu/dts/mips/MT7621.dts @@ -0,0 +1,56 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "Mediatek MT7621 evaluation board"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + xhci@1E1C0000 { + status = "okay"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci"; + ralink,function = "gpio"; + }; + }; + }; + + nand@1e003000 { + partition@0 { + label = "uboot"; + reg = <0x00000 0x80000>; /* 64 KB */ + }; + + partition@80000 { + label = "uboot_env"; + reg = <0x80000 0x80000>; /* 64 KB */ + }; + + partition@100000 { + label = "factory"; + reg = <0x100000 0x40000>; + }; + + partition@140000 { + label = "rootfs"; + reg = <0x140000 0xec0000>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MT7628.dts b/sys/gnu/dts/mips/MT7628.dts new file mode 100644 index 000000000000..5e5b0a1928fd --- /dev/null +++ b/sys/gnu/dts/mips/MT7628.dts @@ -0,0 +1,65 @@ +/dts-v1/; + +/include/ "mt7628an.dtsi" + +/ { + compatible = "mediatek,mt7628an-eval-board", "mediatek,mt7628an-soc"; + model = "Mediatek MT7628AN evaluation board"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag"; + ralink,function = "gpio"; + }; + }; + }; + + wmac@10300000 { + status = "okay"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MZK-750DHP.dts b/sys/gnu/dts/mips/MZK-750DHP.dts new file mode 100644 index 000000000000..df0b73be9506 --- /dev/null +++ b/sys/gnu/dts/mips/MZK-750DHP.dts @@ -0,0 +1,111 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Planex MZK-750DHP"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "spi refclk", "rgmii1"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps { + label = "mzk-750dhp:green:wps"; + gpios = <&gpio1 11 1>; + }; + + power { + label = "mzk-750dhp:green:power"; + gpios = <&gpio1 15 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + s1 { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x100>; + }; + + s2 { + label = "wps"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MZK-DP150N.dts b/sys/gnu/dts/mips/MZK-DP150N.dts new file mode 100644 index 000000000000..821183965de3 --- /dev/null +++ b/sys/gnu/dts/mips/MZK-DP150N.dts @@ -0,0 +1,100 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "MZK-DP150N", "ralink,rt5350-soc"; + model = "Planex MZK-DP150N"; + + palmbus@10000000 { + gpio1: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + spidev@1 { + compatible = "linux,spidev"; + spi-max-frequency = <10000000>; + reg = <1>; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "jtag", "uartf", "led"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x17>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + ralink,led-polarity = <1>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "mzk-dp150n:green:power"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MZK-W300NH2.dts b/sys/gnu/dts/mips/MZK-W300NH2.dts new file mode 100644 index 000000000000..8b4335e416c0 --- /dev/null +++ b/sys/gnu/dts/mips/MZK-W300NH2.dts @@ -0,0 +1,111 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "MZK-W300NH2", "ralink,rt3052-soc"; + model = "Planex MZK-W300NH2"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@3e0000 { + label = "cimage"; + reg = <0x3e0000 0x20000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x390000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "mzk-w300nh2:green:power"; + gpios = <&gpio0 9 1>; + }; + + wlan { + label = "mzk-w300nh2:amber:wlan"; + gpios = <&gpio0 14 1>; + }; + + wps { + label = "mzk-w300nh2:amber:wps"; + gpios = <&gpio0 11 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 12 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + + rt { + label = "rt"; + gpios = <&gpio0 13 1>; + linux,code = <0x100>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MZK-WDPR.dts b/sys/gnu/dts/mips/MZK-WDPR.dts new file mode 100644 index 000000000000..1746949aa4d9 --- /dev/null +++ b/sys/gnu/dts/mips/MZK-WDPR.dts @@ -0,0 +1,86 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "MZK-WDPR", "ralink,rt3052-soc"; + model = "Planex MZK-WDPR"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@7f0000 { + label = "Data3G"; + reg = <0x7f0000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x680000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; + + gpio-export { + compatible = "gpio-export"; + + lcd_ctrl1 { + gpio-export,name = "lcd_ctrl1"; + gpio-export,output = <0>; + gpios = <&gpio0 1 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/MicroWRT.dts b/sys/gnu/dts/mips/MicroWRT.dts new file mode 100644 index 000000000000..fb0037505fd7 --- /dev/null +++ b/sys/gnu/dts/mips/MicroWRT.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "microwrt", "ralink,mt7620a-soc"; + model = "Microduino MicroWRT"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "u-boot-env"; + reg = <0x20000 0x10000>; + read-only; + }; + + factory: partition@30000 { + label = "factory"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0xfc0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + pcie@10140000 { + status = "okay"; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "wled", "i2c", "wdt", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/NA930.dts b/sys/gnu/dts/mips/NA930.dts new file mode 100644 index 000000000000..ade335647730 --- /dev/null +++ b/sys/gnu/dts/mips/NA930.dts @@ -0,0 +1,174 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc"; + model = "Sercomm NA930"; + + chosen { + bootargs = "console=ttyS1,57600"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "rgmii2", "spi", "ephy"; + ralink,function = "gpio"; + }; + + uartf_gpio { + ralink,group = "uartf"; + ralink,function = "gpio uartf"; + }; + }; + }; + + palmbus@10000000 { + uart@500 { + status = "okay"; + }; + + gpio@638 { + status = "okay"; + }; + + gpio@660 { + status = "okay"; + }; + }; + + nand { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mtk,mt7620-nand"; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@200000 { + label = "factory"; + reg = <0x200000 0x40000>; + read-only; + }; + + partition@240000 { + label = "Config"; + reg = <0x240000 0x400000>; + read-only; + }; + + partition@640000 { + label = "firmware"; + reg = <0x640000 0x1400000>; + }; + }; + + ethernet@10100000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &mdio_pins>; + mediatek,portmap = "llllw"; + + port@4 { + status = "okay"; + phy-handle = <&phy4>; + phy-mode = "rgmii"; + }; + + port@5 { + status = "okay"; + phy-handle = <&phy5>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 11 1>; + linux,code = <0x198>; + }; + + zwave { + label = "zwave"; + gpios = <&gpio0 12 1>; + linux,code = <0x100>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 14 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + zwave { + label = "na930:blue:zwave"; + gpios = <&gpio2 0 1>; + }; + + status { + label = "na930:blue:status"; + gpios = <&gpio2 26 1>; + }; + + service { + label = "na930:blue:service"; + gpios = <&gpio2 28 1>; + }; + + power { + label = "na930:blue:power"; + gpios = <&gpio2 29 1>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + telit { + gpio-export,name = "telit"; + gpio-export,output = <1>; + gpios = <&gpio0 13 0>; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/NBG-419N.dts b/sys/gnu/dts/mips/NBG-419N.dts new file mode 100644 index 000000000000..004381224131 --- /dev/null +++ b/sys/gnu/dts/mips/NBG-419N.dts @@ -0,0 +1,94 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "NBG-419N", "ralink,rt3052-soc"; + model = "ZyXEL NBG-419N"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "nbg-419n:green:power"; + gpios = <&gpio0 9 1>; + }; + + wps { + label = "nbg-419n:green:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/NCS601W.dts b/sys/gnu/dts/mips/NCS601W.dts new file mode 100644 index 000000000000..a7f1212e7100 --- /dev/null +++ b/sys/gnu/dts/mips/NCS601W.dts @@ -0,0 +1,75 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "NCS601W", "ralink,rt5350-soc"; + model = "Wansview NCS601W"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/NW718.dts b/sys/gnu/dts/mips/NW718.dts new file mode 100644 index 000000000000..8405b7af5f8c --- /dev/null +++ b/sys/gnu/dts/mips/NW718.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "NW718", "ralink,rt3050-soc"; + model = "Netcore NW718"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <25000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x20000>; + read-only; + }; + + factory: partition@50000 { + label = "factory"; + reg = <0x50000 0x10000>; + read-only; + }; + + partition@60000 { + label = "firmware"; + reg = <0x60000 0x3a0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + cpu { + label = "nw718:amber:cpu"; + gpios = <&gpio0 13 1>; + }; + + usb { + label = "nw718:amber:usb"; + gpios = <&gpio0 8 1>; + }; + + wps { + label = "nw718:amber:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/OY-0001.dts b/sys/gnu/dts/mips/OY-0001.dts new file mode 100644 index 000000000000..c9680d161999 --- /dev/null +++ b/sys/gnu/dts/mips/OY-0001.dts @@ -0,0 +1,125 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "OY-0001"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + powerled { + label = "oy-0001:green:power"; + gpios = <&gpio0 9 1>; + }; + + wifiled { + label = "oy-0001:green:wifi"; + gpios = <&gpio3 0 1>; + }; + }; + + sdhci@10130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + pcie@10140000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + s1 { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/PBR-M1.dts b/sys/gnu/dts/mips/PBR-M1.dts new file mode 100644 index 000000000000..9703a1bcb30a --- /dev/null +++ b/sys/gnu/dts/mips/PBR-M1.dts @@ -0,0 +1,187 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "PBR-M1"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x10000000>; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + sdhci@10130000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&sdhci_pins>; + }; + + xhci@1E1C0000 { + status = "okay"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + + }; + }; + + i2c@900 { + compatible = "ralink,i2c-mt7621"; + reg = <0x900 0x100>; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + status = "okay"; + + pcf8563: rtc@51 { + status = "okay"; + compatible = "nxp,pcf8563"; + reg = <0x51>; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "pbr-m1:blue:power"; + gpios = <&gpio0 31 1>; + }; + + sys { + label = "pbr-m1:blue:sys"; + gpios = <&gpio1 0 1>; + }; + + internet { + label = "pbr-m1:blue:internet"; + gpios = <&gpio0 29 1>; + }; + + wlan2g { + label = "pbr-m1:blue:wlan2g"; + gpios = <&gpio1 1 1>; + }; + + wlan5g { + label = "pbr-m1:blue:wlan5g"; + gpios = <&gpio0 28 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 18 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + power_usb2 { + gpio-export,name = "power_usb2"; + gpio-export,output = <1>; + gpios = <&gpio0 22 0>; + }; + + power_usb3 { + gpio-export,name = "power_usb3"; + gpio-export,output = <1>; + gpios = <&gpio0 25 0>; + }; + + power_sata { + gpio-export,name = "power_sata"; + gpio-export,output = <1>; + gpios = <&gpio0 27 0>; + }; + }; + + beeper: beeper { + compatible = "gpio-beeper"; + gpios = <&gpio0 26 1>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "rgmii2", "jtag", "mdio"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/PSG1208.dts b/sys/gnu/dts/mips/PSG1208.dts new file mode 100644 index 000000000000..c3be8ef7cba3 --- /dev/null +++ b/sys/gnu/dts/mips/PSG1208.dts @@ -0,0 +1,114 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "PSG1208", "ralink,mt7620a-soc"; + model = "Phicomm PSG1208"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@20000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@30000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "psg1208:white:wps"; + gpios = <&gpio1 15 1>; + }; + + wlan { + label = "psg1208:white:wlan2g"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/PSR-680W.dts b/sys/gnu/dts/mips/PSR-680W.dts new file mode 100644 index 000000000000..c5a600ad29a6 --- /dev/null +++ b/sys/gnu/dts/mips/PSR-680W.dts @@ -0,0 +1,91 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "PSR-680W", "ralink,rt3052-soc"; + model = "Petatel PSR-680W Wireless 3G Router"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "psr-680w:red:wan"; + gpios = <&gpio0 19 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/PWH2004.dts b/sys/gnu/dts/mips/PWH2004.dts new file mode 100644 index 000000000000..23ef1ff79fdc --- /dev/null +++ b/sys/gnu/dts/mips/PWH2004.dts @@ -0,0 +1,84 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "PWH2004", "ralink,rt3052-soc"; + model = "Prolink PWH2004"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "pwh2004:red:wifi"; + gpios = <&gpio0 14 1>; + }; + + power { + label = "pwh2004:green:power"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; +}; diff --git a/sys/gnu/dts/mips/PX-4885-4M.dts b/sys/gnu/dts/mips/PX-4885-4M.dts new file mode 100644 index 000000000000..10c784cca70f --- /dev/null +++ b/sys/gnu/dts/mips/PX-4885-4M.dts @@ -0,0 +1,43 @@ +/dts-v1/; + +/include/ "PX-4885.dtsi" + +/ { + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "devdata"; + reg = <0x20000 0x20000>; + read-only; + }; + + factory: partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/PX-4885-8M.dts b/sys/gnu/dts/mips/PX-4885-8M.dts new file mode 100644 index 000000000000..d4a0273a2777 --- /dev/null +++ b/sys/gnu/dts/mips/PX-4885-8M.dts @@ -0,0 +1,43 @@ +/dts-v1/; + +/include/ "PX-4885.dtsi" + +/ { + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "devdata"; + reg = <0x20000 0x20000>; + read-only; + }; + + factory: partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/PX-4885.dtsi b/sys/gnu/dts/mips/PX-4885.dtsi new file mode 100644 index 000000000000..05959ca71901 --- /dev/null +++ b/sys/gnu/dts/mips/PX-4885.dtsi @@ -0,0 +1,54 @@ +/include/ "rt5350.dtsi" + +/ { + compatible = "PX-4885", "ralink,rt5350-soc"; + model = "7Links PX-4885"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + orange { + label = "px-4885:orange:wifi"; + gpios = <&gpio0 18 1>; + }; + + blue { + label = "px-4885:blue:storage"; + gpios = <&gpio0 19 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RE6500.dts b/sys/gnu/dts/mips/RE6500.dts new file mode 100644 index 000000000000..9887c2868bbd --- /dev/null +++ b/sys/gnu/dts/mips/RE6500.dts @@ -0,0 +1,123 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "Linksys RE6500"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uart2", "uart3", "rgmii2"; + ralink,function = "gpio"; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0x2e>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "re6500:orange:wifi"; + gpios = <&gpio0 0 0>; + }; + + power { + label = "re6500:white:power"; + gpios = <&gpio0 9 0>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 11 0>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RP-N53.dts b/sys/gnu/dts/mips/RP-N53.dts new file mode 100644 index 000000000000..8ebceb263c4a --- /dev/null +++ b/sys/gnu/dts/mips/RP-N53.dts @@ -0,0 +1,166 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "asus,rp-n53", "ralink,mt7620a-soc"; + model = "Asus RP-N53"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + i2c@900 { + status = "okay"; + }; + + i2s@a00 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pcm_i2s_pins>; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + + pcm@2000 { + status = "okay"; + }; + + gdma@2800 { + status = "okay"; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "mdio", "rgmii1"; + ralink,function = "gpio"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + }; + + pcie@10140000 { + status = "okay"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + touch { + label = "touch"; + gpios = <&gpio1 0 1>; + linux,code = <0x100>; + }; + + wps { + label = "wps"; + gpios = <&gpio1 1 1>; + linux,code = <0x100>; + }; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <0x100>; + }; + + audio { + label = "audio"; + gpios = <&gpio1 3 0>; + linux,code = <0x101>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + backlight { + label = "rp-n53:white:back"; + gpios = <&gpio1 4 1>; + }; + + wifi0 { + label = "rp-n53:blue:5g3"; + gpios = <&gpio1 5 1>; + }; + + wifi1 { + label = "rp-n53:blue:5g2"; + gpios = <&gpio1 6 1>; + }; + + wifi2 { + label = "rp-n53:blue:5g1"; + gpios = <&gpio1 7 1>; + }; + + wifi3 { + label = "rp-n53:blue:wifi"; + gpios = <&gpio1 8 1>; + }; + + wifi4 { + label = "rp-n53:blue:2g1"; + gpios = <&gpio1 9 1>; + }; + + wifi5 { + label = "rp-n53:blue:2g2"; + gpios = <&gpio1 10 1>; + }; + + wifi6 { + label = "rp-n53:blue:2g3"; + gpios = <&gpio1 11 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RT-G32-B1.dts b/sys/gnu/dts/mips/RT-G32-B1.dts new file mode 100644 index 000000000000..5dcaf225e7c0 --- /dev/null +++ b/sys/gnu/dts/mips/RT-G32-B1.dts @@ -0,0 +1,86 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "RT-G32-B1", "ralink,rt3050-soc"; + model = "Asus RT-G32 B1"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + devconf: partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&devconf 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devconf 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RT-N10-PLUS.dts b/sys/gnu/dts/mips/RT-N10-PLUS.dts new file mode 100644 index 000000000000..ecd732e285f6 --- /dev/null +++ b/sys/gnu/dts/mips/RT-N10-PLUS.dts @@ -0,0 +1,80 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "RT-N10-PLUS", "ralink,rt3050-soc"; + model = "Asus RT-N10+"; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "devdata"; + reg = <0x30000 0x10000>; + read-only; + }; + + devconf: partition@40000 { + label = "devconf"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&devconf 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&devconf 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps { + label = "rt-n10-plus:green:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RT-N13U.dts b/sys/gnu/dts/mips/RT-N13U.dts new file mode 100644 index 000000000000..193bf1aa1528 --- /dev/null +++ b/sys/gnu/dts/mips/RT-N13U.dts @@ -0,0 +1,98 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "RT-N13U", "ralink,rt3052-soc"; + model = "Asus RT-N13U"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "rt-n13u:blue:power"; + gpios = <&gpio0 7 1>; + }; + + wifi { + label = "rt-n13u:blue:wifi"; + gpios = <&gpio0 8 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <10>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/RT-N14U.dts b/sys/gnu/dts/mips/RT-N14U.dts new file mode 100644 index 000000000000..4c03c0d45ed7 --- /dev/null +++ b/sys/gnu/dts/mips/RT-N14U.dts @@ -0,0 +1,128 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "asus,rt-n14u", "ralink,mt7620n-soc"; + model = "Asus RT-N14U"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "ephy", "wled", "i2c"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wan { + label = "rt-n14u:blue:wan"; + gpios = <&gpio2 0 1>; + }; + + lan { + label = "rt-n14u:blue:lan"; + gpios = <&gpio2 1 1>; + }; + + usb { + label = "rt-n14u:blue:usb"; + gpios = <&gpio2 2 1>; + }; + + power { + label = "rt-n14u:blue:power"; + gpios = <&gpio2 3 1>; + }; + + air { + label = "rt-n14u:blue:air"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RT-N15.dts b/sys/gnu/dts/mips/RT-N15.dts new file mode 100644 index 000000000000..85154634798d --- /dev/null +++ b/sys/gnu/dts/mips/RT-N15.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "rt2880.dtsi" + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "RT-N15", "ralink,rt2880-soc"; + model = "Asus RT-N15"; + + palmbus@300000 { + gpio0: gpio@600 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartlite", "mdio"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@400000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + + port@0 { + mediatek,fixed-link = <1000 1 1 1>; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + phy-mode = "mii"; + reg = <0>; + }; + }; + }; + + rtl8366s { + compatible = "realtek,rtl8366s"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + }; + + wmac@480000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio0 0 0>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 12 0>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "rt-n15:blue:power"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RT-N56U.dts b/sys/gnu/dts/mips/RT-N56U.dts new file mode 100644 index 000000000000..0b6857d072ca --- /dev/null +++ b/sys/gnu/dts/mips/RT-N56U.dts @@ -0,0 +1,151 @@ +/dts-v1/; + +/include/ "rt3883.dtsi" + +/ { + compatible = "RT-N56U", "ralink,rt3883-soc"; + model = "Asus RT-N56U"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + + port@0 { + mediatek,fixed-link = <1000 1 1 1>; + }; + }; + + pci@10140000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pci_pins>; + + pci_pins: pci { + pci { + ralink,group = "pci"; + ralink,function = "pci-fnc"; + }; + }; + + host-bridge { + pci-bridge@1 { + status = "okay"; + + wmac@0,0 { + compatible = "ralink,rt2880-pci", "pciclass060400", "pciclass0604"; + reg = < 0x10000 0 0 0 0 >; + ralink,eeprom = "rt2x00pci_1_0.eeprom"; + }; + }; + }; + }; + + wmac@10180000 { + status = "okay"; + ralink,2ghz = <0>; + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + nor-flash@1c000000 { + compatible = "cfi-flash"; + reg = <0x1c000000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0030000>; + label = "u-boot"; + read-only; + }; + + partition@30000 { + reg = <0x00030000 0x00010000>; + label = "u-boot-env"; + read-only; + }; + + factory: partition@40000 { + reg = <0x00040000 0x00010000>; + label = "factory"; + read-only; + }; + + partition@50000 { + reg = <0x00050000 0x007b0000>; + label = "firmware"; + }; + }; + + rtl8367 { + compatible = "realtek,rtl8367"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + realtek,extif1 = <1 0 1 1 1 1 1 1 2>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio1 2 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "rt-n56u:blue:power"; + gpios = <&gpio0 0 1>; + }; + + lan { + label = "rt-n56u:blue:lan"; + gpios = <&gpio0 19 1>; + }; + + wan { + label = "rt-n56u:blue:wan"; + gpios = <&gpio1 3 1>; + }; + + usb { + label = "rt-n56u:blue:usb"; + gpios = <&gpio1 0 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RT5350F-OLINUXINO-EVB.dts b/sys/gnu/dts/mips/RT5350F-OLINUXINO-EVB.dts new file mode 100644 index 000000000000..8d32230533dd --- /dev/null +++ b/sys/gnu/dts/mips/RT5350F-OLINUXINO-EVB.dts @@ -0,0 +1,102 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "RT5350F-OLINUXINO-EVB", "ralink,rt5350-soc"; + model = "Olimex RT5350F-OLinuXino-EVB"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + + gpio1: gpio@660 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <0x17>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + relay1 { + gpio-export,name = "relay1"; + gpio-export,output = <0>; + gpios = <&gpio0 14 0>; + }; + + relay2 { + gpio-export,name = "relay2"; + gpio-export,output = <0>; + gpios = <&gpio0 12 0>; + }; + + button { + gpio-export,name = "button"; + gpios = <&gpio0 0 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/RT5350F-OLINUXINO.dts b/sys/gnu/dts/mips/RT5350F-OLINUXINO.dts new file mode 100644 index 000000000000..169771ea497d --- /dev/null +++ b/sys/gnu/dts/mips/RT5350F-OLINUXINO.dts @@ -0,0 +1,80 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "RT5350F-OLINUXINO", "ralink,rt5350-soc"; + model = "Olimex RT5350F-OLinuXino"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + + gpio1: gpio@660 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <0x17>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/RUT5XX.dts b/sys/gnu/dts/mips/RUT5XX.dts new file mode 100644 index 000000000000..fc9f3e433179 --- /dev/null +++ b/sys/gnu/dts/mips/RUT5XX.dts @@ -0,0 +1,93 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "RUT5XX", "ralink,rt3050-soc"; + model = "Teltonika RUT5XX"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "n25q128a13"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "rut5xx:green:status"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/SAP-G3200U3.dts b/sys/gnu/dts/mips/SAP-G3200U3.dts new file mode 100644 index 000000000000..343742b5dd73 --- /dev/null +++ b/sys/gnu/dts/mips/SAP-G3200U3.dts @@ -0,0 +1,124 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "STORYLiNK SAP-G3200U3"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x1000>; + read-only; + }; + + partition@31000 { + label = "config"; + reg = <0x31000 0xf000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe006>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "sap-g3200u3:green:usb"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 16 1>; + linux,code = <0x198>; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 14 1>; + linux,code = <0xf7>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uart3", "jtag"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/SL-R7205.dts b/sys/gnu/dts/mips/SL-R7205.dts new file mode 100644 index 000000000000..9fe78452cc6b --- /dev/null +++ b/sys/gnu/dts/mips/SL-R7205.dts @@ -0,0 +1,93 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "SL-R7205", "ralink,rt3052-soc"; + model = "Skyline SL-R7205 Wireless 3G Router"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "sl-r7205:green:wifi"; + gpios = <&gpio0 7 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/TEW-691GR.dts b/sys/gnu/dts/mips/TEW-691GR.dts new file mode 100644 index 000000000000..5bd6444f87b5 --- /dev/null +++ b/sys/gnu/dts/mips/TEW-691GR.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3883.dtsi" + +/ { + compatible = "TEW-691GR", "ralink,rt3883-soc"; + model = "TRENDnet TEW-691GR"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + + port@0 { + phy-handle = <&phy0>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + }; + }; + }; + + wmac@10180000 { + ralink,5ghz = <0>; + }; + + nor-flash@1c000000 { + compatible = "cfi-flash"; + reg = <0x1c000000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0030000>; + label = "u-boot"; + read-only; + }; + + partition@30000 { + reg = <0x00030000 0x00010000>; + label = "u-boot-env"; + read-only; + }; + + factory: partition@40000 { + reg = <0x00040000 0x00010000>; + label = "factory"; + read-only; + }; + + partition@50000 { + reg = <0x00050000 0x007b0000>; + label = "firmware"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio1 2 1>; + linux,code = <0x211>; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 0 1>; + linux,code = <0xf7>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps { + label = "tew-691gr:green:wps"; + gpios = <&gpio0 9 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/TEW-692GR.dts b/sys/gnu/dts/mips/TEW-692GR.dts new file mode 100644 index 000000000000..17835f616e49 --- /dev/null +++ b/sys/gnu/dts/mips/TEW-692GR.dts @@ -0,0 +1,128 @@ +/dts-v1/; + +/include/ "rt3883.dtsi" + +/ { + compatible = "TEW-692GR", "ralink,rt3883-soc"; + model = "TRENDnet TEW-692GR"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + mtd-mac-address = <&factory 0x28>; + + port@0 { + phy-handle = <&phy0>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + }; + }; + }; + + pci@10140000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pci_pins>; + + pci_pins: pci { + pci { + ralink,group = "pci"; + ralink,function = "pci-fnc"; + }; + }; + + host-bridge { + pci-bridge@1 { + status = "okay"; + }; + }; + }; + + wmac@10180000 { + ralink,5ghz = <0>; + }; + + nor-flash@1c000000 { + compatible = "cfi-flash"; + reg = <0x1c000000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0030000>; + label = "u-boot"; + read-only; + }; + + partition@30000 { + reg = <0x00030000 0x00010000>; + label = "u-boot-env"; + read-only; + }; + + factory: partition@40000 { + reg = <0x00040000 0x00010000>; + label = "factory"; + read-only; + }; + + partition@50000 { + reg = <0x00050000 0x007b0000>; + label = "firmware"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio1 2 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps { + label = "tew-692gr:orange:wps"; + gpios = <&gpio0 9 1>; + }; + + wps2 { + label = "tew-692gr:green:wps"; + gpios = <&gpio1 4 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/TINY-AC.dts b/sys/gnu/dts/mips/TINY-AC.dts new file mode 100644 index 000000000000..ae4c4b54b2bb --- /dev/null +++ b/sys/gnu/dts/mips/TINY-AC.dts @@ -0,0 +1,166 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "TINY-AC", "ralink,mt7620a-soc"; + model = "Dovado Tiny AC"; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + mediatek,portmap = "llllw"; + + port@4 { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <&phy4>; + }; + + port@5 { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + + mdio-bus { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + mediatek,mt7530 = <1>; + + }; + + wmac@10180000 { + ralink,eeprom = "rt2x00pci_1_0.eeprom"; + }; + + pcie@10140000 { + status = "okay"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uartf", "nd_sd", "wled"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "tiny-ac:green:usb"; + gpios = <&gpio0 11 1>; + }; + + wifi { + label = "tiny-ac:orange:wifi"; + gpios = <&gpio3 0 1>; + }; + + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <0x198>; + }; + + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usbpower { + gpio-export,name = "usbpower"; + gpio-export,output = <1>; + gpios = <&gpio2 5 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/UBNT-ERX.dts b/sys/gnu/dts/mips/UBNT-ERX.dts new file mode 100644 index 000000000000..ec31a37f0b70 --- /dev/null +++ b/sys/gnu/dts/mips/UBNT-ERX.dts @@ -0,0 +1,114 @@ +#include + +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "UBNT-ERX"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x10000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@1E000000 { + spi@b00 { + /* This board has 2Mb spi flash soldered in and visible + from manufacturer's firmware. + But this SoC shares spi and nand pins, + and current driver does't handle this sharing well */ + status = "disabled"; + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <1>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "spi"; + reg = <0x0 0x200000>; + read-only; + }; + }; + }; + }; + + nand@1e003000 { + status = "okay"; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x80000>; + read-only; + }; + + partition@80000 { + label = "u-boot-env"; + reg = <0x80000 0x60000>; + read-only; + }; + + factory: partition@e0000 { + label = "factory"; + reg = <0xe0000 0x60000>; + }; + + partition@140000 { + label = "kernel1"; + reg = <0x140000 0x300000>; + }; + + partition@440000 { + label = "kernel2"; + reg = <0x440000 0x300000>; + }; + + partition@740000 { + label = "ubi"; + reg = <0x740000 0xf7c0000>; + }; + + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0x22>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uart2", "uart3", "i2c", "pcie", "rgmii2", "jtag"; + ralink,function = "gpio"; + }; + }; + }; + + sdhci@1E130000 { + status = "disabled"; + }; + + pcie@1e140000 { + status = "disabled"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = ; + }; + }; +}; diff --git a/sys/gnu/dts/mips/UR-326N4G.dts b/sys/gnu/dts/mips/UR-326N4G.dts new file mode 100644 index 000000000000..b95eaf02074d --- /dev/null +++ b/sys/gnu/dts/mips/UR-326N4G.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "UR-326N4G", "ralink,rt3052-soc"; + model = "UPVEL UR-326N4G"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4004>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + 3g { + label = "ur-326n4g:green:3g"; + gpios = <&gpio0 9 1>; + }; + + gateway { + label = "ur-326n4g:green:gateway"; + gpios = <&gpio0 11 1>; + }; + + ap { + label = "ur-326n4g:green:ap"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "ur-326n4g:green:wps"; + gpios = <&gpio0 14 1>; + }; + + station { + label = "ur-326n4g:green:station"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 7 1>; + linux,code = <0x32>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/UR-336UN.dts b/sys/gnu/dts/mips/UR-336UN.dts new file mode 100644 index 000000000000..5feaba34a7e0 --- /dev/null +++ b/sys/gnu/dts/mips/UR-336UN.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "UR-336UN", "ralink,rt3052-soc"; + model = "UPVEL UR-336UN"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + }; + + /* FIXME: no partitions defined */ +/* ethernet@10100000 { + mtd-mac-address = <&factory 0x4004>; + }; +*/ + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + /* FIXME: no partitions defined */ +/* wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; +*/ + gpio-leds { + compatible = "gpio-leds"; + + 3g { + label = "ur-336un:green:3g"; + gpios = <&gpio0 9 1>; + }; + + gateway { + label = "ur-336un:green:gateway"; + gpios = <&gpio0 11 1>; + }; + + ap { + label = "ur-336un:green:ap"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "ur-336un:green:wps"; + gpios = <&gpio0 14 1>; + }; + + station { + label = "ur-336un:green:station"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 7 1>; + linux,code = <0x32>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/V11STFE.dts b/sys/gnu/dts/mips/V11STFE.dts new file mode 100644 index 000000000000..5a43e6dcf07a --- /dev/null +++ b/sys/gnu/dts/mips/V11STFE.dts @@ -0,0 +1,85 @@ +/dts-v1/; + +/include/ "rt2880.dtsi" + +/ { + compatible = "V11ST-FE", "ralink,rt2880-soc"; + model = "Ralink V11ST-FE"; + + palmbus@300000 { + gpio0: gpio@600 { + status = "okay"; + }; + }; + + ethernet@400000 { + status = "okay"; + }; + + wmac@480000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pci@10140000 { + status = "okay"; + + host-bridge { + pci-bridge@1 { + status = "okay"; + }; + }; + }; + + nor-flash@1c000000 { + compatible = "cfi-flash"; + reg = <0x1c000000 0x800000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x0030000>; + label = "u-boot"; + read-only; + }; + + partition@30000 { + reg = <0x00030000 0x00010000>; + label = "u-boot-env"; + read-only; + }; + + factory: partition@40000 { + reg = <0x00040000 0x00010000>; + label = "factory"; + read-only; + }; + + partition@50000 { + reg = <0x00050000 0x003b0000>; + label = "firmware"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio0 0 0>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "v11st-fe:green:status"; + gpios = <&gpio0 12 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/V22RW-2X2.dts b/sys/gnu/dts/mips/V22RW-2X2.dts new file mode 100644 index 000000000000..98e8da06316e --- /dev/null +++ b/sys/gnu/dts/mips/V22RW-2X2.dts @@ -0,0 +1,94 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "V22RW-2X2", "ralink,rt3052-soc"; + model = "Ralink AP-RT3052-V22RW-2X2"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + security { + label = "v22rw-2x2:green:security"; + gpios = <&gpio0 13 1>; + }; + + wps { + label = "v22rw-2x2:red:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/VOCORE-16M.dts b/sys/gnu/dts/mips/VOCORE-16M.dts new file mode 100644 index 000000000000..680b486cd6fc --- /dev/null +++ b/sys/gnu/dts/mips/VOCORE-16M.dts @@ -0,0 +1,39 @@ +/dts-v1/; + +/include/ "VOCORE.dtsi" + +&spi0 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/VOCORE-8M.dts b/sys/gnu/dts/mips/VOCORE-8M.dts new file mode 100644 index 000000000000..e8f9c2c2c151 --- /dev/null +++ b/sys/gnu/dts/mips/VOCORE-8M.dts @@ -0,0 +1,39 @@ +/dts-v1/; + +/include/ "VOCORE.dtsi" + +&spi0 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/VOCORE.dtsi b/sys/gnu/dts/mips/VOCORE.dtsi new file mode 100644 index 000000000000..ab1c53ef433d --- /dev/null +++ b/sys/gnu/dts/mips/VOCORE.dtsi @@ -0,0 +1,197 @@ +/include/ "rt5350.dtsi" + +/ { + compatible = "VoCore", "ralink,rt5350-soc"; + model = "VoCore"; + + palmbus@10000000 { + gpio1: gpio@660 { + status = "okay"; + }; + + i2c@900 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "jtag", "uartf", "led"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x17>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-export { + compatible = "gpio-export"; + #size-cells = <0>; + + gpio0 { + gpio-export,name = "gpio0"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 0 0>; + }; + + /* UARTF */ + gpio7 { + /* UARTF_RTS_N */ + gpio-export,name = "gpio7"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 7 0>; + }; + + gpio8 { + /* UARTF_TXD */ + gpio-export,name = "gpio8"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 8 0>; + }; + + gpio9 { + /* UARTF_CTS_N */ + gpio-export,name = "gpio9"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 9 0>; + }; + + gpio12 { + /* UARTF_DCD_N */ + gpio-export,name = "gpio12"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 12 0>; + }; + + gpio13 { + /* UARTF_DSR_N */ + gpio-export,name = "gpio13"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 13 0>; + }; + + gpio14 { + /* UARTF_RIN */ + gpio-export,name = "gpio14"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 14 0>; + }; + + /* JTAG */ + gpio17 { + /* JTAG_TDO */ + gpio-export,name = "gpio17"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 17 0>; + }; + + gpio18 { + /* JTAG_TDI */ + gpio-export,name = "gpio18"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 18 0>; + }; + + gpio19 { + /* JTAG_TMS */ + gpio-export,name = "gpio19"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 19 0>; + }; + + gpio20 { + /* JTAG_TCLK */ + gpio-export,name = "gpio20"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 20 0>; + }; + + gpio21 { + /* JTAG_TRST_N */ + gpio-export,name = "gpio21"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio0 21 0>; + }; + + /* ETH LEDs */ + gpio22 { + /* ETH0_LED */ + gpio-export,name = "gpio22"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio1 0 0>; + }; + + gpio23 { + /* ETH1_LED */ + gpio-export,name = "gpio23"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio1 1 0>; + }; + + gpio24 { + /* ETH2_LED */ + gpio-export,name = "gpio24"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio1 2 0>; + }; + + gpio25 { + /* ETH3_LED */ + gpio-export,name = "gpio25"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio1 3 0>; + }; + + gpio26 { + /* ETH4_LED */ + gpio-export,name = "gpio26"; + gpio-export,direction_may_change = <1>; + gpios = <&gpio1 4 0>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + /* UARTF_RXD */ + label = "vocore:green:status"; + gpios = <&gpio0 10 0>; + }; + + eth { + /* UARTF_DTR_N */ + label = "vocore:orange:eth"; + gpios = <&gpio0 11 0>; + }; + }; +}; + +&spi1 { + status = "okay"; + + spidev@0 { + compatible = "linux,spidev"; + spi-max-frequency = <10000000>; + reg = <0>; + }; +}; diff --git a/sys/gnu/dts/mips/W150M.dts b/sys/gnu/dts/mips/W150M.dts new file mode 100644 index 000000000000..49790892cdee --- /dev/null +++ b/sys/gnu/dts/mips/W150M.dts @@ -0,0 +1,114 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "W150M", "ralink,rt3050-soc"; + model = "Tenda W150M"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3c8000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + 3grouter { + label = "w150m:blue:3grouter"; + gpios = <&gpio0 11 1>; + }; + + ap { + label = "w150m:blue:ap"; + gpios = <&gpio0 12 1>; + }; + + wisprouter { + label = "w150m:blue:wisprouter"; + gpios = <&gpio0 9 1>; + }; + + wirelessrouter { + label = "w150m:blue:wirelessrouter"; + gpios = <&gpio0 13 1>; + }; + + 3g { + label = "w150m:blue:3g"; + gpios = <&gpio0 7 1>; + }; + + wpsreset { + label = "w150m:blue:wpsreset"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 10 1>; + linux,code = <0x100>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; +}; diff --git a/sys/gnu/dts/mips/W306R_V20.dts b/sys/gnu/dts/mips/W306R_V20.dts new file mode 100644 index 000000000000..c6ed9406432d --- /dev/null +++ b/sys/gnu/dts/mips/W306R_V20.dts @@ -0,0 +1,88 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "W306R_V20", "ralink,rt3052-soc"; + model = "Tenda W306R V2.0"; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + sys { + label = "w306r-v20:green:sys"; + gpios = <&gpio0 9 1>; + }; + + wps { + label = "w306r-v20:green:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "RESET/WPS"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/W502U.dts b/sys/gnu/dts/mips/W502U.dts new file mode 100644 index 000000000000..112a4bda75fc --- /dev/null +++ b/sys/gnu/dts/mips/W502U.dts @@ -0,0 +1,102 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "W502U", "ralink,rt3052-soc"; + model = "ALFA Networks W502U"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "w502u:blue:usb"; + gpios = <&gpio0 13 1>; + }; + + wps { + label = "w502u:blue:wps"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/WCR150GN.dts b/sys/gnu/dts/mips/WCR150GN.dts new file mode 100644 index 000000000000..ed80b6f5bf87 --- /dev/null +++ b/sys/gnu/dts/mips/WCR150GN.dts @@ -0,0 +1,98 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WCR150GN", "ralink,rt3050-soc"; + model = "Sparklan WCR-150GN"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + user { + label = "wcr-150gn:amber:user"; + gpios = <&gpio0 12 1>; + }; + + power { + label = "wcr-150gn:amber:power"; + gpios = <&gpio0 8 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/WF-2881.dts b/sys/gnu/dts/mips/WF-2881.dts new file mode 100644 index 000000000000..d33436c64a82 --- /dev/null +++ b/sys/gnu/dts/mips/WF-2881.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "NETIS WF-2881"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + palmbus@1E000000 { + spi@b00 { + status="disabled"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + nand@1e003000 { + status = "okay"; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x1000>; + read-only; + }; + + partition@80000 { + label = "config"; + reg = <0x80000 0x80000>; + read-only; + }; + + factory: partition@100000 { + label = "factory"; + reg = <0x100000 0x40000>; + read-only; + }; + + partition@140000 { + label = "firmware"; + reg = <0x140000 0x7E40000>; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe006>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "wf-2881:green:usb"; + gpios = <&gpio0 6 1>; + }; + + wps { + label = "wf-2881:green:wps"; + gpios = <&gpio0 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = <0x198>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uart3", "jtag"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WHR-1166D.dts b/sys/gnu/dts/mips/WHR-1166D.dts new file mode 100644 index 000000000000..d3e9b7a4a425 --- /dev/null +++ b/sys/gnu/dts/mips/WHR-1166D.dts @@ -0,0 +1,172 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Buffalo WHR-1166D"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &mdio_pins>; + + port@5 { + status = "okay"; + phy-handle = <&phy5>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 32768>; + mediatek,2ghz = <0>; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "whr-1166d:red:power"; + gpios = <&gpio0 7 1>; + }; + + wifi { + label = "whr-1166d:green:wifi"; + gpios = <&gpio0 8 1>; + }; + + power2 { + label = "whr-1166d:green:power"; + gpios = <&gpio0 9 1>; + }; + + wifi2 { + label = "whr-1166d:orange:wifi"; + gpios = <&gpio0 10 1>; + }; + + internet { + label = "whr-1166d:green:internet"; + gpios = <&gpio2 17 1>; + }; + + router { + label = "whr-1166d:orange:router"; + gpios = <&gpio2 18 1>; + }; + + router2 { + label = "whr-1166d:green:router"; + gpios = <&gpio2 19 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio2 12 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio2 13 1>; + linux,code = <0x211>; + }; + + ap { + label = "ap"; + gpios = <&gpio2 14 1>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + + bridge { + label = "bridge"; + gpios = <&gpio2 15 1>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + }; +}; diff --git a/sys/gnu/dts/mips/WHR-300HP2.dts b/sys/gnu/dts/mips/WHR-300HP2.dts new file mode 100644 index 000000000000..638837da2f61 --- /dev/null +++ b/sys/gnu/dts/mips/WHR-300HP2.dts @@ -0,0 +1,150 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Buffalo WHR-300HP2"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + + pa { + ralink,group = "pa"; + ralink,function = "pa"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "whr-300hp2:red:power"; + gpios = <&gpio0 7 1>; + }; + + wifi { + label = "whr-300hp2:green:wifi"; + gpios = <&gpio0 8 1>; + }; + + power2 { + label = "whr-300hp2:green:power"; + gpios = <&gpio0 9 1>; + }; + + wifi2 { + label = "whr-300hp2:orange:wifi"; + gpios = <&gpio0 10 1>; + }; + + internet { + label = "whr-300hp2:green:internet"; + gpios = <&gpio2 17 1>; + }; + + router { + label = "whr-300hp2:green:router"; + gpios = <&gpio2 18 1>; + }; + + router2 { + label = "whr-300hp2:orange:router"; + gpios = <&gpio2 19 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio2 12 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio2 13 1>; + linux,code = <0x211>; + }; + + ap { + label = "ap"; + gpios = <&gpio2 14 1>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + + bridge { + label = "bridge"; + gpios = <&gpio2 15 1>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + }; +}; diff --git a/sys/gnu/dts/mips/WHR-600D.dts b/sys/gnu/dts/mips/WHR-600D.dts new file mode 100644 index 000000000000..3173342ec058 --- /dev/null +++ b/sys/gnu/dts/mips/WHR-600D.dts @@ -0,0 +1,150 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ralink,mt7620a-soc"; + model = "Buffalo WHR-600D"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + gsw@10110000 { + mediatek,port4 = "ephy"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pcie@10140000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "whr-600d:red:power"; + gpios = <&gpio0 7 1>; + }; + + wifi { + label = "whr-600d:green:wifi"; + gpios = <&gpio0 8 1>; + }; + + power2 { + label = "whr-600d:green:power"; + gpios = <&gpio0 9 1>; + }; + + wifi2 { + label = "whr-600d:orange:wifi"; + gpios = <&gpio0 10 1>; + }; + + internet { + label = "whr-600d:green:internet"; + gpios = <&gpio2 17 1>; + }; + + router { + label = "whr-600d:green:router"; + gpios = <&gpio2 18 1>; + }; + + router2 { + label = "whr-600d:orange:router"; + gpios = <&gpio2 19 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio2 12 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio2 13 1>; + linux,code = <0x211>; + }; + + ap { + label = "ap"; + gpios = <&gpio2 14 1>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + + bridge { + label = "bridge"; + gpios = <&gpio2 15 1>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + }; +}; diff --git a/sys/gnu/dts/mips/WHR-G300N.dts b/sys/gnu/dts/mips/WHR-G300N.dts new file mode 100644 index 000000000000..e433e7442628 --- /dev/null +++ b/sys/gnu/dts/mips/WHR-G300N.dts @@ -0,0 +1,85 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WHR-G300N", "ralink,rt3052-soc"; + model = "Buffalo WHR-G300N"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + /* FIXME: no partitions defined */ +/* wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; +*/ + gpio-leds { + compatible = "gpio-leds"; + + diag { + label = "whr-g300n:red:diag"; + gpios = <&gpio0 7 1>; + }; + + router { + label = "whr-g300n:green:router"; + gpios = <&gpio0 9 1>; + }; + + security { + label = "whr-g300n:amber:security"; + gpios = <&gpio0 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + router-off { + label = "router-off"; + gpios = <&gpio0 11 1>; + linux,code = <0x102>; + }; + + router-on { + label = "router-on"; + gpios = <&gpio0 8 1>; + linux,code = <0x103>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WITI.dts b/sys/gnu/dts/mips/WITI.dts new file mode 100644 index 000000000000..78e2bc960285 --- /dev/null +++ b/sys/gnu/dts/mips/WITI.dts @@ -0,0 +1,128 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "MQmaker WiTi"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x10000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + xhci@1E1C0000 { + status = "okay"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + + i2c@900 { + compatible = "ralink,i2c-mt7621"; + reg = <0x900 0x100>; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + status = "okay"; + + pcf8563: rtc@51 { + status = "okay"; + compatible = "nxp,pcf8563"; + reg = <0x51>; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + mtd-mac-address = <&factory 0xe000>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + mtd-mac-address = <&factory 0xe000>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 18 1>; + linux,code = <0x198>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "rgmii2", "jtag", "mdio"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WIZARD8800.dts b/sys/gnu/dts/mips/WIZARD8800.dts new file mode 100644 index 000000000000..7d8243c76de9 --- /dev/null +++ b/sys/gnu/dts/mips/WIZARD8800.dts @@ -0,0 +1,83 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "WIZARD8800", "ralink,rt5350-soc"; + model = "EASYACC WI-STOR WIZARD 8800"; + + palmbus@10000000 { + gpio1@638 { + status = "okay"; + }; + + gpio2@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q32"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; +}; diff --git a/sys/gnu/dts/mips/WIZFI630A.dts b/sys/gnu/dts/mips/WIZFI630A.dts new file mode 100644 index 000000000000..e2a51ecf1b0a --- /dev/null +++ b/sys/gnu/dts/mips/WIZFI630A.dts @@ -0,0 +1,182 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "wizfi630a", "ralink,rt5350-soc"; + model = "WIZnet WizFi630A"; + + chosen { + bootargs = "console=ttyS1,115200"; + }; + + palmbus@10000000 { + gpio1: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + + uart@500 { + compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0x500 0x100>; + resets = <&rstctrl 12>; + reset-names = "uart"; + interrupt-parent = <&intc>; + interrupts = <5>; + reg-shift = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&uartf_pins>; + status = "okay"; + }; + + uartlite@c00 { + compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + resets = <&rstctrl 19>; + reset-names = "uartl"; + interrupt-parent = <&intc>; + interrupts = <12>; + reg-shift = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&uartlite_pins>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag" ; + ralink,function = "gpio"; + }; + }; + + uartf_gpio_pins: uartf_gpio { + uartf_gpio { + ralink,group = "uartf"; + ralink,function = "uartf"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x17>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-export { + compatible = "gpio-export"; + #size-cells = <0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + run { + label = "wizfi630a::run"; + gpios = <&gpio0 1 1>; + }; + + wps { + label = "wizfi630a::wps"; + gpios = <&gpio0 20 1>; + }; + + uart1 { + label = "wizfi630a::uart1"; + gpios = <&gpio0 18 1>; + }; + + uart2 { + label = "wizfi630a::uart2"; + gpios = <&gpio0 21 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 17 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + scm1 { + label = "SCM1"; + gpios = <&gpio0 19 1>; + linux,code = <0x100>; + }; + + scm2 { + label = "SCM2"; + gpios = <&gpio0 2 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WL-330N.dts b/sys/gnu/dts/mips/WL-330N.dts new file mode 100644 index 000000000000..632d9607ac51 --- /dev/null +++ b/sys/gnu/dts/mips/WL-330N.dts @@ -0,0 +1,100 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WL-330N", "ralink,rt3050-soc"; + model = "Asus WL-330N"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + link { + label = "wl-330n:blue:link"; + gpios = <&gpio0 9 1>; + }; + + power { + label = "wl-330n:blue:power"; + gpios = <&gpio0 11 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WL-330N3G.dts b/sys/gnu/dts/mips/WL-330N3G.dts new file mode 100644 index 000000000000..1e129adbef87 --- /dev/null +++ b/sys/gnu/dts/mips/WL-330N3G.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WL-330N3G", "ralink,rt3050-soc"; + model = "Asus WL-330N3G"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + 3g { + label = "wl-330n3g:blue:3g"; + gpios = <&gpio0 9 1>; + }; + + 3g2 { + label = "wl-330n3g:red:3g"; + gpios = <&gpio0 13 1>; + }; + + power { + label = "wl-330n3g:blue:power"; + gpios = <&gpio0 11 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x198>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/WL-341V3.dts b/sys/gnu/dts/mips/WL-341V3.dts new file mode 100644 index 000000000000..debe55e9aa24 --- /dev/null +++ b/sys/gnu/dts/mips/WL-341V3.dts @@ -0,0 +1,123 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WL-341V3", "ralink,rt3052-soc"; + model = "Sitecom WL-341 v3"; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + boardnvram: partition@20000 { + label = "board-nvram"; + reg = <0x20000 0x10000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0x3b0000>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&boardnvram 0xffa0>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&boardnvram 0xfd70>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + first { + label = "wl-341v3:amber:first"; + gpios = <&gpio0 9 1>; + }; + + first2 { + label = "wl-341v3:blue:first"; + gpios = <&gpio0 13 1>; + }; + + third { + label = "wl-341v3:amber:third"; + gpios = <&gpio0 11 1>; + }; + + third2 { + label = "wl-341v3:blue:third"; + gpios = <&gpio0 14 1>; + }; + + fourth { + label = "wl-341v3:blue:fourth"; + gpios = <&gpio0 10 1>; + }; + + fifth { + label = "wl-341v3:amber:fifth"; + gpios = <&gpio0 12 1>; + }; + + fifth2 { + label = "wl-341v3:blue:fifth"; + gpios = <&gpio0 8 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 7 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 5 1>; + linux,code = <0x211>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/WL-351.dts b/sys/gnu/dts/mips/WL-351.dts new file mode 100644 index 000000000000..7f16631ef4a9 --- /dev/null +++ b/sys/gnu/dts/mips/WL-351.dts @@ -0,0 +1,117 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WL-351", "ralink,rt3052-soc"; + model = "Sitecom WL-351 v1 002"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x3f>; + ralink,fct2 = <0x0002500c>; + /* + * ext phy base addr 31, rx/tx clock skew 0, + * turbo mii off, rgmi 3.3v off, port 5 polling off + * port5: enabled, gige, full-duplex, rx/tx-flow-control + * port6: enabled, gige, full-duplex, rx/tx-flow-control + */ + ralink,fpa2 = <0x1f003fff>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "wl-351:amber:power"; + gpios = <&gpio0 8 1>; + }; + + unpopulated { + label = "wl-351:amber:unpopulated"; + gpios = <&gpio0 12 1>; + }; + + unpopulated2 { + label = "wl-351:blue:unpopulated"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + rtl8366rb { + compatible = "rtl8366rb"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + }; +}; diff --git a/sys/gnu/dts/mips/WLI-TX4-AG300N.dts b/sys/gnu/dts/mips/WLI-TX4-AG300N.dts new file mode 100644 index 000000000000..873feab82d66 --- /dev/null +++ b/sys/gnu/dts/mips/WLI-TX4-AG300N.dts @@ -0,0 +1,105 @@ +/dts-v1/; + +/include/ "rt2880.dtsi" + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "WLI-TX4-AG300N", "ralink,rt2880-soc"; + model = "Buffalo WLI-TX4-AG300N"; + + palmbus@300000 { + gpio0: gpio@600 { + status = "okay"; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "linux"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@400000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + + port@0 { + mediatek,fixed-link = <1000 1 1 1>; + }; + }; + + wmac@480000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + bandwidth { + label = "bandwidth"; + gpios = <&gpio0 8 0>; + linux,code = <0x198>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 9 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + diag { + label = "wli-tx4-ag300n:red:diag"; + gpios = <&gpio0 10 1>; + }; + + power { + label = "wli-tx4-ag300n:blue:power"; + gpios = <&gpio0 12 1>; + }; + + security { + label = "wli-tx4-ag300n:blue:security"; + gpios = <&gpio0 13 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WMR-300.dts b/sys/gnu/dts/mips/WMR-300.dts new file mode 100644 index 000000000000..709768781c86 --- /dev/null +++ b/sys/gnu/dts/mips/WMR-300.dts @@ -0,0 +1,106 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "buffalo,wmr-300", "ralink,mt7620n-soc"; + model = "Buffalo WMR-300"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "i2c", "ephy"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + aoss1 { + label = "wmr-300:red:aoss"; + gpios = <&gpio2 1 1>; + }; + + aoss2 { + label = "wmr-300:green:aoss"; + gpios = <&gpio2 2 1>; + }; + + power { + label = "wmr-300:green:status"; + gpios = <&gpio2 4 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio0 2 1>; + linux,code = <0x211>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WNCE2001.dts b/sys/gnu/dts/mips/WNCE2001.dts new file mode 100644 index 000000000000..da094dcd1684 --- /dev/null +++ b/sys/gnu/dts/mips/WNCE2001.dts @@ -0,0 +1,139 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WNCE2001", "ralink,rt3052-soc"; + model = "Netgear WNCE2001"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + factory: partition@30000 { + label = "factory"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "config"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "language"; + reg = <0x60000 0x30000>; + read-only; + }; + + partition@90000 { + label = "pot"; + reg = <0x90000 0x10000>; + read-only; + }; + + partition@a0000 { + label = "checksum"; + reg = <0xa0000 0x10000>; + }; + + partition@b0000 { + label = "firmware"; + reg = <0xb0000 0x350000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power-green { + label = "wnce2001:green:power"; + gpios = <&gpio0 8 1>; + }; + + power-red { + label = "wnce2001:red:power"; + gpios = <&gpio0 9 1>; + }; + + wlan-green { + label = "wnce2001:green:wlan"; + gpios = <&gpio0 12 0>; + }; + + wlan-red { + label = "wnce2001:red:wlan"; + gpios = <&gpio0 13 0>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + rt { + label = "rt"; + gpios = <&gpio0 11 1>; + linux,code = <0x100>; + }; + + ap { + label = "ap"; + gpios = <&gpio0 7 1>; + linux,code = <0x101>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WR512-3GN-4M.dts b/sys/gnu/dts/mips/WR512-3GN-4M.dts new file mode 100644 index 000000000000..531a3709a3d8 --- /dev/null +++ b/sys/gnu/dts/mips/WR512-3GN-4M.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WR512-3GN", "ralink,rt3052-soc"; + model = "WR512-3GN-like router"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3c8000>; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + 3g { + label = "wr512-3gn:green:3g"; + gpios = <&gpio0 9 1>; + }; + + gateway { + label = "wr512-3gn:green:gateway"; + gpios = <&gpio0 11 1>; + }; + + ap { + label = "wr512-3gn:green:ap"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "wr512-3gn:green:wps"; + gpios = <&gpio0 14 1>; + }; + + station { + label = "wr512-3gn:green:station"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 7 1>; + linux,code = <0x32>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/WR512-3GN-8M.dts b/sys/gnu/dts/mips/WR512-3GN-8M.dts new file mode 100644 index 000000000000..5f369f89c29f --- /dev/null +++ b/sys/gnu/dts/mips/WR512-3GN-8M.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WR512-3GN", "ralink,rt3052-soc"; + model = "WR512-3GN-like router"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + 3g { + label = "wr512-3gn:green:3g"; + gpios = <&gpio0 9 1>; + }; + + gateway { + label = "wr512-3gn:green:gateway"; + gpios = <&gpio0 11 1>; + }; + + ap { + label = "wr512-3gn:green:ap"; + gpios = <&gpio0 12 1>; + }; + + wps { + label = "wr512-3gn:green:wps"; + gpios = <&gpio0 14 1>; + }; + + station { + label = "wr512-3gn:green:station"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset_wps { + label = "reset_wps"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 7 1>; + linux,code = <0x32>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/WR6202.dts b/sys/gnu/dts/mips/WR6202.dts new file mode 100644 index 000000000000..0c80514714b7 --- /dev/null +++ b/sys/gnu/dts/mips/WR6202.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "WR6202", "ralink,rt3052-soc"; + model = "AWB WR6202"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps { + label = "wr6202:blue:wps"; + gpios = <&gpio0 14 1>; + }; + + 3g { + label = "wr6202:blue:3g"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + otg@101c0000 { + status = "okay"; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb { + gpio-export,name = "usb"; + gpio-export,output = <0>; + gpios = <&gpio0 11 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WRTNODE.dts b/sys/gnu/dts/mips/WRTNODE.dts new file mode 100644 index 000000000000..d5ff18e8e088 --- /dev/null +++ b/sys/gnu/dts/mips/WRTNODE.dts @@ -0,0 +1,93 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "wrtnode", "ralink,mt7620n-soc"; + model = "WRTNODE"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf", "spi refclk"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + indicator { + label = "wrtnode:blue:indicator"; + gpios = <&gpio1 14 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WRTNODE2.dtsi b/sys/gnu/dts/mips/WRTNODE2.dtsi new file mode 100644 index 000000000000..d9aaba88689f --- /dev/null +++ b/sys/gnu/dts/mips/WRTNODE2.dtsi @@ -0,0 +1,93 @@ +/include/ "mt7628an.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; + + + spidev@1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spidev"; + reg = <1 0>; + linux,modalias = "spidev", "spidev"; + spi-max-frequency = <10000000>; + }; + }; + + uart1@d00 { + status = "okay"; + }; + + i2c@900 { + status = "okay"; + }; + + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + ralink,port-map = "llllw"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + pcie@10140000 { + status = "okay"; + }; + + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 5 1>; + linux,code = <0x198>; + }; + }; + +}; + diff --git a/sys/gnu/dts/mips/WRTNODE2P.dts b/sys/gnu/dts/mips/WRTNODE2P.dts new file mode 100644 index 000000000000..153fab2bc0c9 --- /dev/null +++ b/sys/gnu/dts/mips/WRTNODE2P.dts @@ -0,0 +1,27 @@ +/dts-v1/; + +/include/ "WRTNODE2.dtsi" + +/ { + compatible = "mediatek,wrtnode2p", "mediatek,mt7628an-soc"; + model = "WRTnode2P"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "gpio", "jtag"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + indicator { + label = "wrtnode:blue:indicator"; + gpios = <&gpio1 9 1>; + }; + }; +}; + diff --git a/sys/gnu/dts/mips/WRTNODE2R.dts b/sys/gnu/dts/mips/WRTNODE2R.dts new file mode 100644 index 000000000000..e91591590a5e --- /dev/null +++ b/sys/gnu/dts/mips/WRTNODE2R.dts @@ -0,0 +1,27 @@ +/dts-v1/; + +/include/ "WRTNODE2.dtsi" + +/ { + compatible = "mediatek,wrtnode2r", "mediatek,mt7628an-soc"; + model = "WRTnode2R"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "gpio", "wled_an"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + indicator { + label = "wrtnode:blue:indicator"; + gpios = <&gpio1 12 1>; + }; + }; +}; + diff --git a/sys/gnu/dts/mips/WSR-1166.dts b/sys/gnu/dts/mips/WSR-1166.dts new file mode 100644 index 000000000000..9743cee652ac --- /dev/null +++ b/sys/gnu/dts/mips/WSR-1166.dts @@ -0,0 +1,186 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "ralink,mt7621-eval-board", "ralink,mt7621-soc"; + model = "Buffalo WSR-1166DHP"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xf90000>; + }; + + partition@fe0000 { + label = "board_data"; + reg = <0xfe0000 0x20000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + internet_g { + label = "wsr-1166:green:internet"; + gpios = <&gpio1 9 1>; + }; + + router_g { + label = "wsr-1166:green:router"; + gpios = <&gpio1 10 1>; + }; + + router_o { + label = "wsr-1166:orange:router"; + gpios = <&gpio1 11 1>; + }; + + internet_o { + label = "wsr-1166:orange:internet"; + gpios = <&gpio1 12 1>; + }; + + wifi_o { + label = "wsr-1166:orange:wifi"; + gpios = <&gpio1 13 1>; + }; + + power { + label = "wsr-1166:green:power"; + gpios = <&gpio1 14 1>; + }; + + diag { + label = "wsr-1166:orange:diag"; + gpios = <&gpio1 15 1>; + }; + + wifi_g { + label = "wsr-1166:green:wifi"; + gpios = <&gpio1 16 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + power { + label = "power"; + gpios = <&gpio0 18 1>; + linux,code = <0x74>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 3 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio0 6 1>; + linux,code = <0x211>; + }; + + auto { + label = "mode"; + gpios = <&gpio0 7 0>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + + ap { + label = "ap"; + gpios = <&gpio0 10 0>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + + router { + label = "router"; + gpios = <&gpio0 12 0>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + }; + + gpio_poweroff { + compatible = "gpio-poweroff"; + gpios = <&gpio0 0 1>; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WSR-600.dts b/sys/gnu/dts/mips/WSR-600.dts new file mode 100644 index 000000000000..949572c26343 --- /dev/null +++ b/sys/gnu/dts/mips/WSR-600.dts @@ -0,0 +1,159 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "ralink,mt7621-eval-board", "ralink,mt7621-soc"; + model = "Buffalo WSR-600DHP"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "wsr-600:green:power"; + gpios = <&gpio0 12 1>; + }; + + wifi_o { + label = "wsr-600:orange:wifi"; + gpios = <&gpio1 9 1>; + }; + + diag { + label = "wsr-600:orange:diag"; + gpios = <&gpio1 10 1>; + }; + + wifi_g { + label = "wsr-600:green:wifi"; + gpios = <&gpio1 12 1>; + }; + + router_o { + label = "wsr-600:orange:router"; + gpios = <&gpio1 13 1>; + }; + + router_g { + label = "wsr-600:green:router"; + gpios = <&gpio1 14 1>; + }; + + internet_o { + label = "wsr-600:orange:internet"; + gpios = <&gpio1 15 1>; + }; + + internet_g { + label = "wsr-600:green:internet"; + gpios = <&gpio1 16 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + power { + label = "power"; + gpios = <&gpio0 8 1>; + linux,code = <0x74>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 11 1>; + linux,code = <0x198>; + }; + + aoss { + label = "aoss"; + gpios = <&gpio0 18 1>; + linux,code = <0x211>; + }; + + auto { + label = "mode"; + gpios = <&gpio0 7 0>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + + ap { + label = "ap"; + gpios = <&gpio0 6 0>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + + router { + label = "router"; + gpios = <&gpio0 10 0>; + linux,code = <0x100>; + linux,input-type = <5>; /* EV_SW */ + }; + }; + + gpio_poweroff { + compatible = "gpio-poweroff"; + gpios = <&gpio1 11 1>; + }; +}; diff --git a/sys/gnu/dts/mips/WT1520-4M.dts b/sys/gnu/dts/mips/WT1520-4M.dts new file mode 100644 index 000000000000..9cdff6745389 --- /dev/null +++ b/sys/gnu/dts/mips/WT1520-4M.dts @@ -0,0 +1,43 @@ +/dts-v1/; + +/include/ "WT1520.dtsi" + +/ { + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WT1520-8M.dts b/sys/gnu/dts/mips/WT1520-8M.dts new file mode 100644 index 000000000000..e9549cec6a84 --- /dev/null +++ b/sys/gnu/dts/mips/WT1520-8M.dts @@ -0,0 +1,43 @@ +/dts-v1/; + +/include/ "WT1520.dtsi" + +/ { + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl064k"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WT1520.dtsi b/sys/gnu/dts/mips/WT1520.dtsi new file mode 100644 index 000000000000..13ff268a8bf1 --- /dev/null +++ b/sys/gnu/dts/mips/WT1520.dtsi @@ -0,0 +1,48 @@ +/include/ "rt5350.dtsi" + +/ { + compatible = "NEXXWT1520", "ralink,rt5350-soc"; + model = "Nexx WT1520"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + chosen { + bootargs = "console=ttyS1,57600"; + }; + + palmbus@10000000 { + uart@500 { + pinctrl-names = "default"; + pinctrl-0 = <&uartf_pins>; + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "jtag"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/WT3020-4M.dts b/sys/gnu/dts/mips/WT3020-4M.dts new file mode 100644 index 000000000000..39b52c347411 --- /dev/null +++ b/sys/gnu/dts/mips/WT3020-4M.dts @@ -0,0 +1,102 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "wt3020", "ralink,mt7620n-soc"; + model = "Nexx WT3020"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q32"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "wt3020:blue:power"; + gpios = <&gpio3 0 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WT3020-8M.dts b/sys/gnu/dts/mips/WT3020-8M.dts new file mode 100644 index 000000000000..3a24651b9af2 --- /dev/null +++ b/sys/gnu/dts/mips/WT3020-8M.dts @@ -0,0 +1,102 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "wt3020", "ralink,mt7620n-soc"; + model = "Nexx WT3020"; + + palmbus@10000000 { + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "wt3020:blue:power"; + gpios = <&gpio3 0 0>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/WZR-AGL300NH.dts b/sys/gnu/dts/mips/WZR-AGL300NH.dts new file mode 100644 index 000000000000..02989bee1522 --- /dev/null +++ b/sys/gnu/dts/mips/WZR-AGL300NH.dts @@ -0,0 +1,143 @@ +/dts-v1/; + +/include/ "rt2880.dtsi" + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "WZR-AGL300NH", "ralink,rt2880-soc"; + model = "Buffalo WZR-AGL300NH"; + + palmbus@300000 { + gpio0: gpio@600 { + status = "okay"; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartlite", "mdio"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "uboot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@400000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + + port@0 { + mediatek,fixed-link = <1000 1 1 1>; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + phy-mode = "mii"; + reg = <0>; + }; + }; + }; + + rtl8366s { + compatible = "realtek,rtl8366s"; + gpio-sda = <&gpio0 1 0>; + gpio-sck = <&gpio0 2 0>; + }; + + wmac@480000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio0 0 1>; + linux,code = <0x211>; + }; + + router { + label = "router_switch"; + gpios = <&gpio0 7 0>; + linux,code = <0x100>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 9 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + router { + label = "wzr-agl300nh:green:router"; + gpios = <&gpio0 8 1>; + }; + + diag { + label = "wzr-agl300nh:red:diag"; + gpios = <&gpio0 12 1>; + }; + + security_g { + label = "wzr-agl300nh:orange:security_g"; + gpios = <&gpio0 11 1>; + }; + + security_n { + label = "wzr-agl300nh:orange:security_n"; + gpios = <&gpio0 13 1>; + }; + }; + + + pcibus0: pci@00440000 { + compatible = "ralink,rt288x-pci"; + reg = <0x00440000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; + status = "ok"; + }; +}; diff --git a/sys/gnu/dts/mips/X5.dts b/sys/gnu/dts/mips/X5.dts new file mode 100644 index 000000000000..4952c905cdb0 --- /dev/null +++ b/sys/gnu/dts/mips/X5.dts @@ -0,0 +1,138 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "X5", "ralink,rt5350-soc"; + model = "Poray X5"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "gd25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <1>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "x5:green:power"; + gpios = <&gpio0 13 1>; + }; + + 20 { + label = "x5:green:20"; + gpios = <&gpio0 12 1>; + }; + + 50 { + label = "x5:green:50"; + gpios = <&gpio0 11 1>; + }; + + 80 { + label = "x5:green:80"; + gpios = <&gpio0 7 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + bat { + label = "bat"; + gpios = <&gpio0 9 1>; + linux,code = <0x211>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + + mode { + label = "mode"; + gpios = <&gpio0 14 1>; + linux,code = <0x100>; + linux,input-type = <5>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb-mode { + gpio-export,name = "usb-mode"; + gpio-export,output = <0>; + gpios = <&gpio0 18 0>; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + ralink,led-polarity = <1>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/X8.dts b/sys/gnu/dts/mips/X8.dts new file mode 100644 index 000000000000..ad7f808a435a --- /dev/null +++ b/sys/gnu/dts/mips/X8.dts @@ -0,0 +1,99 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "X8", "ralink,rt5350-soc"; + model = "Poray X8"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "gd25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + }; + + esw@10110000 { + mediatek,portmap = <0x2f>; + mediatek,led_polarity = <1>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "x8:green:power"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + ralink,led-polarity = <1>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/XDXRN502J.dts b/sys/gnu/dts/mips/XDXRN502J.dts new file mode 100644 index 000000000000..97940dd5b16b --- /dev/null +++ b/sys/gnu/dts/mips/XDXRN502J.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +/include/ "rt3050.dtsi" + +/ { + compatible = "XDXRN502J", "ralink,rt3052-soc"; + model = "XDX RN502J"; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + cfi@1f000000 { + compatible = "cfi-flash"; + reg = <0x1f000000 0x800000>; + bank-width = <2>; + device-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x3b0000>; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + mediatek,portmap = <0x3e>; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "xdxrn502j:green:wifi"; + gpios = <&gpio0 7 1>; + }; + + power { + label = "xdxrn502j:green:power"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + + otg@101c0000 { + status = "okay"; + }; +}; diff --git a/sys/gnu/dts/mips/Y1.dts b/sys/gnu/dts/mips/Y1.dts new file mode 100644 index 000000000000..90227958c0fd --- /dev/null +++ b/sys/gnu/dts/mips/Y1.dts @@ -0,0 +1,49 @@ +/dts-v1/; + +/include/ "Y1.dtsi" + +/ { + compatible = "lenovo,Y1", "ralink,mt7620a-soc"; + model = "Lenovo Y1"; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power1 { + label = "y1:blue:power"; + gpios = <&gpio0 9 1>; + }; + + wlan1 { + label = "y1:blue:wifi"; + gpios = <&gpio3 0 1>; + }; + + wlan2 { + label = "y1:blue:wifi5g"; + gpios = <&gpio2 10 1>; + }; + + usb { + label = "y1:blue:usb"; + gpios = <&gpio2 12 1>; + }; + + lan { + label = "y1:blue:lan"; + gpios = <&gpio2 15 1>; + }; + + internet { + label = "y1:blue:internet"; + gpios = <&gpio2 11 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/Y1.dtsi b/sys/gnu/dts/mips/Y1.dtsi new file mode 100644 index 000000000000..18652f12ce38 --- /dev/null +++ b/sys/gnu/dts/mips/Y1.dtsi @@ -0,0 +1,109 @@ +/include/ "mt7620a.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + pcie@10140000 { + status = "okay"; + + pcie-bridge { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uartf", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + + pa { + ralink,group = "pa"; + ralink,function = "pa"; + }; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 11 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/Y1S.dts b/sys/gnu/dts/mips/Y1S.dts new file mode 100644 index 000000000000..d7f4615aa509 --- /dev/null +++ b/sys/gnu/dts/mips/Y1S.dts @@ -0,0 +1,106 @@ +/dts-v1/; + +/include/ "Y1.dtsi" + +/ { + compatible = "lenovo,Y1S", "ralink,mt7620a-soc"; + model = "Lenovo Y1S"; + + ethernet@10100000 { + status = "okay"; + mtd-mac-address = <&factory 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + mediatek,portmap = "wllll"; + + port@4 { + status = "okay"; + phy-handle = <&phy4>; + phy-mode = "rgmii"; + }; + + port@5 { + status = "okay"; + phy-handle = <&phy5>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + + phy5: ethernet-phy@5 { + reg = <5>; + phy-mode = "rgmii"; + }; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + /* GPIO 54、55、56 USB1、2、3 */ + usb0 { + gpio-export,name = "usb0"; + gpio-export,output = <1>; // GPIOF_OUT_INIT_HIGH + gpios = <&gpio2 14 0>; // GPIO2:40+14=GPIO 54 + }; + usb1 { + gpio-export,name = "usb1"; + gpio-export,output = <1>; + gpios = <&gpio2 15 0>; + }; + usb2 { + gpio-export,name = "usb2"; + gpio-export,output = <1>; + gpios = <&gpio2 16 0>; + }; + }; + + gsw@10110000 { + mediatek,port4 = "gmac"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power1 { + label = "y1s:yellow:power"; + gpios = <&gpio0 14 1>; + }; + + power2 { + label = "y1s:blue:power"; + gpios = <&gpio0 9 1>; + }; + + wlan1 { + label = "y1s:yellow:wifi"; + gpios = <&gpio3 0 1>; + }; + + wlan2 { + label = "y1s:blue:wifi"; + gpios = <&gpio2 10 1>; + }; + + usb1 { + label = "y1s:yellow:usb"; + gpios = <&gpio2 13 1>; + }; + + usb2 { + label = "y1s:blue:usb"; + gpios = <&gpio2 12 1>; + }; + + internet { + label = "y1s:blue:internet"; + gpios = <&gpio2 11 1>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/YOUKU-YK1.dts b/sys/gnu/dts/mips/YOUKU-YK1.dts new file mode 100644 index 000000000000..47847d0b0ae2 --- /dev/null +++ b/sys/gnu/dts/mips/YOUKU-YK1.dts @@ -0,0 +1,127 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "YOUKU-YK1", "ralink,mt7620a-soc"; + model = "YOUKU YK1"; + + palmbus@10000000 { + + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q256"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + sdhci@b0130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + wan { + label = "youku-yk1:blue:wan"; + gpios = <&gpio2 4 1>; + }; + air { + label = "youku-yk1:blue:air"; + gpios = <&gpio3 0 1>; + }; + usb { + label = "youku-yk1:blue:usb"; + gpios = <&gpio1 11 1>; + }; + power { + label = "youku-yk1:blue:power"; + gpios = <&gpio1 5 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ZBT-WA05.dts b/sys/gnu/dts/mips/ZBT-WA05.dts new file mode 100644 index 000000000000..f7fca60ce544 --- /dev/null +++ b/sys/gnu/dts/mips/ZBT-WA05.dts @@ -0,0 +1,120 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "zbtlink,zbt-wa05", "ralink,mt7620n-soc"; + model = "Zbtlink ZBT-WA05"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + en25q64@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x760000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "i2c", "spi refclk", "wled"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "zbt-wa05:blue:power"; + gpios = <&gpio1 14 1>; + }; + + usb { + label = "zbt-wa05:blue:usb"; + gpios = <&gpio1 15 0>; + }; + + air { + label = "zbt-wa05:blue:air"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ZBT-WE826.dts b/sys/gnu/dts/mips/ZBT-WE826.dts new file mode 100644 index 000000000000..22bef9905c4e --- /dev/null +++ b/sys/gnu/dts/mips/ZBT-WE826.dts @@ -0,0 +1,124 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "zbtlink,zbt-we826", "ralink,mt7620a-soc"; + model = "ZBT-WE826"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + en25q128@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "w25q128"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + sdhci@10130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + ralink,port-map = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "i2c", "uartf", "wled", "spi refclk", "pa"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "zbt-we826:green:power"; + gpios = <&gpio1 14 0>; + }; + usb { + label = "zbt-we826:green:usb"; + gpios = <&gpio1 15 0>; + }; + air { + label = "zbt-we826:green:wifi"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; + + pcie@10140000 { + status = "okay"; + }; +}; \ No newline at end of file diff --git a/sys/gnu/dts/mips/ZBT-WG2626.dts b/sys/gnu/dts/mips/ZBT-WG2626.dts new file mode 100644 index 000000000000..b18f4c1db85e --- /dev/null +++ b/sys/gnu/dts/mips/ZBT-WG2626.dts @@ -0,0 +1,127 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "ZBT-WG2626"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x1c000000>, <0x20000000 0x4000000>; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + sdhci@10130000 { + status = "okay"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + + }; + }; + + i2c@900 { + compatible = "ralink,i2c-mt7621"; + reg = <0x900 0x100>; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + status = "okay"; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0xe000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 18 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status { + label = "zbt-wg2626:green:status"; + gpios = <&gpio0 24 1>; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "rgmii2", "wdt rst", "jtag", "mdio"; + ralink,function = "gpio"; + }; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ZBT-WR8305RT.dts b/sys/gnu/dts/mips/ZBT-WR8305RT.dts new file mode 100644 index 000000000000..11efc6f765be --- /dev/null +++ b/sys/gnu/dts/mips/ZBT-WR8305RT.dts @@ -0,0 +1,117 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "zbtlink,zbt-wr8305rt", "ralink,mt7620n-soc"; + model = "Zbtlink ZBT-WR8305RT"; + + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "llllw"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + pinctrl { + state_default: pinctrl0 { + ephy { + ralink,group = "ephy"; + ralink,function = "ephy"; + }; + + default { + ralink,group = "i2c", "uartf", "spi refclk", "wled"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + sys { + label = "zbt-wr8305rt:green:sys"; + gpios = <&gpio1 14 1>; + }; + + lan { + label = "zbt-wr8305rt:green:usb"; + gpios = <&gpio1 15 1>; + }; + + wifi { + label = "zbt-wr8305rt:green:wifi"; + gpios = <&gpio3 0 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/ZTE-Q7.dts b/sys/gnu/dts/mips/ZTE-Q7.dts new file mode 100644 index 000000000000..dd278aa39b3d --- /dev/null +++ b/sys/gnu/dts/mips/ZTE-Q7.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ZTE-Q7", "ralink,mt7620a-soc"; + model = "ZTE Q7"; + + palmbus@10000000 { + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80", "en25q64"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + mediatek,portmap = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + sdhci@10130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + statred { + label = "zte-q7:red:status"; + gpios = <&gpio0 13 1>; + }; + + statblue { + label = "zte-q7:blue:status"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/sys/gnu/dts/mips/mt7620a.dtsi b/sys/gnu/dts/mips/mt7620a.dtsi new file mode 100644 index 000000000000..fb358c4a03f7 --- /dev/null +++ b/sys/gnu/dts/mips/mt7620a.dtsi @@ -0,0 +1,538 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,mtk7620a-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips24KEc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + aliases { + spi0 = &spi0; + spi1 = &spi1; + }; + + palmbus@10000000 { + compatible = "palmbus"; + reg = <0x10000000 0x200000>; + ranges = <0x0 0x10000000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,mt7620a-sysc", "ralink,rt3050-sysc"; + reg = <0x0 0x100>; + }; + + timer@100 { + compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer"; + reg = <0x100 0x20>; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + watchdog@120 { + compatible = "ralink,mt7620a-wdt", "ralink,rt2880-wdt"; + reg = <0x120 0x10>; + + resets = <&rstctrl 8>; + reset-names = "wdt"; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + intc: intc@200 { + compatible = "ralink,mt7620a-intc", "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + resets = <&rstctrl 19>; + reset-names = "intc"; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + }; + + memc@300 { + compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc"; + reg = <0x300 0x100>; + + resets = <&rstctrl 20>; + reset-names = "mc"; + + interrupt-parent = <&intc>; + interrupts = <3>; + }; + + uart@500 { + compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0x500 0x100>; + + resets = <&rstctrl 12>; + reset-names = "uart"; + + interrupt-parent = <&intc>; + interrupts = <5>; + + reg-shift = <2>; + + status = "disabled"; + }; + + gpio0: gpio@600 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x600 0x34>; + + resets = <&rstctrl 13>; + reset-names = "pio"; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <0>; + ralink,num-gpios = <24>; + ralink,register-map = [ 00 04 08 0c + 20 24 28 2c + 30 34 ]; + }; + + gpio1: gpio@638 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x638 0x24>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <24>; + ralink,num-gpios = <16>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio2: gpio@660 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x660 0x24>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <40>; + ralink,num-gpios = <32>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio3: gpio@688 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x688 0x24>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <72>; + ralink,num-gpios = <1>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + i2c@900 { + compatible = "link,mt7620a-i2c", "ralink,rt2880-i2c"; + reg = <0x900 0x100>; + + resets = <&rstctrl 16>; + reset-names = "i2c"; + + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + }; + + i2s@a00 { + compatible = "ralink,mt7620a-i2s"; + reg = <0xa00 0x100>; + + resets = <&rstctrl 17>; + reset-names = "i2s"; + + interrupt-parent = <&intc>; + interrupts = <10>; + + dmas = <&gdma 4>, + <&gdma 5>; + dma-names = "tx", "rx"; + + status = "disabled"; + }; + + spi0: spi@b00 { + compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi"; + reg = <0xb00 0x40>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + }; + + spi1: spi@b40 { + compatible = "ralink,rt2880-spi"; + reg = <0xb40 0x60>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <1>; + + status = "disabled"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_cs1>; + }; + + uartlite@c00 { + compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + + resets = <&rstctrl 19>; + reset-names = "uartl"; + + interrupt-parent = <&intc>; + interrupts = <12>; + + reg-shift = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&uartlite_pins>; + }; + + systick@d00 { + compatible = "ralink,mt7620a-systick", "ralink,cevt-systick"; + reg = <0xd00 0x10>; + + resets = <&rstctrl 28>; + reset-names = "intc"; + + interrupt-parent = <&cpuintc>; + interrupts = <7>; + }; + + pcm@2000 { + compatible = "ralink,mt7620a-pcm"; + reg = <0x2000 0x800>; + + resets = <&rstctrl 11>; + reset-names = "pcm"; + + interrupt-parent = <&intc>; + interrupts = <4>; + + status = "disabled"; + }; + + gdma: gdma@2800 { + compatible = "ralink,mt7620a-gdma", "ralink,rt2880-gdma"; + reg = <0x2800 0x800>; + + resets = <&rstctrl 14>; + reset-names = "dma"; + + interrupt-parent = <&intc>; + interrupts = <7>; + + #dma-cells = <1>; + #dma-channels = <16>; + #dma-requests = <16>; + + status = "disabled"; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + pcm_i2s_pins: pcm_i2s { + pcm_i2s { + ralink,group = "uartf"; + ralink,function = "pcm i2s"; + }; + }; + + uartf_gpio_pins: uartf_gpio { + uartf_gpio { + ralink,group = "uartf"; + ralink,function = "gpio uartf"; + }; + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + spi_cs1: spi1 { + spi1 { + ralink,group = "spi_cs1"; + ralink,function = "spi_cs1"; + }; + }; + + i2c_pins: i2c { + i2c { + ralink,group = "i2c"; + ralink,function = "i2c"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + + mdio_pins: mdio { + mdio { + ralink,group = "mdio"; + ralink,function = "mdio"; + }; + }; + + ephy_pins: ephy { + ephy { + ralink,group = "ephy"; + ralink,function = "ephy"; + }; + }; + + wled_pins: wled { + wled { + ralink,group = "wled"; + ralink,function = "wled"; + }; + }; + + rgmii1_pins: rgmii1 { + rgmii1 { + ralink,group = "rgmii1"; + ralink,function = "rgmii1"; + }; + }; + + rgmii2_pins: rgmii2 { + rgmii2 { + ralink,group = "rgmii2"; + ralink,function = "rgmii2"; + }; + }; + + pcie_pins: pcie { + pcie { + ralink,group = "pcie"; + ralink,function = "pcie rst"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + usbphy: usbphy { + compatible = "mediatek,mt7620-usbphy"; + #phy-cells = <1>; + + resets = <&rstctrl 22 &rstctrl 25>; + reset-names = "host", "device"; + }; + + ethernet@10100000 { + compatible = "mediatek,mt7620-eth"; + reg = <0x10100000 10000>; + + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + resets = <&rstctrl 21 &rstctrl 23>; + reset-names = "fe", "esw"; + + mediatek,switch = <&gsw>; + + port@4 { + compatible = "mediatek,mt7620a-gsw-port", "mediatek,eth-port"; + reg = <4>; + + status = "disabled"; + }; + + port@5 { + compatible = "mediatek,mt7620a-gsw-port", "mediatek,eth-port"; + reg = <5>; + + status = "disabled"; + }; + + mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + }; + }; + + gsw: gsw@10110000 { + compatible = "mediatek,mt7620-gsw"; + reg = <0x10110000 8000>; + + resets = <&rstctrl 23>; + reset-names = "esw"; + + interrupt-parent = <&intc>; + interrupts = <17>; + }; + + sdhci@10130000 { + compatible = "ralink,mt7620-sdhci"; + reg = <0x10130000 4000>; + + interrupt-parent = <&intc>; + interrupts = <14>; + + status = "disabled"; + }; + + ehci@101c0000 { + compatible = "generic-ehci"; + reg = <0x101c0000 0x1000>; + + interrupt-parent = <&intc>; + interrupts = <18>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + status = "disabled"; + }; + + ohci@101c1000 { + compatible = "generic-ohci"; + reg = <0x101c1000 0x1000>; + + interrupt-parent = <&intc>; + interrupts = <18>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + status = "disabled"; + }; + + pcie@10140000 { + compatible = "mediatek,mt7620-pci"; + reg = <0x10140000 0x100 + 0x10142000 0x100>; + + #address-cells = <3>; + #size-cells = <2>; + + resets = <&rstctrl 26>; + reset-names = "pcie0"; + + interrupt-parent = <&cpuintc>; + interrupts = <4>; + + pinctrl-names = "default"; + pinctrl-0 = <&pcie_pins>; + + device_type = "pci"; + + bus-range = <0 255>; + ranges = < + 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */ + 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */ + >; + + status = "disabled"; + + pcie-bridge { + reg = <0x0000 0 0 0 0>; + + #address-cells = <3>; + #size-cells = <2>; + + device_type = "pci"; + }; + }; + + wmac@10180000 { + compatible = "ralink,rt7620-wmac", "ralink,rt2880-wmac"; + reg = <0x10180000 40000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + ralink,eeprom = "soc_wmac.eeprom"; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/mt7620n.dtsi b/sys/gnu/dts/mips/mt7620n.dtsi new file mode 100644 index 000000000000..37f70a7c5c27 --- /dev/null +++ b/sys/gnu/dts/mips/mt7620n.dtsi @@ -0,0 +1,337 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,mtk7620n-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips24KEc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + aliases { + spi0 = &spi0; + spi1 = &spi1; + }; + + palmbus@10000000 { + compatible = "palmbus"; + reg = <0x10000000 0x200000>; + ranges = <0x0 0x10000000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,mt7620a-sysc", "ralink,rt3050-sysc"; + reg = <0x0 0x100>; + }; + + timer@100 { + compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer"; + reg = <0x100 0x20>; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + watchdog@120 { + compatible = "ralink,mt7620a-wdt", "ralink,rt2880-wdt"; + reg = <0x120 0x10>; + + resets = <&rstctrl 8>; + reset-names = "wdt"; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + intc: intc@200 { + compatible = "ralink,mt7620a-intc", "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + resets = <&rstctrl 19>; + reset-names = "intc"; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + }; + + memc@300 { + compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc"; + reg = <0x300 0x100>; + + resets = <&rstctrl 20>; + reset-names = "mc"; + + interrupt-parent = <&intc>; + interrupts = <3>; + }; + + gpio0: gpio@600 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x600 0x34>; + + resets = <&rstctrl 13>; + reset-names = "pio"; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <0>; + ralink,num-gpios = <24>; + ralink,register-map = [ 00 04 08 0c + 20 24 28 2c + 30 34 ]; + }; + + gpio1: gpio@638 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x638 0x24>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <24>; + ralink,num-gpios = <16>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio2: gpio@660 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x660 0x24>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <40>; + ralink,num-gpios = <32>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio3: gpio@688 { + compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio"; + reg = <0x688 0x24>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <72>; + ralink,num-gpios = <1>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + spi0: spi@b00 { + compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi"; + reg = <0xb00 0x40>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + }; + + spi1: spi@b40 { + compatible = "ralink,rt2880-spi"; + reg = <0xb40 0x60>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <1>; + + status = "disabled"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_cs1>; + }; + + uartlite@c00 { + compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + + resets = <&rstctrl 19>; + reset-names = "uartl"; + + interrupt-parent = <&intc>; + interrupts = <12>; + + reg-shift = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&uartlite_pins>; + }; + + systick@d00 { + compatible = "ralink,mt7620a-systick", "ralink,cevt-systick"; + reg = <0xd00 0x10>; + + resets = <&rstctrl 28>; + reset-names = "intc"; + + interrupt-parent = <&cpuintc>; + interrupts = <7>; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + spi_cs1: spi1 { + spi1 { + ralink,group = "spi_cs1"; + ralink,function = "spi_cs1"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + usbphy: usbphy { + compatible = "mediatek,mt7620-usbphy"; + #phy-cells = <1>; + + resets = <&rstctrl 22 &rstctrl 25>; + reset-names = "host", "device"; + }; + + ethernet@10100000 { + compatible = "mediatek,mt7620-eth"; + reg = <0x10100000 10000>; + + #address-cells = <1>; + #size-cells = <0>; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + resets = <&rstctrl 21 &rstctrl 23>; + reset-names = "fe", "esw"; + + mediatek,switch = <&gsw>; + + mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + }; + }; + + gsw: gsw@10110000 { + compatible = "mediatek,mt7620-gsw"; + reg = <0x10110000 8000>; + + resets = <&rstctrl 23>; + reset-names = "esw"; + + interrupt-parent = <&intc>; + interrupts = <17>; + mediatek,port4 = "gmac"; + }; + + ehci@101c0000 { + compatible = "generic-ehci"; + reg = <0x101c0000 0x1000>; + + interrupt-parent = <&intc>; + interrupts = <18>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + status = "disabled"; + }; + + ohci@101c1000 { + compatible = "generic-ohci"; + reg = <0x101c1000 0x1000>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + interrupt-parent = <&intc>; + interrupts = <18>; + + status = "disabled"; + }; + + wmac@10180000 { + compatible = "ralink,rt7620-wmac", "ralink,rt2880-wmac"; + reg = <0x10180000 40000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + ralink,eeprom = "soc_wmac.eeprom"; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/mt7621.dtsi b/sys/gnu/dts/mips/mt7621.dtsi new file mode 100644 index 000000000000..63104c256cbd --- /dev/null +++ b/sys/gnu/dts/mips/mt7621.dtsi @@ -0,0 +1,377 @@ +#include + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mediatek,mtk7621-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips1004Kc"; + }; + + cpu@1 { + compatible = "mips,mips1004Kc"; + }; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + cpuclock: cpuclock@0 { + #clock-cells = <0>; + compatible = "fixed-clock"; + + /* FIXME: there should be way to detect this */ + clock-frequency = <880000000>; + }; + + sysclock: sysclock@0 { + #clock-cells = <0>; + compatible = "fixed-clock"; + + /* FIXME: there should be way to detect this */ + clock-frequency = <50000000>; + }; + + palmbus@1E000000 { + compatible = "palmbus"; + reg = <0x1E000000 0x100000>; + ranges = <0x0 0x1E000000 0x0FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "mtk,mt7621-sysc"; + reg = <0x0 0x100>; + }; + + wdt@100 { + compatible = "mtk,mt7621-wdt"; + reg = <0x100 0x100>; + }; + + gpio@600 { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "mtk,mt7621-gpio"; + reg = <0x600 0x100>; + + gpio0: bank@0 { + reg = <0>; + compatible = "mtk,mt7621-gpio-bank"; + gpio-controller; + #gpio-cells = <2>; + }; + + gpio1: bank@1 { + reg = <1>; + compatible = "mtk,mt7621-gpio-bank"; + gpio-controller; + #gpio-cells = <2>; + }; + + gpio2: bank@2 { + reg = <2>; + compatible = "mtk,mt7621-gpio-bank"; + gpio-controller; + #gpio-cells = <2>; + }; + }; + + memc@5000 { + compatible = "mtk,mt7621-memc"; + reg = <0x300 0x100>; + }; + + cpc@1fbf0000 { + compatible = "mtk,mt7621-cpc"; + reg = <0x1fbf0000 0x8000>; + }; + + mc@1fbf8000 { + compatible = "mtk,mt7621-mc"; + reg = <0x1fbf8000 0x8000>; + }; + + uartlite@c00 { + compatible = "ns16550a"; + reg = <0xc00 0x100>; + + clocks = <&sysclock>; + + interrupt-parent = <&gic>; + interrupts = ; + + reg-shift = <2>; + reg-io-width = <4>; + no-loopback-test; + }; + + spi@b00 { + status = "okay"; + + compatible = "ralink,mt7621-spi"; + reg = <0xb00 0x100>; + + clocks = <&sysclock>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0 0>; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + }; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + i2c_pins: i2c { + i2c { + ralink,group = "i2c"; + ralink,function = "i2c"; + }; + }; + + uart1_pins: uart1 { + uart1 { + ralink,group = "uart1"; + ralink,function = "uart1"; + }; + }; + + uart2_pins: uart2 { + uart2 { + ralink,group = "uart2"; + ralink,function = "uart2"; + }; + }; + + uart3_pins: uart3 { + uart3 { + ralink,group = "uart3"; + ralink,function = "uart3"; + }; + }; + + rgmii1_pins: rgmii1 { + rgmii1 { + ralink,group = "rgmii1"; + ralink,function = "rgmii1"; + }; + }; + + rgmii2_pins: rgmii2 { + rgmii2 { + ralink,group = "rgmii2"; + ralink,function = "rgmii2"; + }; + }; + + mdio_pins: mdio { + mdio { + ralink,group = "mdio"; + ralink,function = "mdio"; + }; + }; + + pcie_pins: pcie { + pcie { + ralink,group = "pcie"; + ralink,function = "pcie rst"; + }; + }; + + nand_pins: nand { + spi-nand { + ralink,group = "spi"; + ralink,function = "nand1"; + }; + + sdhci-nand { + ralink,group = "sdhci"; + ralink,function = "nand2"; + }; + }; + + sdhci_pins: sdhci { + sdhci { + ralink,group = "sdhci"; + ralink,function = "sdhci"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + sdhci@1E130000 { + compatible = "ralink,mt7620-sdhci"; + reg = <0x1E130000 4000>; + + interrupt-parent = <&gic>; + interrupts = ; + }; + + xhci@1E1C0000 { + status = "okay"; + + compatible = "mediatek,mt8173-xhci"; + reg = <0x1e1c0000 0x1000 + 0x1e1d0700 0x0100>; + + clocks = <&sysclock>; + clock-names = "sys_ck"; + + interrupt-parent = <&gic>; + interrupts = ; + }; + + gic: interrupt-controller@1fbc0000 { + compatible = "mti,gic"; + reg = <0x1fbc0000 0x2000>; + + interrupt-controller; + #interrupt-cells = <3>; + + mti,reserved-cpu-vectors = <7>; + + timer { + compatible = "mti,gic-timer"; + interrupts = ; + clocks = <&cpuclock>; + }; + }; + + nand@1e003000 { + status = "disabled"; + + compatible = "mtk,mt7621-nand"; + bank-width = <2>; + reg = <0x1e003000 0x800 + 0x1e003800 0x800>; + #address-cells = <1>; + #size-cells = <1>; + }; + + ethernet@1e100000 { + compatible = "mediatek,mt7621-eth"; + reg = <0x1e100000 10000>; + + #address-cells = <1>; + #size-cells = <0>; + + resets = <&rstctrl 6 &rstctrl 23>; + reset-names = "fe", "eth"; + + interrupt-parent = <&gic>; + interrupts = ; + + mediatek,switch = <&gsw>; + + mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + + phy1f: ethernet-phy@1f { + reg = <0x1f>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw: gsw@1e110000 { + compatible = "mediatek,mt7621-gsw"; + reg = <0x1e110000 8000>; + interrupt-parent = <&gic>; + interrupts = ; + }; + + pcie@1e140000 { + compatible = "mediatek,mt7621-pci"; + reg = <0x1e140000 0x100 + 0x1e142000 0x100>; + + #address-cells = <3>; + #size-cells = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&pcie_pins>; + + device_type = "pci"; + + bus-range = <0 255>; + ranges = < + 0x02000000 0 0x00000000 0x60000000 0 0x10000000 /* pci memory */ + 0x01000000 0 0x00000000 0x1e160000 0 0x00010000 /* io space */ + >; + + interrupt-parent = <&gic>; + interrupts = ; + + status = "okay"; + + pcie0 { + reg = <0x0000 0 0 0 0>; + + #address-cells = <3>; + #size-cells = <2>; + + device_type = "pci"; + }; + + pcie1 { + reg = <0x0800 0 0 0 0>; + + #address-cells = <3>; + #size-cells = <2>; + + device_type = "pci"; + }; + + pcie2 { + reg = <0x1000 0 0 0 0>; + + #address-cells = <3>; + #size-cells = <2>; + + device_type = "pci"; + }; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/mt7628an.dtsi b/sys/gnu/dts/mips/mt7628an.dtsi new file mode 100644 index 000000000000..2985b2046076 --- /dev/null +++ b/sys/gnu/dts/mips/mt7628an.dtsi @@ -0,0 +1,459 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,mtk7628an-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips24KEc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + palmbus@10000000 { + compatible = "palmbus"; + reg = <0x10000000 0x200000>; + ranges = <0x0 0x10000000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,mt7620a-sysc"; + reg = <0x0 0x100>; + }; + + watchdog@120 { + compatible = "ralink,mt7628an-wdt", "mtk,mt7621-wdt"; + reg = <0x120 0x10>; + + resets = <&rstctrl 8>; + reset-names = "wdt"; + + interrupt-parent = <&intc>; + interrupts = <24>; + }; + + intc: intc@200 { + compatible = "ralink,mt7628an-intc", "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + resets = <&rstctrl 9>; + reset-names = "intc"; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + + ralink,intc-registers = <0x9c 0xa0 + 0x6c 0xa4 + 0x80 0x78>; + }; + + memc@300 { + compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc"; + reg = <0x300 0x100>; + + resets = <&rstctrl 20>; + reset-names = "mc"; + + interrupt-parent = <&intc>; + interrupts = <3>; + }; + + gpio@600 { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "mtk,mt7628-gpio", "mtk,mt7621-gpio"; + reg = <0x600 0x100>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio0: bank@0 { + reg = <0>; + compatible = "mtk,mt7621-gpio-bank"; + gpio-controller; + #gpio-cells = <2>; + }; + + gpio1: bank@1 { + reg = <1>; + compatible = "mtk,mt7621-gpio-bank"; + gpio-controller; + #gpio-cells = <2>; + }; + + gpio2: bank@2 { + reg = <2>; + compatible = "mtk,mt7621-gpio-bank"; + gpio-controller; + #gpio-cells = <2>; + }; + }; + + i2c@900 { + compatible = "mediatek,mt7628-i2c"; + reg = <0x900 0x100>; + + resets = <&rstctrl 16>; + reset-names = "i2c"; + + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + }; + + i2s@a00 { + compatible = "ralink,mt7620a-i2s"; + reg = <0xa00 0x100>; + + resets = <&rstctrl 17>; + reset-names = "i2s"; + + interrupt-parent = <&intc>; + interrupts = <10>; + + dmas = <&gdma 2>, + <&gdma 3>; + dma-names = "tx", "rx"; + + status = "disabled"; + }; + + spi@b00 { + compatible = "ralink,mt7621-spi"; + reg = <0xb00 0x100>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + + status = "disabled"; + }; + + uartlite@c00 { + compatible = "ns16550a"; + reg = <0xc00 0x100>; + + reg-shift = <2>; + reg-io-width = <4>; + no-loopback-test; + + resets = <&rstctrl 12>; + reset-names = "uartl"; + + interrupt-parent = <&intc>; + interrupts = <20>; + + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; + }; + + uart1@d00 { + compatible = "ns16550a"; + reg = <0xd00 0x100>; + + reg-shift = <2>; + reg-io-width = <4>; + no-loopback-test; + + resets = <&rstctrl 19>; + reset-names = "uart1"; + + interrupt-parent = <&intc>; + interrupts = <21>; + + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; + + status = "disabled"; + }; + + uart2@e00 { + compatible = "ns16550a"; + reg = <0xe00 0x100>; + + reg-shift = <2>; + reg-io-width = <4>; + no-loopback-test; + + resets = <&rstctrl 20>; + reset-names = "uart2"; + + interrupt-parent = <&intc>; + interrupts = <22>; + + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; + + status = "disabled"; + }; + + pwm@5000 { + compatible = "mediatek,mt7628-pwm"; + reg = <0x5000 0x1000>; + + resets = <&rstctrl 31>; + reset-names = "pwm"; + + pinctrl-names = "default"; + pinctrl-0 = <&pwm0_pins>, <&pwm1_pins>; + + status = "disabled"; + }; + + pcm@2000 { + compatible = "ralink,mt7620a-pcm"; + reg = <0x2000 0x800>; + + resets = <&rstctrl 11>; + reset-names = "pcm"; + + interrupt-parent = <&intc>; + interrupts = <4>; + + status = "disabled"; + }; + + gdma: gdma@2800 { + compatible = "ralink,mt7620a-gdma", "ralink,rt2880-gdma"; + reg = <0x2800 0x800>; + + resets = <&rstctrl 14>; + reset-names = "dma"; + + interrupt-parent = <&intc>; + interrupts = <7>; + + #dma-cells = <1>; + #dma-channels = <16>; + #dma-requests = <16>; + + status = "disabled"; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + spi_cs1_pins: spi_cs1 { + spi_cs1 { + ralink,group = "spi cs1"; + ralink,function = "spi cs1"; + }; + }; + + i2c_pins: i2c { + i2c { + ralink,group = "i2c"; + ralink,function = "i2c"; + }; + }; + + uart0_pins: uartlite { + uartlite { + ralink,group = "uart0"; + ralink,function = "uart0"; + }; + }; + + uart1_pins: uart1 { + uart1 { + ralink,group = "uart1"; + ralink,function = "uart1"; + }; + }; + + uart2_pins: uart2 { + uart2 { + ralink,group = "uart2"; + ralink,function = "uart2"; + }; + }; + + sdxc_pins: sdxc { + sdxc { + ralink,group = "sdmode"; + ralink,function = "sdxc"; + }; + }; + + pwm0_pins: pwm0 { + pwm0 { + ralink,group = "pwm0"; + ralink,function = "pwm0"; + }; + }; + + pwm1_pins: pwm1 { + pwm1 { + ralink,group = "pwm1"; + ralink,function = "pwm1"; + }; + }; + + pcm_i2s_pins: i2s { + i2s { + ralink,group = "i2s"; + ralink,function = "pcm"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + usbphy: usbphy@10120000 { + compatible = "ralink,mt7628an-usbphy", "mediatek,mt7620-usbphy"; + reg = <0x10120000 4000>; + #phy-cells = <1>; + + resets = <&rstctrl 22 &rstctrl 25>; + reset-names = "host", "device"; + }; + + sdhci@10130000 { + compatible = "ralink,mt7620-sdhci"; + reg = <0x10130000 4000>; + + interrupt-parent = <&intc>; + interrupts = <14>; + + pinctrl-names = "default"; + pinctrl-0 = <&sdxc_pins>; + + status = "disabled"; + }; + + ehci@101c0000 { + compatible = "generic-ehci"; + reg = <0x101c0000 0x1000>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + interrupt-parent = <&intc>; + interrupts = <18>; + }; + + ohci@101c1000 { + compatible = "generic-ohci"; + reg = <0x101c1000 0x1000>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + interrupt-parent = <&intc>; + interrupts = <18>; + }; + + ethernet@10100000 { + compatible = "ralink,rt5350-eth"; + reg = <0x10100000 10000>; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + resets = <&rstctrl 21 &rstctrl 23>; + reset-names = "fe", "esw"; + + mediatek,switch = <&esw>; + }; + + esw: esw@10110000 { + compatible = "ralink,rt3050-esw"; + reg = <0x10110000 8000>; + + resets = <&rstctrl 23>; + reset-names = "esw"; + + interrupt-parent = <&intc>; + interrupts = <17>; + }; + + pcie@10140000 { + compatible = "mediatek,mt7620-pci"; + reg = <0x10140000 0x100 + 0x10142000 0x100>; + + #address-cells = <3>; + #size-cells = <2>; + + resets = <&rstctrl 26>; + reset-names = "pcie0"; + + interrupt-parent = <&cpuintc>; + interrupts = <4>; + + status = "disabled"; + + device_type = "pci"; + + bus-range = <0 255>; + ranges = < + 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */ + 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */ + >; + + pcie-bridge { + reg = <0x0000 0 0 0 0>; + + #address-cells = <3>; + #size-cells = <2>; + + device_type = "pci"; + }; + }; + + wmac: wmac@10300000 { + compatible = "mediatek,mt7628-wmac"; + reg = <0x10300000 100000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + status = "disabled"; + + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/rt2880.dtsi b/sys/gnu/dts/mips/rt2880.dtsi new file mode 100644 index 000000000000..5642f2552cee --- /dev/null +++ b/sys/gnu/dts/mips/rt2880.dtsi @@ -0,0 +1,196 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,rt2880-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips24KEc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + palmbus@300000 { + compatible = "palmbus"; + reg = <0x300000 0x200000>; + ranges = <0x0 0x300000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,rt2880-sysc"; + reg = <0x000 0x100>; + }; + + timer@100 { + compatible = "ralink,rt2880-timer"; + reg = <0x100 0x20>; + + interrupt-parent = <&intc>; + interrupts = <1>; + + status = "disabled"; + }; + + watchdog@120 { + compatible = "ralink,rt2880-wdt"; + reg = <0x120 0x10>; + }; + + intc: intc@200 { + compatible = "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + }; + + memc@300 { + compatible = "ralink,rt2880-memc"; + reg = <0x300 0x100>; + }; + + gpio0: gpio@600 { + compatible = "ralink,rt2880-gpio"; + reg = <0x600 0x34>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <0>; + ralink,num-gpios = <24>; + ralink,register-map = [ 00 04 08 0c + 20 24 28 2c + 30 34 ]; + }; + + gpio1: gpio@638 { + compatible = "ralink,rt2880-gpio"; + reg = <0x638 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <24>; + ralink,num-gpios = <16>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio2: gpio@660 { + compatible = "ralink,rt2880-gpio"; + reg = <0x660 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <40>; + ralink,num-gpios = <32>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + uartlite@c00 { + compatible = "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + + interrupt-parent = <&intc>; + interrupts = <8>; + + reg-shift = <2>; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + sdram { + ralink,group = "sdram"; + ralink,function = "sdram"; + }; + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + ethernet@400000 { + compatible = "ralink,rt2880-eth"; + reg = <0x00400000 10000>; + + #address-cells = <1>; + #size-cells = <0>; + + resets = <&rstctrl 18>; + reset-names = "fe"; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + status = "disabled"; + + port@0 { + compatible = "ralink,rt2880-port", "mediatek,eth-port"; + reg = <0>; + }; + + mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + }; + }; + + wmac@480000 { + compatible = "ralink,rt2880-wmac"; + reg = <0x480000 40000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + ralink,eeprom = "soc_wmac.eeprom"; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/rt3050.dtsi b/sys/gnu/dts/mips/rt3050.dtsi new file mode 100644 index 000000000000..04e67f33ebfb --- /dev/null +++ b/sys/gnu/dts/mips/rt3050.dtsi @@ -0,0 +1,265 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,rt3050-soc", "ralink,rt3052-soc", "ralink,rt3350-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips24KEc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + aliases { + spi0 = &spi0; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + palmbus@10000000 { + compatible = "palmbus"; + reg = <0x10000000 0x200000>; + ranges = <0x0 0x10000000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,rt3050-sysc"; + reg = <0x0 0x100>; + }; + + timer@100 { + compatible = "ralink,rt3050-timer", "ralink,rt2880-timer"; + reg = <0x100 0x20>; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + watchdog@120 { + compatible = "ralink,rt3050-wdt", "ralink,rt2880-wdt"; + reg = <0x120 0x10>; + + resets = <&rstctrl 8>; + reset-names = "wdt"; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + intc: intc@200 { + compatible = "ralink,rt3050-intc", "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + resets = <&rstctrl 19>; + reset-names = "intc"; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + }; + + memc@300 { + compatible = "ralink,rt3050-memc"; + reg = <0x300 0x100>; + + resets = <&rstctrl 20>; + reset-names = "mc"; + + interrupt-parent = <&intc>; + interrupts = <3>; + }; + + uart@500 { + compatible = "ralink,rt3050-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0x500 0x100>; + + resets = <&rstctrl 12>; + reset-names = "uart"; + + interrupt-parent = <&intc>; + interrupts = <5>; + + reg-shift = <2>; + + status = "disabled"; + }; + + gpio0: gpio@600 { + compatible = "ralink,rt3050-gpio", "ralink,rt2880-gpio"; + reg = <0x600 0x34>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <0>; + ralink,num-gpios = <24>; + ralink,register-map = [ 00 04 08 0c + 20 24 28 2c + 30 34 ]; + + resets = <&rstctrl 13>; + reset-names = "pio"; + + interrupt-parent = <&intc>; + interrupts = <6>; + }; + + gpio1: gpio@638 { + compatible = "ralink,rt3050-gpio", "ralink,rt2880-gpio"; + reg = <0x638 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <24>; + ralink,num-gpios = <16>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio2: gpio@660 { + compatible = "ralink,rt3050-gpio", "ralink,rt2880-gpio"; + reg = <0x660 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <40>; + ralink,num-gpios = <12>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + spi0: spi@b00 { + compatible = "ralink,rt3050-spi", "ralink,rt2880-spi"; + reg = <0xb00 0x100>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + + status = "disabled"; + }; + + uartlite@c00 { + compatible = "ralink,rt3050-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + + resets = <&rstctrl 19>; + reset-names = "uartl"; + + interrupt-parent = <&intc>; + interrupts = <12>; + + reg-shift = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&uartlite_pins>; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + sdram { + ralink,group = "sdram"; + ralink,function = "sdram"; + }; + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,rt3050-reset", "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + ethernet@10100000 { + compatible = "ralink,rt3050-eth"; + reg = <0x10100000 10000>; + + resets = <&rstctrl 21>; + reset-names = "fe"; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + mediatek,switch = <&esw>; + }; + + esw: esw@10110000 { + compatible = "ralink,rt3050-esw"; + reg = <0x10110000 8000>; + + resets = <&rstctrl 23>; + reset-names = "esw"; + + interrupt-parent = <&intc>; + interrupts = <17>; + }; + + wmac@10180000 { + compatible = "ralink,rt3050-wmac", "ralink,rt2880-wmac"; + reg = <0x10180000 40000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + ralink,eeprom = "soc_wmac.eeprom"; + }; + + otg@101c0000 { + compatible = "ralink,rt3050-otg", "snps,dwc2"; + reg = <0x101c0000 40000>; + + interrupt-parent = <&intc>; + interrupts = <18>; + + resets = <&rstctrl 22>; + reset-names = "otg"; + + status = "disabled"; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/rt3352.dtsi b/sys/gnu/dts/mips/rt3352.dtsi new file mode 100644 index 000000000000..a57e4c00e4dd --- /dev/null +++ b/sys/gnu/dts/mips/rt3352.dtsi @@ -0,0 +1,293 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,rt3352-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips24KEc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + aliases { + spi0 = &spi0; + spi1 = &spi1; + }; + + palmbus@10000000 { + compatible = "palmbus"; + reg = <0x10000000 0x200000>; + ranges = <0x0 0x10000000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,rt3352-sysc", "ralink,rt3050-sysc"; + reg = <0x0 0x100>; + }; + + timer@100 { + compatible = "ralink,rt3352-timer", "ralink,rt2880-timer"; + reg = <0x100 0x20>; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + watchdog@120 { + compatible = "ralink,rt3352-wdt", "ralink,rt2880-wdt"; + reg = <0x120 0x10>; + + resets = <&rstctrl 8>; + reset-names = "wdt"; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + intc: intc@200 { + compatible = "ralink,rt3352-intc", "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + }; + + memc@300 { + compatible = "ralink,rt3352-memc", "ralink,rt3050-memc"; + reg = <0x300 0x100>; + + resets = <&rstctrl 20>; + reset-names = "mc"; + + interrupt-parent = <&intc>; + interrupts = <3>; + }; + + uart@500 { + compatible = "ralink,rt3352-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0x500 0x100>; + + resets = <&rstctrl 12>; + reset-names = "uart"; + + interrupt-parent = <&intc>; + interrupts = <5>; + + reg-shift = <2>; + + status = "disabled"; + }; + + gpio0: gpio@600 { + compatible = "ralink,rt3352-gpio", "ralink,rt2880-gpio"; + reg = <0x600 0x34>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <0>; + ralink,num-gpios = <24>; + ralink,register-map = [ 00 04 08 0c + 20 24 28 2c + 30 34 ]; + resets = <&rstctrl 13>; + reset-names = "pio"; + + interrupt-parent = <&intc>; + interrupts = <6>; + }; + + gpio1: gpio@638 { + compatible = "ralink,rt3352-gpio", "ralink,rt2880-gpio"; + reg = <0x638 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <24>; + ralink,num-gpios = <16>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio2: gpio@660 { + compatible = "ralink,rt3352-gpio", "ralink,rt2880-gpio"; + reg = <0x660 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <40>; + ralink,num-gpios = <6>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + spi0: spi@b00 { + compatible = "ralink,rt3352-spi", "ralink,rt2880-spi"; + reg = <0xb00 0x40>; + #address-cells = <1>; + #size-cells = <0>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + + status = "disabled"; + }; + + spi1: spi@b40 { + compatible = "ralink,rt3352-spi", "ralink,rt2880-spi"; + reg = <0xb40 0x60>; + #address-cells = <1>; + #size-cells = <1>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_cs1>; + + status = "disabled"; + }; + + uartlite@c00 { + compatible = "ralink,rt3352-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + + resets = <&rstctrl 19>; + reset-names = "uartl"; + + interrupt-parent = <&intc>; + interrupts = <12>; + + reg-shift = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&uartlite_pins>; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + spi_cs1: spi1 { + spi1 { + ralink,group = "spi_cs1"; + ralink,function = "spi_cs1"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,rt3352-reset", "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + ethernet@10100000 { + compatible = "ralink,rt3352-eth", "ralink,rt3050-eth"; + reg = <0x10100000 10000>; + + resets = <&rstctrl 21>; + reset-names = "fe"; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + mediatek,switch = <&esw>; + }; + + esw: esw@10110000 { + compatible = "ralink,rt3352-esw", "ralink,rt3050-esw"; + reg = <0x10110000 8000>; + + resets = <&rstctrl 23>; + reset-names = "esw"; + + interrupt-parent = <&intc>; + interrupts = <17>; + }; + + usbphy { + compatible = "ralink,rt3352-usbphy"; + + resets = <&rstctrl 22 &rstctrl 25>; + reset-names = "host", "device"; + }; + + wmac@10180000 { + compatible = "ralink,rt3352-wmac", "ralink,rt2880-wmac"; + reg = <0x10180000 40000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + ralink,eeprom = "soc_wmac.eeprom"; + }; + + ehci@101c0000 { + compatible = "generic-ehci"; + reg = <0x101c0000 0x1000>; + + interrupt-parent = <&intc>; + interrupts = <18>; + + status = "disabled"; + }; + + ohci@101c1000 { + compatible = "generic-ohci"; + reg = <0x101c1000 0x1000>; + + interrupt-parent = <&intc>; + interrupts = <18>; + + status = "disabled"; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/rt3883.dtsi b/sys/gnu/dts/mips/rt3883.dtsi new file mode 100644 index 000000000000..4eceae6e9950 --- /dev/null +++ b/sys/gnu/dts/mips/rt3883.dtsi @@ -0,0 +1,405 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,rt3883-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips74Kc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + aliases { + spi0 = &spi0; + spi1 = &spi1; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + palmbus@10000000 { + compatible = "palmbus"; + reg = <0x10000000 0x200000>; + ranges = <0x0 0x10000000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,rt3883-sysc", "ralink,rt3050-sysc"; + reg = <0x0 0x100>; + }; + + timer@100 { + compatible = "ralink,rt3883-timer", "ralink,rt2880-timer"; + reg = <0x100 0x20>; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + watchdog@120 { + compatible = "ralink,rt3883-wdt", "ralink,rt2880-wdt"; + reg = <0x120 0x10>; + + resets = <&rstctrl 8>; + reset-names = "wdt"; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + intc: intc@200 { + compatible = "ralink,rt3883-intc", "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + resets = <&rstctrl 19>; + reset-names = "intc"; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + }; + + memc@300 { + compatible = "ralink,rt3883-memc", "ralink,rt3050-memc"; + reg = <0x300 0x100>; + + resets = <&rstctrl 20>; + reset-names = "mc"; + + interrupt-parent = <&intc>; + interrupts = <3>; + }; + + uart@500 { + compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0x500 0x100>; + + resets = <&rstctrl 12>; + reset-names = "uart"; + + interrupt-parent = <&intc>; + interrupts = <5>; + + reg-shift = <2>; + + status = "disabled"; + }; + + gpio0: gpio@600 { + compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio"; + reg = <0x600 0x34>; + + resets = <&rstctrl 13>; + reset-names = "pio"; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <0>; + ralink,num-gpios = <24>; + ralink,register-map = [ 00 04 08 0c + 20 24 28 2c + 30 34 ]; + }; + + gpio1: gpio@638 { + compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio"; + reg = <0x638 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <24>; + ralink,num-gpios = <16>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio2: gpio@660 { + compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio"; + reg = <0x660 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <40>; + ralink,num-gpios = <32>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + gpio3: gpio@688 { + compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio"; + reg = <0x688 0x24>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <72>; + ralink,num-gpios = <24>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + spi0: spi@b00 { + compatible = "ralink,rt3883-spi", "ralink,rt2880-spi"; + reg = <0xb00 0x40>; + #address-cells = <1>; + #size-cells = <0>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + + status = "disabled"; + }; + + spi1: spi@b40 { + compatible = "ralink,rt3883-spi", "ralink,rt2880-spi"; + reg = <0xb40 0x60>; + #address-cells = <1>; + #size-cells = <0>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_cs1>; + + status = "disabled"; + }; + + uartlite@c00 { + compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + + resets = <&rstctrl 19>; + reset-names = "uartl"; + + interrupt-parent = <&intc>; + interrupts = <12>; + + reg-shift = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&uartlite_pins>; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + spi_cs1: spi1 { + spi1 { + ralink,group = "spi_cs1"; + ralink,function = "spi_cs1"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + }; + + ethernet@10100000 { + compatible = "ralink,rt3883-eth"; + reg = <0x10100000 10000>; + + resets = <&rstctrl 21>; + reset-names = "fe"; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + port@0 { + compatible = "ralink,rt3883-port", "mediatek,eth-port"; + reg = <0>; + }; + + mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,rt3883-reset", "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + pci@10140000 { + compatible = "ralink,rt3883-pci"; + reg = <0x10140000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; + ranges; /* direct mapping */ + + status = "disabled"; + + pciintc: interrupt-controller { + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <4>; + }; + + host-bridge { + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + + device_type = "pci"; + + bus-range = <0 255>; + ranges = < + 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */ + 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */ + >; + + interrupt-map-mask = <0xf800 0 0 7>; + interrupt-map = < + /* IDSEL 17 */ + 0x8800 0 0 1 &pciintc 18 + 0x8800 0 0 2 &pciintc 18 + 0x8800 0 0 3 &pciintc 18 + 0x8800 0 0 4 &pciintc 18 + /* IDSEL 18 */ + 0x9000 0 0 1 &pciintc 19 + 0x9000 0 0 2 &pciintc 19 + 0x9000 0 0 3 &pciintc 19 + 0x9000 0 0 4 &pciintc 19 + >; + + pci-bridge@1 { + reg = <0x0800 0 0 0 0>; + device_type = "pci"; + #interrupt-cells = <1>; + #address-cells = <3>; + #size-cells = <2>; + + status = "disabled"; + + ralink,pci-slot = <1>; + + interrupt-map-mask = <0x0 0 0 0>; + interrupt-map = <0x0 0 0 0 &pciintc 20>; + }; + + pci-slot@17 { + reg = <0x8800 0 0 0 0>; + device_type = "pci"; + #interrupt-cells = <1>; + #address-cells = <3>; + #size-cells = <2>; + + ralink,pci-slot = <17>; + + status = "disabled"; + }; + + pci-slot@18 { + reg = <0x9000 0 0 0 0>; + device_type = "pci"; + #interrupt-cells = <1>; + #address-cells = <3>; + #size-cells = <2>; + + ralink,pci-slot = <18>; + + status = "disabled"; + }; + }; + }; + + usbphy: usbphy { + compatible = "ralink,rt3352-usbphy"; + #phy-cells = <1>; + + resets = <&rstctrl 22 &rstctrl 25>; + reset-names = "host", "device"; + }; + + wmac@10180000 { + compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac"; + reg = <0x10180000 40000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + ralink,eeprom = "soc_wmac.eeprom"; + }; + + ehci@101c0000 { + compatible = "generic-ehci"; + reg = <0x101c0000 0x1000>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + interrupt-parent = <&intc>; + interrupts = <18>; + + status = "disabled"; + }; + + ohci@101c1000 { + compatible = "generic-ohci"; + reg = <0x101c1000 0x1000>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + interrupt-parent = <&intc>; + interrupts = <18>; + + status = "disabled"; + }; +}; + +#include diff --git a/sys/gnu/dts/mips/rt5350.dtsi b/sys/gnu/dts/mips/rt5350.dtsi new file mode 100644 index 000000000000..db24601cf309 --- /dev/null +++ b/sys/gnu/dts/mips/rt5350.dtsi @@ -0,0 +1,334 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "ralink,rt5350-soc"; + + cpus { + cpu@0 { + compatible = "mips,mips24KEc"; + }; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; + + aliases { + spi0 = &spi0; + spi1 = &spi1; + }; + + palmbus@10000000 { + compatible = "palmbus"; + reg = <0x10000000 0x200000>; + ranges = <0x0 0x10000000 0x1FFFFF>; + + #address-cells = <1>; + #size-cells = <1>; + + sysc@0 { + compatible = "ralink,rt5350-sysc", "ralink,rt3050-sysc"; + reg = <0x0 0x100>; + }; + + timer@100 { + compatible = "ralink,rt5350-timer", "ralink,rt2880-timer"; + reg = <0x100 0x20>; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + watchdog@120 { + compatible = "ralink,rt5350-wdt", "ralink,rt2880-wdt"; + reg = <0x120 0x10>; + + resets = <&rstctrl 8>; + reset-names = "wdt"; + + interrupt-parent = <&intc>; + interrupts = <1>; + }; + + intc: intc@200 { + compatible = "ralink,rt5350-intc", "ralink,rt2880-intc"; + reg = <0x200 0x100>; + + resets = <&rstctrl 19>; + reset-names = "intc"; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpuintc>; + interrupts = <2>; + }; + + memc@300 { + compatible = "ralink,rt5350-memc", "ralink,rt3050-memc"; + reg = <0x300 0x100>; + + resets = <&rstctrl 20>; + reset-names = "mc"; + + interrupt-parent = <&intc>; + interrupts = <3>; + }; + + uart@500 { + compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0x500 0x100>; + + resets = <&rstctrl 12>; + reset-names = "uart"; + + interrupt-parent = <&intc>; + interrupts = <5>; + + reg-shift = <2>; + + status = "disabled"; + }; + + gpio0: gpio@600 { + compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio"; + reg = <0x600 0x34>; + + resets = <&rstctrl 13>; + reset-names = "pio"; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <0>; + ralink,num-gpios = <22>; + ralink,register-map = [ 00 04 08 0c + 20 24 28 2c + 30 34 ]; + }; + + gpio1: gpio@660 { + compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio"; + reg = <0x660 0x24>; + + interrupt-parent = <&intc>; + interrupts = <6>; + + gpio-controller; + #gpio-cells = <2>; + + ralink,gpio-base = <22>; + ralink,num-gpios = <6>; + ralink,register-map = [ 00 04 08 0c + 10 14 18 1c + 20 24 ]; + + status = "disabled"; + }; + + i2c@900 { + compatible = "link,rt5350-i2c", "ralink,rt2880-i2c"; + reg = <0x900 0x100>; + + resets = <&rstctrl 16>; + reset-names = "i2c"; + + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + + status = "disabled"; + }; + + spi0: spi@b00 { + compatible = "ralink,rt5350-spi", "ralink,rt2880-spi"; + reg = <0xb00 0x40>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <1>; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>; + + status = "disabled"; + }; + + spi1: spi@b40 { + compatible = "ralink,rt5350-spi", "ralink,rt2880-spi"; + reg = <0xb40 0x60>; + + resets = <&rstctrl 18>; + reset-names = "spi"; + + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_cs1>; + + status = "disabled"; + }; + + uartlite@c00 { + compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a"; + reg = <0xc00 0x100>; + + resets = <&rstctrl 19>; + reset-names = "uartl"; + + interrupt-parent = <&intc>; + interrupts = <12>; + + pinctrl-names = "default"; + pinctrl-0 = <&uartlite_pins>; + + reg-shift = <2>; + }; + + systick@d00 { + compatible = "ralink,rt5350-systick", "ralink,cevt-systick"; + reg = <0xd00 0x10>; + + interrupt-parent = <&cpuintc>; + interrupts = <7>; + }; + }; + + pinctrl { + compatible = "ralink,rt2880-pinmux"; + + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + spi_pins: spi { + spi { + ralink,group = "spi"; + ralink,function = "spi"; + }; + }; + + i2c_pins: i2c { + i2c { + ralink,group = "i2c"; + ralink,function = "i2c"; + }; + }; + + phy_led_pins: phy_led { + phy_led { + ralink,group = "led"; + ralink,function = "led"; + }; + }; + + uartlite_pins: uartlite { + uart { + ralink,group = "uartlite"; + ralink,function = "uartlite"; + }; + }; + + uartf_pins: uartf { + uartf { + ralink,group = "uartf"; + ralink,function = "uartf"; + }; + }; + + spi_cs1: spi1 { + spi1 { + ralink,group = "spi_cs1"; + ralink,function = "spi_cs1"; + }; + }; + }; + + rstctrl: rstctrl { + compatible = "ralink,rt5350-reset", "ralink,rt2880-reset"; + #reset-cells = <1>; + }; + + usbphy: usbphy { + compatible = "ralink,rt3352-usbphy"; + #phy-cells = <1>; + + resets = <&rstctrl 22 &rstctrl 25>; + reset-names = "host", "device"; + }; + + ethernet@10100000 { + compatible = "ralink,rt5350-eth"; + reg = <0x10100000 10000>; + + resets = <&rstctrl 21 &rstctrl 23>; + reset-names = "fe", "esw"; + + interrupt-parent = <&cpuintc>; + interrupts = <5>; + + mediatek,switch = <&esw>; + }; + + esw: esw@10110000 { + compatible = "ralink,rt3050-esw"; + reg = <0x10110000 8000>; + + resets = <&rstctrl 23>; + reset-names = "esw"; + + interrupt-parent = <&intc>; + interrupts = <17>; + }; + + wmac@10180000 { + compatible = "ralink,rt5350-wmac", "ralink,rt2880-wmac"; + reg = <0x10180000 40000>; + + interrupt-parent = <&cpuintc>; + interrupts = <6>; + + ralink,eeprom = "soc_wmac.eeprom"; + }; + + ehci@101c0000 { + compatible = "generic-ehci"; + reg = <0x101c0000 0x1000>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + interrupt-parent = <&intc>; + interrupts = <18>; + }; + + ohci@101c1000 { + compatible = "generic-ohci"; + reg = <0x101c1000 0x1000>; + + phys = <&usbphy 1>; + phy-names = "usb"; + + interrupt-parent = <&intc>; + interrupts = <18>; + }; +}; + +#include