Signed-off-by: Álvaro Fernández Rojas
---
.../linux/brcm63xx/base-files/etc/board.d/01_leds | 3 +
.../brcm63xx/base-files/etc/board.d/02_network | 1 +
.../etc/hotplug.d/firmware/10-rt2x00-eeprom| 1 +
.../base-files/etc/uci-defaults/09_fix_crc | 1 +
target/linux/brcm63xx/base-files/lib/brcm63xx.sh | 3 +
.../lib/preinit/05_init_interfaces_brcm63xx| 1 +
target/linux/brcm63xx/dts/hg622.dts| 74 ++
target/linux/brcm63xx/image/Makefile | 2 +
.../brcm63xx/patches-4.1/574-board_HG622.patch | 72 +
.../brcm63xx/patches-4.4/574-board_HG622.patch | 72 +
target/linux/brcm63xx/profiles/huawei.mk | 10 +++
11 files changed, 240 insertions(+)
create mode 100644 target/linux/brcm63xx/dts/hg622.dts
create mode 100644 target/linux/brcm63xx/patches-4.1/574-board_HG622.patch
create mode 100644 target/linux/brcm63xx/patches-4.4/574-board_HG622.patch
diff --git a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
index 2697a56..8339254 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/01_leds
+++ b/target/linux/brcm63xx/base-files/etc/board.d/01_leds
@@ -39,6 +39,9 @@ hg556a_*)
ucidef_set_led_netdev "lan" "LAN" "HW556:red:dsl" "eth0"
ucidef_set_led_usbdev "usb" "USB" "HW556:red:hspa" "1-2"
;;
+hg622)
+ ucidef_set_led_usbdev "usb" "USB" "HG622:green:usb" "1-2"
+ ;;
hg655b)
ucidef_set_led_usbdev "usb" "USB" "HW65x:green:usb" "1-2"
;;
diff --git a/target/linux/brcm63xx/base-files/etc/board.d/02_network
b/target/linux/brcm63xx/base-files/etc/board.d/02_network
index c01aba8..f96da08 100755
--- a/target/linux/brcm63xx/base-files/etc/board.d/02_network
+++ b/target/linux/brcm63xx/base-files/etc/board.d/02_network
@@ -86,6 +86,7 @@ dsl-274xb-f |\
dsl-275xb-d |\
fast2504n |\
fast2704v2 |\
+hg622 |\
hg655b |\
p870hw-51a_v2 |\
r5010un_v2 |\
diff --git
a/target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
b/target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
index 4347485..21c510f 100644
--- a/target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
+++ b/target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
@@ -34,6 +34,7 @@ case "$FIRMWARE" in
hg556a_c)
rt2x00_eeprom_extract "cal_data" 130560 512
;;
+ hg622 |\
hg655b)
rt2x00_eeprom_extract "cal_data" 0 512
;;
diff --git a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
index bc9ae21..70dbe2a 100644
--- a/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc
@@ -21,6 +21,7 @@ case "$(brcm63xx_board_name)" in
cpva642 |\
ct-6373 |\
dsl-274xb-f |\
+ hg622 |\
magic |\
p870hw-51a_v2 |\
r5010un_v2 |\
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 7dc57fd..a2d6519 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -159,6 +159,9 @@ brcm63xx_dt_detect() {
"Huawei EchoLife HG556a (version C)")
board_name="hg556a_c"
;;
+ "Huawei HG622")
+ board_name="hg622"
+ ;;
"Huawei HG655b")
board_name="hg655b"
;;
diff --git
a/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx
b/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx
index abf5b89..7e4dfcb 100644
--- a/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx
+++ b/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx
@@ -23,6 +23,7 @@ set_preinit_iface() {
hg553 |\
hg556a_* |\
hg520 |\
+ hg622 |\
neufbox6 |\
p870hw-51a_v2 |\
rta770bw |\
diff --git a/target/linux/brcm63xx/dts/hg622.dts
b/target/linux/brcm63xx/dts/hg622.dts
new file mode 100644
index 000..6cfc067
--- /dev/null
+++ b/target/linux/brcm63xx/dts/hg622.dts
@@ -0,0 +1,74 @@
+/dts-v1/;
+
+#include "bcm6368.dtsi"
+
+#include
+
+/ {
+ model = "Huawei HG622";
+ compatible = "huawei,hg622", "brcm,bcm6368";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ debounce-interval = <60>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio1 2 1>;
+ linux,code = ;
+ };
+ };
+
+ gpio-leds {
+ co