ralink: DIR-300 B7 and DIR-320/NRU B1 on Ralink RT5350
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 18 Sep 2013 16:31:37 +0000 (16:31 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 18 Sep 2013 16:31:37 +0000 (16:31 +0000)
https://dev.openwrt.org/ticket/14129

Signed-off-by: John Crispin <blogic@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38040 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
target/linux/ramips/base-files/etc/uci-defaults/01_leds
target/linux/ramips/base-files/etc/uci-defaults/02_network
target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/DIR-300-B7.dts [new file with mode: 0644]
target/linux/ramips/dts/DIR-320-B1.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile

index c0fdc88..c8f73e7 100755 (executable)
@@ -27,7 +27,7 @@ get_status_led() {
        d105)
                status_led="d105:red:power"
                ;;
        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)
                status_led="d-link:green:status"
                ;;
        dir-645)
index a80ea4f..a567817 100644 (file)
@@ -68,6 +68,8 @@ case "$FIRMWARE" in
        br6524n | \
        carambola | \
        d105 | \
        br6524n | \
        carambola | \
        d105 | \
+       dir-300-b7 | \
+       dir-320-b1 | \
        dir-610-a1 | \
        dir-615-h1 | \
        dir-620-a1 | \
        dir-610-a1 | \
        dir-615-h1 | \
        dir-620-a1 | \
index 64c7c5e..7f9ca40 100755 (executable)
@@ -78,6 +78,8 @@ case $board in
                ucidef_set_led_default "power" "POWER" "dlink:green:power" "1"
                ;;
        dir-610-a1 |\
                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"
                ;;
        esr-9753)
                set_wifi_led "rt2800pci-phy0::radio"
                ;;
index e444ef2..0184ef4 100755 (executable)
@@ -78,6 +78,8 @@ ramips_setup_interfaces()
                ;;
 
        dir-610-a1 | \
                ;;
 
        dir-610-a1 | \
+       dir-300-b7 | \
+       dir-320-b1 | \
        dir-615-h1 | \
        mzk-w300nh2)
                ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
        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 | \
        ip2202 | \
        mpr-a1 | \
        mpr-a2 | \
+       dir-300-b7 | \
+       dir-320-b1 | \
        mzk-w300nh2 | \
        nw718 | \
        psr-680w | \
        mzk-w300nh2 | \
        nw718 | \
        psr-680w | \
index 44cab3a..0c4ee13 100644 (file)
@@ -13,6 +13,7 @@ preinit_set_mac_address() {
        3g-6200nl |\
        3g300m | \
        dir-620-d1 |\
        3g-6200nl |\
        3g300m | \
        dir-620-d1 |\
+       dir-300-b7 | \
        w150m | \
        mzk-w300nh2 |\
        wl-330n |\
        w150m | \
        mzk-w300nh2 |\
        wl-330n |\
@@ -28,7 +29,8 @@ preinit_set_mac_address() {
        freestation5 |\
        mpr-a1 | \
        mpr-a2 | \
        freestation5 |\
        mpr-a1 | \
        mpr-a2 | \
-       nw718 |\
+       dir-300-b7 | \
+       dir-320-b1 | \
        psr-680w |\
        rt-n56u |\
        sl-r7205)
        psr-680w |\
        rt-n56u |\
        sl-r7205)
index 066f3bd..a92e818 100755 (executable)
@@ -67,6 +67,12 @@ ramips_board_detect() {
        *"DIR-300 B1")
                name="dir-300-b1"
                ;;
        *"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"
                ;;
        *"DIR-600 B1")
                name="dir-600-b1"
                ;;
index 4545af0..cc8ca89 100755 (executable)
@@ -30,6 +30,8 @@ platform_check_image() {
        carambola | \
        d105 | \
        dir-300-b1 | \
        carambola | \
        d105 | \
        dir-300-b1 | \
+       dir-300-b7 | \
+       dir-320-b1 | \
        dir-600-b1 | \
        dir-600-b2 | \
        dir-615-h1 | \
        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 (file)
index 0000000..22c4cb2
--- /dev/null
@@ -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 (file)
index 0000000..2d8e402
--- /dev/null
@@ -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>;
+               };
+       };
+}; 
index 2891aaf..f4bb568 100644 (file)
@@ -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/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)
 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/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))
        $(call Image/Build/Profile/DIR-600-B2,$(1))
        $(call Image/Build/Profile/DIR610A1,$(1))
        $(call Image/Build/Profile/DIR-615-D,$(1))