123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600 |
- From c8b8a6adca5bfb49a9312eb3ba17a68f53ffd63e Mon Sep 17 00:00:00 2001
- From: Hugo Yuan <[email protected]>
- Date: Thu, 8 Sep 2022 20:27:05 +0800
- Subject: [PATCH] ipq807x: add support for ZTE MF269
- Co-authored-by: AmadeusGhost <[email protected]>
- Signed-off-by: Tianling Shen <[email protected]>
- ---
- package/boot/uboot-envtools/files/ipq807x | 3 +-
- package/firmware/ipq-wifi/Makefile | 2 +
- .../firmware/ipq-wifi/board-zte_mf269.ipq8074 | Bin 0 -> 131172 bytes
- .../ipq807x/base-files/etc/board.d/02_network | 24 +-
- .../etc/hotplug.d/firmware/11-ath11k-caldata | 3 +-
- .../etc/hotplug.d/ieee80211/11_fix_wifi_mac | 18 ++
- .../base-files/lib/upgrade/platform.sh | 4 +
- .../arm64/boot/dts/qcom/ipq8071-mf269.dts | 212 ++++++++++++++++++
- target/linux/ipq807x/image/generic.mk | 13 ++
- 9 files changed, 276 insertions(+), 3 deletions(-)
- create mode 100644 package/firmware/ipq-wifi/board-zte_mf269.ipq8074
- create mode 100644 target/linux/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
- create mode 100644 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts
- diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x
- index 5c5b77089ac..4444021defe 100644
- --- a/package/boot/uboot-envtools/files/ipq807x
- +++ b/package/boot/uboot-envtools/files/ipq807x
- @@ -27,7 +27,8 @@ edimax,cax1800)
- ;;
- redmi,ax6|\
- xiaomi,ax3600|\
- -xiaomi,ax9000)
- +xiaomi,ax9000|\
- +zte,mf269)
- idx="$(find_mtd_index 0:appsblenv)"
- [ -n "$idx" ] && \
- ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000"
- diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile
- index 32988910c0a..763eeb3a137 100644
- --- a/package/firmware/ipq-wifi/Makefile
- +++ b/package/firmware/ipq-wifi/Makefile
- @@ -38,6 +38,7 @@ ALLWIFIBOARDS:= \
- wallys_dr40x9 \
- xiaomi_ax3600 \
- xiaomi_ax9000 \
- + zte_mf269 \
- zyxel_nbg7815
-
- ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD))
- @@ -122,6 +123,7 @@ $(eval $(call generate-ipq-wifi-package,redmi_ax6,Redmi AX6))
- $(eval $(call generate-ipq-wifi-package,wallys_dr40x9,Wallys DR40X9))
- $(eval $(call generate-ipq-wifi-package,xiaomi_ax3600,Xiaomi AX3600))
- $(eval $(call generate-ipq-wifi-package,xiaomi_ax9000,Xiaomi AX9000))
- +$(eval $(call generate-ipq-wifi-package,zte_mf269,ZTE MF269))
- $(eval $(call generate-ipq-wifi-package,zyxel_nbg7815,Zyxel NBG7815))
-
- $(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE))))
- diff --git a/package/firmware/ipq-wifi/board-zte_mf269.ipq8074 b/package/firmware/ipq-wifi/board-zte_mf269.ipq8074
- new file mode 100644
- index 0000000000000000000000000000000000000000..473fceabc4e532a3099c0210562a31188e0c1988
- GIT binary patch
- literal 131172
- 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
- E|I0XP%>V!Z
- literal 0
- HcmV?d00001
- diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network
- index 004ab4fdc62..a597aee68f2 100644
- --- a/target/linux/ipq807x/base-files/etc/board.d/02_network
- +++ b/target/linux/ipq807x/base-files/etc/board.d/02_network
- @@ -16,7 +16,8 @@ ipq807x_setup_interfaces()
- xiaomi,ax9000)
- ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
- ;;
- - edgecore,eap102)
- + edgecore,eap102|\
- + zte,mf269)
- ucidef_set_interfaces_lan_wan "lan" "wan"
- ;;
- edimax,cax1800)
- @@ -38,9 +39,31 @@ ipq807x_setup_interfaces()
- esac
- }
-
- +ipq807x_setup_macs()
- +{
- + local board="$1"
- + local lan_mac=""
- + local wan_mac=""
- + local label_mac=""
- +
- + case "$board" in
- + zte,mf269)
- + wan_mac="$(mtd_get_mac_binary mac 0x0)"
- + [ "$wan_mac" != "00:00:00:00:00:00" ] || wan_mac="$(get_mac_binary "$(find_mtd_chardev mac)" 0x20000)"
- + lan_mac="$(macaddr_add "$wan_mac" 1)"
- + label_mac="$wan_mac"
- + ;;
- + esac
- +
- + [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" "$lan_mac"
- + [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
- + [ -n "$label_mac" ] && ucidef_set_label_macaddr "$label_mac"
- +}
- +
- board_config_update
- board=$(board_name)
- ipq807x_setup_interfaces $board
- +ipq807x_setup_macs $board
- board_config_flush
-
- exit 0
- diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
- index 524211ef43e..61ea555247e 100644
- --- a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
- +++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
- @@ -18,6 +18,7 @@ case "$FIRMWARE" in
- redmi,ax6|\
- xiaomi,ax3600|\
- xiaomi,ax9000|\
- + zte,mf269|\
- zyxel,nbg7815)
- caldata_extract "0:art" 0x1000 0x20000
- ;;
- diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac b/target/linux/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
- new file mode 100644
- index 00000000000..c8a8c6ad2b9
- --- /dev/null
- +++ b/target/linux/ipq807x/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
- @@ -0,0 +1,19 @@
- +[ "$ACTION" == "add" ] || exit 0
- +
- +PHYNBR=${DEVPATH##*/phy}
- +
- +[ -n $PHYNBR ] || exit 0
- +
- +. /lib/functions.sh
- +. /lib/functions/system.sh
- +
- +board=$(board_name)
- +
- +case "$board" in
- + zte,mf269)
- + mac_addr="$(mtd_get_mac_binary mac 0x0)"
- + [ "$mac_addr" != "00:00:00:00:00:00" ] || mac_addr="$(get_mac_binary "$(find_mtd_chardev mac)" 0x20000)"
- + [ "$PHYNBR" = "0" ] && macaddr_add "$mac_addr" 2 > "/sys${DEVPATH}/macaddress"
- + [ "$PHYNBR" = "1" ] && macaddr_add "$mac_addr" 3 > "/sys${DEVPATH}/macaddress"
- + ;;
- +esac
- diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
- index 346cc390f3124..d9a81e1e22d2b 100644
- --- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
- +++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
- @@ -109,6 +109,10 @@ platform_do_upgrade() {
- CI_ROOT_UBIPART="rootfs"
- nand_do_upgrade "$1"
- ;;
- + zte,mf269)
- + CI_UBIPART="rootfs"
- + nand_do_upgrade "$1"
- + ;;
- *)
- default_do_upgrade "$1"
- ;;
- diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts
- new file mode 100644
- index 00000000000..be76ddf12e4
- --- /dev/null
- +++ b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts
- @@ -0,0 +1,212 @@
- +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
- +
- +/dts-v1/;
- +
- +#include "ipq8074-512m.dtsi"
- +#include "ipq8074-ac-cpu.dtsi"
- +#include "ipq8074-ess.dtsi"
- +#include <dt-bindings/gpio/gpio.h>
- +#include <dt-bindings/input/input.h>
- +
- +/ {
- + model = "ZTE MF269";
- + compatible = "zte,mf269", "qcom,ipq8074";
- +
- + aliases {
- + serial0 = &blsp1_uart5;
- + led-boot = &led_system_white;
- + led-failsafe = &led_system_white;
- + led-running = &led_system_white;
- + led-upgrade = &led_system_white;
- + };
- +
- + chosen {
- + stdout-path = "serial0:115200n8";
- + bootargs-append = " root=/dev/ubiblock0_1";
- + };
- +
- + keys {
- + compatible = "gpio-keys";
- +
- + reset {
- + label = "reset";
- + gpios = <&tlmm 46 GPIO_ACTIVE_LOW>;
- + linux,code = <KEY_RESTART>;
- + };
- +
- + wps {
- + label = "wps";
- + gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
- + linux,code = <KEY_WPS_BUTTON>;
- + };
- + };
- +
- + leds {
- + compatible = "gpio-leds";
- +
- + led_system_white: system-white {
- + label = "white:system";
- + gpio = <&tlmm 56 GPIO_ACTIVE_HIGH>;
- + };
- + };
- +};
- +
- +&tlmm {
- + mdio_pins: mdio-pins {
- + mdc {
- + pins = "gpio68";
- + function = "mdc";
- + drive-strength = <8>;
- + bias-pull-up;
- + };
- +
- + mido {
- + pins = "gpio69";
- + function = "mdio";
- + drive-strength = <8>;
- + bias-pull-up;
- + };
- + };
- +
- + usb_vbus_pins: usb-vbus-pins {
- + usb-pins {
- + pins = "gpio29";
- + function = "gpio";
- + drive-strength = <8>;
- + bias-disable;
- + output-high;
- + };
- + };
- +};
- +
- +&blsp1_spi1 {
- + pinctrl-0 = <&spi_0_pins>;
- + pinctrl-names = "default";
- + cs-select = <0>;
- + status = "okay";
- +
- + flash@0 {
- + compatible = "jedec,spi-nor";
- + #address-cells = <1>;
- + #size-cells = <1>;
- + reg = <0>;
- + spi-max-frequency = <50000000>;
- + };
- +};
- +
- +&blsp1_uart5 {
- + status = "okay";
- +};
- +
- +&prng {
- + status = "okay";
- +};
- +
- +&cryptobam {
- + status = "okay";
- +};
- +
- +&crypto {
- + status = "okay";
- +};
- +
- +&qpic_bam {
- + status = "okay";
- +};
- +
- +&qpic_nand {
- + status = "okay";
- +
- + nand@0 {
- + reg = <0>;
- + nand-ecc-strength = <4>;
- + nand-ecc-step-size = <512>;
- + nand-bus-width = <8>;
- +
- + partitions {
- + compatible = "qcom,smem-part";
- + };
- + };
- +};
- +
- +&qusb_phy_0 {
- + status = "okay";
- +};
- +
- +&ssphy_0 {
- + status = "okay";
- +};
- +
- +&usb_0 {
- + pinctrl-0 = <&usb_vbus_pins>;
- + pinctrl-names = "default";
- + status = "okay";
- +};
- +
- +&mdio {
- + status = "okay";
- +
- + pinctrl-0 = <&mdio_pins>;
- + pinctrl-names = "default";
- +
- + qca8075_24: ethernet-phy@24 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <24>;
- + reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
- + };
- +
- + qca8075_28: ethernet-phy@28 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <28>;
- + reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
- + };
- +};
- +
- +&switch {
- + status = "okay";
- +
- + switch_cpu_bmp = <0x1>; /* cpu port bitmap */
- + switch_lan_bmp = <0x3e>; /* lan port bitmap */
- + switch_wan_bmp = <0x40>; /* wan port bitmap */
- + switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/
- + switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/
- + switch_mac_mode2 = <0xf>; /* mac mode for uniphy instance2*/
- + bm_tick_mode = <0>; /* bm tick mode */
- + tm_tick_mode = <0>; /* tm tick mode */
- +
- + qcom,port_phyinfo {
- + port@4 {
- + port_id = <5>;
- + phy_address = <24>;
- + port_mac_sel = "QGMAC_PORT";
- + };
- + port@5 {
- + port_id = <6>;
- + phy_address = <28>;
- + port_mac_sel = "QGMAC_PORT";
- + };
- + };
- +};
- +
- +&edma {
- + status = "okay";
- +};
- +
- +&dp5_syn {
- + status = "okay";
- + phy-handle = <&qca8075_24>;
- + label = "lan";
- +};
- +
- +&dp6_syn {
- + status = "okay";
- + phy-handle = <&qca8075_28>;
- + label = "wan";
- +};
- +
- +&wifi {
- + status = "okay";
- +
- + qcom,ath11k-calibration-variant = "ZTE-MF269";
- + qcom,ath11k-fw-memory-mode = <1>;
- +};
- --- a/target/linux/ipq807x/image/generic.mk
- +++ b/target/linux/ipq807x/image/generic.mk
- @@ -147,6 +147,19 @@
- endif
- endef
- TARGET_DEVICES += xiaomi_ax9000
- +
- +define Device/zte_mf269
- + $(call Device/FitImage)
- + $(call Device/UbiFit)
- + DEVICE_VENDOR := ZTE
- + DEVICE_MODEL := MF269
- + BLOCKSIZE := 128k
- + PAGESIZE := 2048
- + DEVICE_DTS_CONFIG := config@ac04
- + SOC := ipq8071
- + DEVICE_PACKAGES := ipq-wifi-zte_mf269
- +endef
- +TARGET_DEVICES += zte_mf269
-
- define Device/zyxel_nbg7815
- $(call Device/FitImage)
|