ramips: Add support for Huawei HG255D in trunk
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 22 Jul 2013 15:36:39 +0000 (15:36 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 22 Jul 2013 15:36:39 +0000 (15:36 +0000)
HG255D is a kind of popular low-end home gateway in China, this patch bring the the trunk support for it. It is adapted from a local Chinese community (www.right.com.cn), so credit should given to them.

This patch is tested to work except trivial LED issues.

Signed-off-by: Leon Xu <ylxu72@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37505 3c298f89-4303-0410-b956-a3cf2f4a3e73

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/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/HG255D.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile
target/linux/ramips/rt305x/profiles/hg255d.mk [new file with mode: 0644]

index fef89ea..469811e 100644 (file)
@@ -104,7 +104,8 @@ case "$FIRMWARE" in
        mzk-w300nh2 | \
        ur-326n4g | \
        ur-336un | \
        mzk-w300nh2 | \
        ur-326n4g | \
        ur-336un | \
-       xdxrn502j)
+       xdxrn502j | \
+       hg255d)
                rt2x00_eeprom_extract "factory" 0 512
                ;;
 
                rt2x00_eeprom_extract "factory" 0 512
                ;;
 
index 608816f..036d311 100755 (executable)
@@ -124,6 +124,11 @@ case $board in
        wcr-150gn)
                set_usb_led "wcr150gn:amber:user"
                ;;
        wcr-150gn)
                set_usb_led "wcr150gn:amber:user"
                ;;
+       hg255d)
+               set_wifi_led "hg255d:wlan"
+               set_usb_led "hg255d:usb"
+               ucidef_set_led_netdev "eth" "Internet" "hg255d:internet" "eth0.2"
+               ;;
        wnce2001)
                set_wifi_led "netgear:green:wlan"
                ;;
        wnce2001)
                set_wifi_led "netgear:green:wlan"
                ;;
index 747a83d..cbacd3d 100755 (executable)
@@ -192,6 +192,7 @@ ramips_setup_macs()
                ;;
 
        rt-n13u | \
                ;;
 
        rt-n13u | \
+       hg255d  | \
        fonera20n)
                lan_mac=$(mtd_get_mac_binary factory 40)
                wan_mac=$(macaddr_add "$lan_mac" 1)
        fonera20n)
                lan_mac=$(mtd_get_mac_binary factory 40)
                wan_mac=$(macaddr_add "$lan_mac" 1)
index c5f216f..22c9885 100755 (executable)
@@ -217,6 +217,9 @@ ramips_board_detect() {
        *"XDX RN502J")
                name="xdxrn502j"
                ;;
        *"XDX RN502J")
                name="xdxrn502j"
                ;;
+       *"HG255D")
+               name="hg255d"
+               ;;
        *)
                name="generic"
                ;;
        *)
                name="generic"
                ;;
index c7f06b2..3513ff4 100755 (executable)
@@ -42,6 +42,7 @@ platform_check_image() {
        rt-n13u | \
        freestation5 | \
        hw550-3g | \
        rt-n13u | \
        freestation5 | \
        hw550-3g | \
+       hg255d | \
        mofi3500-3gn | \
        mpr-a2 | \
        mzk-w300nh2 | \
        mofi3500-3gn | \
        mpr-a2 | \
        mzk-w300nh2 | \
diff --git a/target/linux/ramips/dts/HG255D.dts b/target/linux/ramips/dts/HG255D.dts
new file mode 100644 (file)
index 0000000..6959690
--- /dev/null
@@ -0,0 +1,120 @@
+/dts-v1/;
+
+/include/ "rt3050.dtsi"
+
+/ {
+       compatible = "HG255D", "ralink,rt3052-soc";
+       model = "HuaWei HG255D";
+
+       palmbus@10000000 {
+               sysc@0 {
+                       ralink,pinmux = "i2c", "spi", "uartlite", "jtag", "mdio", "sdram", "rgmii";
+                       ralink,uartmux = "gpio";
+                       ralink,wdtmux = <1>;
+               };
+
+               gpio0: gpio@600 {
+                       status = "okay";
+               };
+       };
+
+       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 0xf80000>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               power {
+                       label = "hg255d:power";
+                       gpios = <&gpio0 8 1>;
+               };
+               internet {
+                       label = "hg255d:internet";
+                       gpios = <&gpio0 13 1>;
+               };
+               wifi {
+                       label = "hg255d:wlan";
+                       gpios = <&gpio0 14 1>;
+               };
+               usb {
+                       label = "hg255d:usb";
+                       gpios = <&gpio0 9 1>;
+               };
+               wps {
+                       label = "hg255d:wps";
+                       gpios = <&gpio0 12 1>;
+               };
+               voice {
+                       label = "hg255d: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 {
+               status = "okay";
+       };
+
+       esw@10110000 {
+               status = "okay";
+               ralink,portmap = <0x2f>;
+       };
+
+       wmac@10180000 {
+               status = "okay";
+       };
+
+       otg@101c0000 {
+               status = "okay";
+       };
+};
index 499f105..dcae848 100644 (file)
@@ -114,6 +114,10 @@ ralink_default_fw_size_8M=8060928
 BuildFirmware/Default8M/squashfs=$(call BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_8M),$(4))
 BuildFirmware/Default8M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))
 
 BuildFirmware/Default8M/squashfs=$(call BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_8M),$(4))
 BuildFirmware/Default8M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))
 
