ramips: rewrite ZTE E8820S support
- Fixed PCIe reset
- Fixed reset button, WLAN LEDs
- Fixed sysupgrade feature
- Fixed NVMEM bindings
This requires install new custom U-Boot, which can be downloaded at:
https://firmware.download.immortalwrt.eu.org/uboot/ramips/mt7621-zte_e8820s-u-boot.bin
Or build it manually:
git clone https://github.com/DragonBluep/uboot-mt7621 && cd uboot-mt7621
./customize.sh NAND '2176k(Bootloader),1280k(config),1280k(factory),-(firmware)' \
'0x4a0000' '18' '16' '880' '1200' 'DDR3-512MiB' 'false' '115200'
Flash instructions for existing users:
1. Run the following commands on device:
opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
mtd write mt7621-zte_e8820s-u-boot.bin u-boot
2. Cut off the power and re-engage, enter 192.168.1.1 to upload initramfs.bin.
3. After ImmortalWrt has booted, perform sysupgrade.
Flash instructions for new users:
1. Rename the U-Boot file to `ZTE_img.bin`
2. Set static IP on your PC:
IP 192.168.1.2/24, GW 192.168.1.254
3. Serve the U-Boot file using TFTP server.
4. Cut off the power, keep pressing `reset` button then engage the power.
5. Wait for U-Boot download to complete, enter 192.168.1.1 to upload initramfs.bin.
6. After ImmortalWrt has booted, perform sysupgrade.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 85e0f369a0)
This commit is contained in:
parent
12445fed33
commit
681be7df62
@ -10,10 +10,10 @@
|
||||
model = "ZTE E8820S";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_sys;
|
||||
led-failsafe = &led_sys;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
led-boot = &power_led;
|
||||
led-failsafe = &system_led;
|
||||
led-running = &system_led;
|
||||
led-upgrade = &system_led;
|
||||
label-mac-device = &gmac0;
|
||||
};
|
||||
|
||||
@ -21,69 +21,63 @@
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
leds {
|
||||
gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power: power {
|
||||
power_led: led-power {
|
||||
label = "white:power";
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_sys: sys {
|
||||
label = "white:sys";
|
||||
system_led: led-system {
|
||||
label = "white:system";
|
||||
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wlan2g {
|
||||
label = "white:wlan2g";
|
||||
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wlan5g {
|
||||
label = "white:wlan5g";
|
||||
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
button-reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
|
||||
wifi {
|
||||
button-wifi {
|
||||
label = "wifi";
|
||||
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RFKILL>;
|
||||
};
|
||||
};
|
||||
|
||||
ubi-concat {
|
||||
compatible = "mtd-concat";
|
||||
devices = <&ubipart0 &ubipart1>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ubi@0 {
|
||||
label = "ubi";
|
||||
reg = <0x0 0x79c0000>;
|
||||
};
|
||||
button-wps {
|
||||
label = "wps";
|
||||
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
nvmem-cells = <&macaddr_config_12 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
phy-handle = <ðphy4>;
|
||||
|
||||
nvmem-cells = <&macaddr_config_12 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
ethphy4: ethernet-phy@4 {
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
&nand {
|
||||
status = "okay";
|
||||
|
||||
@ -93,47 +87,51 @@
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x80000>;
|
||||
label = "Bootloader";
|
||||
reg = <0x0 0x220000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "debug";
|
||||
reg = <0x80000 0x80000>;
|
||||
compatible = "nvmem-cells";
|
||||
label = "config";
|
||||
reg = <0x220000 0x140000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_config_12: macaddr@12 {
|
||||
compatible = "mac-base";
|
||||
reg = <0x12 0x6>;
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
factory: partition@100000 {
|
||||
factory: partition@360000 {
|
||||
label = "factory";
|
||||
reg = <0x100000 0x40000>;
|
||||
reg = <0x360000 0x140000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@140000 {
|
||||
partition@4a0000 {
|
||||
label = "kernel";
|
||||
reg = <0x140000 0x400000>;
|
||||
reg = <0x4a0000 0x400000>;
|
||||
};
|
||||
|
||||
ubipart0: partition@540000 {
|
||||
label = "ubipart0";
|
||||
reg = <0x540000 0x1c80000>;
|
||||
};
|
||||
|
||||
partition@21c0000 {
|
||||
label = "bdinfo";
|
||||
reg = <0x21c0000 0x80000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
ubipart1: partition@2240000 {
|
||||
label = "ubipart1";
|
||||
reg = <0x2240000 0x5d40000>;
|
||||
partition@8a0000 {
|
||||
label = "ubi";
|
||||
reg = <0x8a0000 0x76e0000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcie {
|
||||
reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>,
|
||||
<&gpio 4 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -141,8 +139,14 @@
|
||||
wifi@0,0 {
|
||||
compatible = "pci14c3,7603";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
mediatek,mtd-eeprom = <&factory 0x0000>;
|
||||
mediatek,mtd-eeprom = <&factory 0xf000>;
|
||||
nvmem-cells = <&macaddr_config_12 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
ieee80211-freq-limit = <2400000 2500000>;
|
||||
|
||||
led {
|
||||
led-active-low;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -150,28 +154,15 @@
|
||||
wifi@0,0 {
|
||||
compatible = "pci14c3,7662";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
mediatek,mtd-eeprom = <&factory 0x8000>;
|
||||
mediatek,mtd-eeprom = <&factory 0xf800>;
|
||||
nvmem-cells = <&macaddr_config_12 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
ieee80211-freq-limit = <5000000 6000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
nvmem-cells = <&macaddr_factory_e006>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
label = "wan";
|
||||
phy-handle = <ðphy4>;
|
||||
|
||||
nvmem-cells = <&macaddr_factory_e000>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
ethphy4: ethernet-phy@4 {
|
||||
reg = <4>;
|
||||
led {
|
||||
led-active-low;
|
||||
led-sources = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -205,17 +196,3 @@
|
||||
function = "gpio";
|
||||
};
|
||||
};
|
||||
|
||||
&factory {
|
||||
compatible = "nvmem-cells";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_factory_e000: macaddr@e000 {
|
||||
reg = <0xe000 0x6>;
|
||||
};
|
||||
|
||||
macaddr_factory_e006: macaddr@e006 {
|
||||
reg = <0xe006 0x6>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -2846,21 +2846,18 @@ endef
|
||||
TARGET_DEVICES += zio_freezio
|
||||
|
||||
define Device/zte_e8820s
|
||||
$(Device/dsa-migration)
|
||||
$(Device/nand)
|
||||
$(Device/uimage-lzma-loader)
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
KERNEL_SIZE := 4096k
|
||||
UBINIZE_OPTS := -E 5
|
||||
IMAGE_SIZE := 32768k
|
||||
IMAGES += factory.bin
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
|
||||
check-size
|
||||
DEVICE_VENDOR := ZTE
|
||||
DEVICE_MODEL := E8820S
|
||||
DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
|
||||
kmod-usb-ledtrig-usbport
|
||||
kmod-usb-ledtrig-usbport automount
|
||||
DEVICE_COMPAT_VERSION := 2.0
|
||||
DEVICE_COMPAT_MESSAGE := Partition table has changed to fit the new U-Boot
|
||||
IMAGE_SIZE := 121728k
|
||||
IMAGES += factory.bin
|
||||
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
|
||||
check-size
|
||||
endef
|
||||
TARGET_DEVICES += zte_e8820s
|
||||
|
||||
|
||||
@ -241,8 +241,8 @@ yuncore,ax820)
|
||||
ucidef_set_led_netdev "wan" "WAN" "green:wan" "wan"
|
||||
;;
|
||||
zte,e8820s)
|
||||
ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "white:wlan2g" "wlan0"
|
||||
ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "white:wlan5g" "wlan1"
|
||||
ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "mt76-phy0" "phy0-ap0"
|
||||
ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "mt76-phy1" "phy1-ap0"
|
||||
;;
|
||||
zyxel,lte3301-plus)
|
||||
ucidef_set_led_netdev "internet" "internet" "white:internet" "wwan0"
|
||||
|
||||
@ -8,6 +8,9 @@
|
||||
board_config_update
|
||||
|
||||
case "$(board_name)" in
|
||||
zte,e8820s)
|
||||
ucidef_set_compat_version "2.0"
|
||||
;;
|
||||
*)
|
||||
ucidef_set_compat_version "1.1"
|
||||
;;
|
||||
|
||||
@ -117,6 +117,7 @@ platform_do_upgrade() {
|
||||
xiaomi,mi-router-cr6608|\
|
||||
xiaomi,mi-router-cr6609|\
|
||||
xiaomi,redmi-router-ac2100|\
|
||||
zte,e8820s|\
|
||||
zyxel,nwa50ax|\
|
||||
zyxel,nwa55axe)
|
||||
nand_do_upgrade "$1"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user