From 2948e7995a4f2f36279446e0a545c1a8d9daeb89 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Mon, 19 Feb 2024 16:07:47 +0800 Subject: [PATCH] qualcommax: ipq60xx: add Redmi AX5 JDCloud support --- package/boot/uboot-envtools/files/qualcommax | 8 + package/firmware/ipq-wifi/Makefile | 2 + .../src/board-redmi_ax5-jdcloud.ipq6018 | Bin 0 -> 65644 bytes .../boot/dts/qcom/ipq6000-ax5-jdcloud.dts | 22 ++ .../arm64/boot/dts/qcom/ipq6000-rm1800.dts | 197 +---------------- .../arm64/boot/dts/qcom/ipq6000-xiaomi.dtsi | 206 ++++++++++++++++++ target/linux/qualcommax/image/ipq60xx.mk | 17 ++ .../ipq60xx/base-files/etc/board.d/01_leds | 1 + .../ipq60xx/base-files/etc/board.d/02_network | 1 + .../etc/hotplug.d/firmware/11-ath11k-caldata | 3 + .../base-files/lib/upgrade/platform.sh | 8 +- 11 files changed, 269 insertions(+), 196 deletions(-) create mode 100644 package/firmware/ipq-wifi/src/board-redmi_ax5-jdcloud.ipq6018 create mode 100644 target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-ax5-jdcloud.dts create mode 100644 target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-xiaomi.dtsi diff --git a/package/boot/uboot-envtools/files/qualcommax b/package/boot/uboot-envtools/files/qualcommax index d449a3032..3b1c853b4 100644 --- a/package/boot/uboot-envtools/files/qualcommax +++ b/package/boot/uboot-envtools/files/qualcommax @@ -16,10 +16,13 @@ zyxel,nbg7815) ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1" ;; dynalink,dl-wrx36|\ +glinet,gl-ax1800|\ +glinet,gl-axt1800|\ netgear,rax120v2|\ netgear,wax218|\ netgear,wax620|\ netgear,wax630|\ +xiaomi,rm1800|\ zn,m2) idx="$(find_mtd_index 0:appsblenv)" [ -n "$idx" ] && \ @@ -47,6 +50,11 @@ qnap,301w) [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x20000" "0x20000" "1" ;; +redmi,ax5-jdcloud) + mmcpart="$(find_mmc_part 0:APPSBLENV)" + [ -n "$mmcpart" ] && \ + ubootenv_add_uci_config "$mmcpart" "0x0" "0x40000" "0x20000" "2" + ;; esac config_load ubootenv diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 9394f05a5..447497749 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -45,6 +45,7 @@ ALLWIFIBOARDS:= \ prpl_haze \ qihoo_360v6 \ qnap_301w \ + redmi_ax5-jdcloud \ redmi_ax6 \ wallys_dr40x9 \ xiaomi_ax3600 \ @@ -149,6 +150,7 @@ $(eval $(call generate-ipq-wifi-package,netgear_wax630,Netgear WAX630)) $(eval $(call generate-ipq-wifi-package,qihoo_360v6,Qihoo 360V6)) $(eval $(call generate-ipq-wifi-package,qnap_301w,QNAP 301w)) $(eval $(call generate-ipq-wifi-package,prpl_haze,prpl Haze)) +$(eval $(call generate-ipq-wifi-package,redmi_ax5-jdcloud,Redmi AX5 JDCloud)) $(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)) diff --git a/package/firmware/ipq-wifi/src/board-redmi_ax5-jdcloud.ipq6018 b/package/firmware/ipq-wifi/src/board-redmi_ax5-jdcloud.ipq6018 new file mode 100644 index 0000000000000000000000000000000000000000..21a8ad8a0a3620d535a1a91add4dbc490ef27aa3 GIT binary patch literal 65644 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 dpcGIFC0A literal 0 HcmV?d00001 diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-ax5-jdcloud.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-ax5-jdcloud.dts new file mode 100644 index 000000000..fe8e090eb --- /dev/null +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-ax5-jdcloud.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; + +#include "ipq6000-xiaomi.dtsi" + +/ { + model = "Redmi AX5 JDCloud"; + compatible = "redmi,ax5-jdcloud", "qcom,ipq6018"; + + chosen { + bootargs-append = " rootfstype=squashfs,ext4 swiotlb=1 coherent_pool=2M"; + }; +}; + +&sdhc { + status = "okay"; +}; + +&wifi { + qcom,ath11k-calibration-variant = "Redmi-AX5-JDCloud"; +}; diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-rm1800.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-rm1800.dts index c1d6cbf60..48a8511e2 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-rm1800.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-rm1800.dts @@ -2,207 +2,14 @@ /dts-v1/; -#include "ipq6018-512m.dtsi" -#include "ipq6018-ess.dtsi" -#include "ipq6018-opp.dtsi" - -#include -#include +#include "ipq6000-xiaomi.dtsi" / { model = "Xiaomi RM1800"; compatible = "xiaomi,rm1800", "qcom,ipq6018"; - - aliases { - serial0 = &blsp1_uart3; - led-boot = &led_yellow; - led-failsafe = &led_yellow; - led-running = &led_blue; - led-upgrade = &led_yellow; - label-mac-device = &dp2; - - ethernet1 = &dp2; - ethernet2 = &dp3; - ethernet3 = &dp4; - ethernet4 = &dp5; - }; - - chosen { - stdout-path = "serial0:115200n8"; - bootargs-append = " root=/dev/ubiblock0_1"; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - linux,code = ; - gpios = <&tlmm 19 GPIO_ACTIVE_LOW>; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_blue: system-blue { - label = "blue:system"; - gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; - }; - - led_yellow: system-yellow { - label = "yellow:system"; - gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; - }; - - network-blue { - label = "blue:network"; - gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>; - }; - - network-yellow { - label = "yellow:network"; - gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; - }; - }; -}; - -&tlmm { - mdio_pins: mdio-pins { - mdc { - pins = "gpio64"; - function = "mdc"; - drive-strength = <8>; - bias-pull-up; - }; - - mdio { - pins = "gpio65"; - function = "mdio"; - drive-strength = <8>; - bias-pull-up; - }; - }; -}; - -&blsp1_uart3 { - pinctrl-0 = <&serial_3_pins>; - pinctrl-names = "default"; - 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"; - }; - }; -}; - -&mdio { - status = "okay"; - - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; - - qca8075_1: ethernet-phy@1 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <1>; - }; - - qca8075_2: ethernet-phy@2 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <2>; - }; - - qca8075_3: ethernet-phy@3 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <3>; - }; - - qca8075_4: ethernet-phy@4 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <4>; - }; -}; - -&switch { - status = "okay"; - - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x1e>; /* lan port bitmap */ - switch_wan_bmp = <0x20>; /* wan port bitmap */ - switch_inner_bmp = <0xc0>; /*inner port bitmap*/ - switch_mac_mode = <0x0>; /* mac mode for uniphy 0*/ - switch_mac_mode1 = <0xff>; /* mac mode for uniphy 1*/ - switch_mac_mode2 = <0xff>; /* mac mode for uniphy 2*/ - - qcom,port_phyinfo { - port@0 { - port_id = <1>; - phy_address = <0>; - }; - port@1 { - port_id = <2>; - phy_address = <1>; - }; - port@2 { - port_id = <3>; - phy_address = <2>; - }; - port@3 { - port_id = <4>; - phy_address = <3>; - }; - port@4 { - port_id = <5>; - phy_address = <4>; - }; - }; -}; - -&edma { - status = "okay"; -}; - -&dp2 { - status = "okay"; - phy-handle = <&qca8075_1>; - label = "lan1"; -}; - -&dp3 { - status = "okay"; - phy-handle = <&qca8075_2>; - label = "lan2"; -}; - -&dp4 { - status = "okay"; - phy-handle = <&qca8075_3>; - label = "lan3"; -}; - -&dp5 { - status = "okay"; - phy-handle = <&qca8075_4>; - label = "wan"; }; &wifi { status = "okay"; - qcom,ath11k-fw-memory-mode = <1>; -}; +}; \ No newline at end of file diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-xiaomi.dtsi b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-xiaomi.dtsi new file mode 100644 index 000000000..5ac223294 --- /dev/null +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-xiaomi.dtsi @@ -0,0 +1,206 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; + +#include "ipq6018-512m.dtsi" +#include "ipq6018-ess.dtsi" +#include "ipq6018-opp.dtsi" + +#include +#include + +/ { + + aliases { + serial0 = &blsp1_uart3; + led-boot = &led_yellow; + led-failsafe = &led_yellow; + led-running = &led_blue; + led-upgrade = &led_yellow; + label-mac-device = &dp2; + + ethernet1 = &dp2; + ethernet2 = &dp3; + ethernet3 = &dp4; + ethernet4 = &dp5; + }; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs-append = " root=/dev/ubiblock0_1"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&tlmm 19 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_blue: system-blue { + label = "blue:system"; + gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; + }; + + led_yellow: system-yellow { + label = "yellow:system"; + gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; + }; + + network-blue { + label = "blue:network"; + gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>; + }; + + network-yellow { + label = "yellow:network"; + gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&tlmm { + mdio_pins: mdio-pins { + mdc { + pins = "gpio64"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mdio { + pins = "gpio65"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; +}; + +&blsp1_uart3 { + pinctrl-0 = <&serial_3_pins>; + pinctrl-names = "default"; + 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"; + }; + }; +}; + +&mdio { + status = "okay"; + + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; + + qca8075_1: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + + qca8075_2: ethernet-phy@2 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <2>; + }; + + qca8075_3: ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <3>; + }; + + qca8075_4: ethernet-phy@4 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <4>; + }; +}; + +&switch { + status = "okay"; + + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x1e>; /* lan port bitmap */ + switch_wan_bmp = <0x20>; /* wan port bitmap */ + switch_inner_bmp = <0xc0>; /*inner port bitmap*/ + switch_mac_mode = <0x0>; /* mac mode for uniphy 0*/ + switch_mac_mode1 = <0xff>; /* mac mode for uniphy 1*/ + switch_mac_mode2 = <0xff>; /* mac mode for uniphy 2*/ + + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <0>; + }; + port@1 { + port_id = <2>; + phy_address = <1>; + }; + port@2 { + port_id = <3>; + phy_address = <2>; + }; + port@3 { + port_id = <4>; + phy_address = <3>; + }; + port@4 { + port_id = <5>; + phy_address = <4>; + }; + }; +}; + +&edma { + status = "okay"; +}; + +&dp2 { + status = "okay"; + phy-handle = <&qca8075_1>; + label = "lan1"; +}; + +&dp3 { + status = "okay"; + phy-handle = <&qca8075_2>; + label = "lan2"; +}; + +&dp4 { + status = "okay"; + phy-handle = <&qca8075_3>; + label = "lan3"; +}; + +&dp5 { + status = "okay"; + phy-handle = <&qca8075_4>; + label = "wan"; +}; + +&wifi { + status = "okay"; + + qcom,ath11k-fw-memory-mode = <1>; +}; diff --git a/target/linux/qualcommax/image/ipq60xx.mk b/target/linux/qualcommax/image/ipq60xx.mk index dc98fb750..a88531f6e 100644 --- a/target/linux/qualcommax/image/ipq60xx.mk +++ b/target/linux/qualcommax/image/ipq60xx.mk @@ -17,6 +17,12 @@ define Device/UbiFit IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata endef +define Device/EmmcImage + IMAGES += factory.bin sysupgrade.bin + IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k + IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | sysupgrade-tar rootfs=$$$$@ | append-metadata +endef + define Device/glinet_gl-ax1800 $(call Device/FitImage) $(call Device/UbiFit) @@ -43,6 +49,17 @@ define Device/glinet_gl-axt1800 endef TARGET_DEVICES += glinet_gl-axt1800 +define Device/redmi_ax5-jdcloud + $(call Device/FitImage) + $(call Device/EmmcImage) + DEVICE_VENDOR := Redmi + DEVICE_MODEL := AX5 JDCloud + DEVICE_DTS_CONFIG := config@cp03-c1 + SOC := ipq6000 + DEVICE_PACKAGES := ipq-wifi-redmi_ax5-jdcloud +endef +TARGET_DEVICES += redmi_ax5-jdcloud + define Device/linksys_mr7350 $(call Device/FitImage) DEVICE_VENDOR := Linksys diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/01_leds b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/01_leds index 5ace220c3..d2843374d 100644 --- a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/01_leds +++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/01_leds @@ -6,6 +6,7 @@ board_config_update board=$(board_name) case "$board" in + redmi,ax5-jdcloud|\ xiaomi,rm1800) ucidef_set_led_netdev "internet" "Internet" "blue:network" "wan" ;; diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network index 792fe1438..ce3141ef4 100644 --- a/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network +++ b/target/linux/qualcommax/ipq60xx/base-files/etc/board.d/02_network @@ -18,6 +18,7 @@ ipq60xx_setup_interfaces() glinet,gl-axt1800) ucidef_set_interfaces_lan_wan "lan1 lan2" "wan" ;; + redmi,ax5-jdcloud|\ qihoo,360v6|\ xiaomi,rm1800|\ zn,m2) diff --git a/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata index fbabf6999..8e67a3684 100644 --- a/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata +++ b/target/linux/qualcommax/ipq60xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata @@ -16,6 +16,9 @@ case "$FIRMWARE" in zn,m2) caldata_extract "0:art" 0x1000 0x20000 ;; + redmi,ax5-jdcloud) + caldata_extract_mmc "0:ART" 0x1000 0x20000 + ;; esac ;; *) diff --git a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh index 5e11b0b21..541580185 100644 --- a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh @@ -11,7 +11,8 @@ platform_check_image() { platform_do_upgrade() { case "$(board_name)" in glinet,gl-ax1800|\ - glinet,gl-axt1800) + glinet,gl-axt1800|\ + xiaomi,rm1800) nand_do_upgrade "$1" ;; linksys,mr7350) @@ -28,6 +29,11 @@ platform_do_upgrade() { fw_setenv auto_recovery yes nand_do_upgrade "$1" ;; + redmi,ax5-jdcloud) + kernelname="0:HLOS" + rootfsname="rootfs" + mmc_do_upgrade "$1" + ;; *) default_do_upgrade "$1" ;;