From 5722b32acf21fc6d928333fc1333d397f75c1f86 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 18 Sep 2013 16:31:37 +0000 Subject: [PATCH] ralink: DIR-300 B7 and DIR-320/NRU B1 on Ralink RT5350 https://dev.openwrt.org/ticket/14129 Signed-off-by: John Crispin SVN-Revision: 38040 --- target/linux/ramips/base-files/etc/diag.sh | 2 +- .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 2 + .../base-files/etc/uci-defaults/01_leds | 2 + .../base-files/etc/uci-defaults/02_network | 4 + .../base-files/lib/preinit/06_set_iface_mac | 4 +- target/linux/ramips/base-files/lib/ramips.sh | 6 + .../ramips/base-files/lib/upgrade/platform.sh | 2 + target/linux/ramips/dts/DIR-300-B7.dts | 96 ++++++++++++++ target/linux/ramips/dts/DIR-320-B1.dts | 119 ++++++++++++++++++ target/linux/ramips/image/Makefile | 5 + 10 files changed, 240 insertions(+), 2 deletions(-) create mode 100644 target/linux/ramips/dts/DIR-300-B7.dts create mode 100644 target/linux/ramips/dts/DIR-320-B1.dts diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index c0fdc88877..c8f73e7971 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -27,7 +27,7 @@ get_status_led() { d105) status_led="d105:red:power" ;; - dir-300-b1 | dir-600-b1 | dir-600-b2 | dir-610-a1 | dir-615-h1 | dir-615-d | dir-620-a1| dir-620-d1) + dir-300-b1 | dir-600-b1 | dir-600-b2 | dir-610-a1 | dir-615-h1 | dir-615-d | dir-620-a1| dir-620-d1| dir-300-b7| dir-320-b1) status_led="d-link:green:status" ;; dir-645) diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index a80ea4ff49..a56781787d 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -68,6 +68,8 @@ case "$FIRMWARE" in br6524n | \ carambola | \ d105 | \ + dir-300-b7 | \ + dir-320-b1 | \ dir-610-a1 | \ dir-615-h1 | \ dir-620-a1 | \ diff --git a/target/linux/ramips/base-files/etc/uci-defaults/01_leds b/target/linux/ramips/base-files/etc/uci-defaults/01_leds index 64c7c5e469..7f9ca40722 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/01_leds +++ b/target/linux/ramips/base-files/etc/uci-defaults/01_leds @@ -78,6 +78,8 @@ case $board in ucidef_set_led_default "power" "POWER" "dlink:green:power" "1" ;; dir-610-a1 |\ + dir-300-b7 |\ + dir-320-b1 |\ esr-9753) set_wifi_led "rt2800pci-phy0::radio" ;; diff --git a/target/linux/ramips/base-files/etc/uci-defaults/02_network b/target/linux/ramips/base-files/etc/uci-defaults/02_network index e444ef246d..0184ef4df7 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/02_network +++ b/target/linux/ramips/base-files/etc/uci-defaults/02_network @@ -78,6 +78,8 @@ ramips_setup_interfaces() ;; dir-610-a1 | \ + dir-300-b7 | \ + dir-320-b1 | \ dir-615-h1 | \ mzk-w300nh2) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" @@ -177,6 +179,8 @@ ramips_setup_macs() ip2202 | \ mpr-a1 | \ mpr-a2 | \ + dir-300-b7 | \ + dir-320-b1 | \ mzk-w300nh2 | \ nw718 | \ psr-680w | \ diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac index 44cab3aa19..0c4ee13930 100644 --- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac +++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac @@ -13,6 +13,7 @@ preinit_set_mac_address() { 3g-6200nl |\ 3g300m | \ dir-620-d1 |\ + dir-300-b7 | \ w150m | \ mzk-w300nh2 |\ wl-330n |\ @@ -28,7 +29,8 @@ preinit_set_mac_address() { freestation5 |\ mpr-a1 | \ mpr-a2 | \ - nw718 |\ + dir-300-b7 | \ + dir-320-b1 | \ psr-680w |\ rt-n56u |\ sl-r7205) diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 066f3bdb40..a92e8189b9 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -67,6 +67,12 @@ ramips_board_detect() { *"DIR-300 B1") name="dir-300-b1" ;; + *"DIR-300 B7") + name="dir-300-b7" + ;; + *"DIR-320/NRU B1") + name="dir-320-b1" + ;; *"DIR-600 B1") name="dir-600-b1" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 4545af009c..cc8ca89aa5 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -30,6 +30,8 @@ platform_check_image() { carambola | \ d105 | \ dir-300-b1 | \ + dir-300-b7 | \ + dir-320-b1 | \ dir-600-b1 | \ dir-600-b2 | \ dir-615-h1 | \ diff --git a/target/linux/ramips/dts/DIR-300-B7.dts b/target/linux/ramips/dts/DIR-300-B7.dts new file mode 100644 index 0000000000..22c4cb2c6b --- /dev/null +++ b/target/linux/ramips/dts/DIR-300-B7.dts @@ -0,0 +1,96 @@ +/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 = "s25fl064k"; + 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"; + }; + }; + }; + + esw@10110000 { + ralink,portmap = <0x2f>; + ralink,led_polarity = <0x17>; + }; + + gpio-leds { + compatible = "gpio-leds"; + status { + label = "d-link:green:status"; + gpios = <&gpio0 9 1>; + }; + wps { + label = "d-link:blue:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + 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>; + }; +}; + diff --git a/target/linux/ramips/dts/DIR-320-B1.dts b/target/linux/ramips/dts/DIR-320-B1.dts new file mode 100644 index 0000000000..2d8e402f69 --- /dev/null +++ b/target/linux/ramips/dts/DIR-320-B1.dts @@ -0,0 +1,119 @@ +/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 = "s25fl064k"; + 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"; + }; + }; + }; + + esw@10110000 { + ralink,portmap = <0x2f>; + ralink,led_polarity = <0x17>; + }; + + gpio-leds { + compatible = "gpio-leds"; + status { + label = "d-link:green:status"; + gpios = <&gpio0 9 1>; + }; + usb { + label = "d-link:green:usb"; + gpios = <&gpio0 14 1>; + }; + wps { + label = "d-link:green:wps"; + gpios = <&gpio0 13 1>; + }; + }; + + gpio-keys-polled { + 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/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 2891aaf1ef..f4bb5686e8 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -388,6 +388,9 @@ Image/Build/Profile/MOFI3500-3GN=$(call BuildFirmware/Default8M/$(1),$(1),mofi35 Image/Build/Profile/MPRA1=$(call BuildFirmware/Default4M/$(1),$(1),mpr-a1,MPRA1,Linux Kernel Image) Image/Build/Profile/MPRA2=$(call BuildFirmware/Default8M/$(1),$(1),mpr-a2,MPRA2,Linux Kernel Image) +Image/Build/Profile/DIR-300-B7=$(call BuildFirmware/Default4M/$(1),$(1),dir-300-b7,DIR-300-B7) +Image/Build/Profile/DIR-320-B1=$(call BuildFirmware/Default4M/$(1),$(1),dir-320-b1,DIR-320-B1) + Image/Build/Profile/NBG-419N=$(call BuildFirmware/Default4M/$(1),$(1),nbg-419n,NBG-419N) Image/Build/Profile/MZKW300NH2=$(call BuildFirmware/Edimax/$(1),$(1),mzk-w300nh2,MZK-W300NH2,$(mzkw300nh2_mtd_size),CSYS,RN52,0x50000,0xc0000) @@ -506,6 +509,8 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/D105,$(1)) $(call Image/Build/Profile/DIR-300-B1,$(1)) $(call Image/Build/Profile/DIR-600-B1,$(1)) + $(call Image/Build/Profile/DIR-300-B7,$(1)) + $(call Image/Build/Profile/DIR-320-B1,$(1)) $(call Image/Build/Profile/DIR-600-B2,$(1)) $(call Image/Build/Profile/DIR610A1,$(1)) $(call Image/Build/Profile/DIR-615-D,$(1)) -- 2.25.1