+ralink_default_fw_size_16M=16252928
+BuildFirmware/Default16M/squashfs=$(call BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_16M),$(4))
+BuildFirmware/Default16M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3),$(4))
+
 # Build images for a custom sized flash layout
 # $(1) = squashfs/initramfs
 # $(2) = lowercase board name
 # Build images for a custom sized flash layout
 # $(1) = squashfs/initramfs
 # $(2) = lowercase board name
@@ -328,6 +332,8 @@ Image/Build/Profile/FONERA20N=$(call BuildFirmware/Edimax/$(1),$(1),fonera20n,FO
 
 Image/Build/Profile/RT-N13U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n13u,RT-N13U)
 
 
 Image/Build/Profile/RT-N13U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n13u,RT-N13U)
 
+Image/Build/Profile/HG255D=$(call BuildFirmware/Default16M/$(1),$(1),hg255d,HG255D)
+
 Image/Build/Profile/FREESTATION5=$(call BuildFirmware/Default8M/$(1),$(1),freestation5,FREESTATION5)
 
 Image/Build/Profile/MOFI3500-3GN=$(call BuildFirmware/Default8M/$(1),$(1),mofi3500-3gn,MOFI3500-3GN)
 Image/Build/Profile/FREESTATION5=$(call BuildFirmware/Default8M/$(1),$(1),freestation5,FREESTATION5)
 
 Image/Build/Profile/MOFI3500-3GN=$(call BuildFirmware/Default8M/$(1),$(1),mofi3500-3gn,MOFI3500-3GN)
@@ -460,6 +466,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/F5D8235V2,$(1))
        $(call Image/Build/Profile/FONERA20N,$(1))
        $(call Image/Build/Profile/FREESTATION5,$(1))
        $(call Image/Build/Profile/F5D8235V2,$(1))
        $(call Image/Build/Profile/FONERA20N,$(1))
        $(call Image/Build/Profile/FREESTATION5,$(1))
+       $(call Image/Build/Profile/HG255D,$(1))
        $(call Image/Build/Profile/HW550-3G,$(1))
        $(call Image/Build/Profile/MOFI3500-3GN,$(1))
        $(call Image/Build/Profile/MPRA2,$(1))
        $(call Image/Build/Profile/HW550-3G,$(1))
        $(call Image/Build/Profile/MOFI3500-3GN,$(1))
        $(call Image/Build/Profile/MPRA2,$(1))
diff --git a/target/linux/ramips/rt305x/profiles/hg255d.mk b/target/linux/ramips/rt305x/profiles/hg255d.mk
new file mode 100644 (file)
index 0000000..9aebe09
--- /dev/null
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/HG255D
+       NAME:=HuaWei HG255D
+       PACKAGES:=kmod-leds-gpio kmod-rt2800-pci wpad-mini kmod-usb-dwc2
+endef
+
+define Profile/HG255D/Description
+       Package set for HuaWei HG255D.
+endef
+
+$(eval $(call Profile,HG255D))