ramips: Add support for Huawei HG255D in trunk

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
master
John Crispin 2013-07-22 15:36:39 +00:00
parent d6e3e9ba4d
commit a6fc8d2e4d
8 changed files with 156 additions and 1 deletions

View File

@ -104,7 +104,8 @@ case "$FIRMWARE" in
mzk-w300nh2 | \ mzk-w300nh2 | \
ur-326n4g | \ ur-326n4g | \
ur-336un | \ ur-336un | \
xdxrn502j) xdxrn502j | \
hg255d)
rt2x00_eeprom_extract "factory" 0 512 rt2x00_eeprom_extract "factory" 0 512
;; ;;

View File

@ -124,6 +124,11 @@ case $board in
wcr-150gn) wcr-150gn)
set_usb_led "wcr150gn:amber:user" 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) wnce2001)
set_wifi_led "netgear:green:wlan" set_wifi_led "netgear:green:wlan"
;; ;;

View File

@ -192,6 +192,7 @@ ramips_setup_macs()
;; ;;
rt-n13u | \ rt-n13u | \
hg255d | \
fonera20n) fonera20n)
lan_mac=$(mtd_get_mac_binary factory 40) lan_mac=$(mtd_get_mac_binary factory 40)
wan_mac=$(macaddr_add "$lan_mac" 1) wan_mac=$(macaddr_add "$lan_mac" 1)

View File

@ -217,6 +217,9 @@ ramips_board_detect() {
*"XDX RN502J") *"XDX RN502J")
name="xdxrn502j" name="xdxrn502j"
;; ;;
*"HG255D")
name="hg255d"
;;
*) *)
name="generic" name="generic"
;; ;;

View File

@ -42,6 +42,7 @@ platform_check_image() {
rt-n13u | \ rt-n13u | \
freestation5 | \ freestation5 | \
hw550-3g | \ hw550-3g | \
hg255d | \
mofi3500-3gn | \ mofi3500-3gn | \
mpr-a2 | \ mpr-a2 | \
mzk-w300nh2 | \ mzk-w300nh2 | \

View File

@ -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";
};
};

View 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/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/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 # Build images for a custom sized flash layout
# $(1) = squashfs/initramfs # $(1) = squashfs/initramfs
# $(2) = lowercase board name # $(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/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/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/F5D8235V2,$(1))
$(call Image/Build/Profile/FONERA20N,$(1)) $(call Image/Build/Profile/FONERA20N,$(1))
$(call Image/Build/Profile/FREESTATION5,$(1)) $(call Image/Build/Profile/FREESTATION5,$(1))
$(call Image/Build/Profile/HG255D,$(1))
$(call Image/Build/Profile/HW550-3G,$(1)) $(call Image/Build/Profile/HW550-3G,$(1))
$(call Image/Build/Profile/MOFI3500-3GN,$(1)) $(call Image/Build/Profile/MOFI3500-3GN,$(1))
$(call Image/Build/Profile/MPRA2,$(1)) $(call Image/Build/Profile/MPRA2,$(1))

View File

@ -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))