From 2a7c05f0d47b3ace002859d052a9469da961c7d4 Mon Sep 17 00:00:00 2001 From: AmadeusGhost <42570690+AmadeusGhost@users.noreply.github.com> Date: Sat, 9 Jul 2022 23:25:19 +0800 Subject: [PATCH] ipq40xx: improve support for AC1200 This commit introduces various fixes for it. Also renamed this device to avoid confusion. --- .../ipq40xx/base-files/etc/board.d/01_leds | 5 - .../ipq40xx/base-files/etc/board.d/02_network | 13 +- .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 +- .../base-files/lib/upgrade/platform.sh | 7 +- ...hugo-ac1200.dts => qcom-ipq4019-ca100.dts} | 182 +++++------------- target/linux/ipq40xx/image/Makefile | 42 ++-- .../901-arm-boot-add-dts-files.patch | 2 +- 7 files changed, 79 insertions(+), 176 deletions(-) rename target/linux/ipq40xx/files/arch/arm/boot/dts/{qcom-ipq4019-hugo-ac1200.dts => qcom-ipq4019-ca100.dts} (55%) diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds index f74b04490..1b1f01767 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds @@ -59,11 +59,6 @@ engenius,ens620ext) ucidef_set_led_switch "lan1" "LAN1" "green:lan1" "switch0" "0x10" ucidef_set_led_switch "lan2" "LAN2" "green:lan2" "switch0" "0x20" ;; -hugo,ac1200) - ucidef_set_led_default "green" "GREEN" "green:ctrl1" "1" - ucidef_set_led_default "red" "RED" "red:ctrl2" "1" - ucidef_set_led_default "blue" "BLUE" "blue:ctrl3" "1" - ;; mobipromo,cm520-79f) ucidef_set_led_switch "wan" "WAN" "blue:wan" "switch0" "0x20" ucidef_set_led_switch "lan1" "LAN1" "blue:lan1" "switch0" "0x10" diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index 41dfd6ba7..c41006f4f 100755 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -76,18 +76,15 @@ ipq40xx_setup_interfaces() ucidef_add_switch "switch0" \ "0t@eth0" "3:lan" "4:lan" "5:wan" ;; - hiwifi,c526a) - ucidef_add_switch "switch0" \ - "0t@eth0" "2:lan" "3:lan" "4:lan" "5:wan" - ;; - hugo,ac1200) - ucidef_add_switch "switch0" \ - "0t@eth0" "5:wan" "3:lan" - ;; + hiwifi,c526a|\ zte,mf263) ucidef_add_switch "switch0" \ "0t@eth0" "2:lan" "3:lan" "4:lan" "5:wan" ;; + leguang,ca100) + ucidef_add_switch "switch0" \ + "0t@eth0" "3:lan" "5:wan" + ;; mobipromo,cm520-79f) ucidef_add_switch "switch0" \ "0t@eth0" "3:lan:2" "4:lan:1" "5:wan" diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index bd42c51f7..01afece95 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -61,6 +61,7 @@ case "$FIRMWARE" in ezviz,cs-w3-wd1200g-eup |\ glinet,gl-b1300 |\ glinet,gl-s1300 |\ + leguang,ca100 |\ linksys,ea6350v3 |\ mobipromo,cm520-79f |\ p2w,r619ac |\ @@ -104,7 +105,6 @@ case "$FIRMWARE" in compex,wpj428 |\ engenius,eap1300 |\ engenius,eap2200 |\ - hugo,ac1200 |\ openmesh,a42 |\ openmesh,a62 |\ qxwlan,e2600ac-c1 |\ @@ -169,6 +169,7 @@ case "$FIRMWARE" in ezviz,cs-w3-wd1200g-eup |\ glinet,gl-b1300 |\ glinet,gl-s1300 |\ + leguang,ca100 |\ linksys,ea6350v3 |\ mobipromo,cm520-79f |\ p2w,r619ac |\ @@ -210,7 +211,6 @@ case "$FIRMWARE" in compex,wpj419 |\ compex,wpj428 |\ engenius,eap1300 |\ - hugo,ac1200 |\ engenius,eap2200 |\ openmesh,a42 |\ openmesh,a62 |\ diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index c6a1246b9..8e88e4950 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -182,7 +182,8 @@ platform_do_upgrade() { cilab,meshpoint-one |\ hiwifi,c526a |\ mobipromo,cm520-79f |\ - qxwlan,e2600ac-c2) + qxwlan,e2600ac-c2 |\ + zte,mf263) nand_do_upgrade "$1" ;; alfa-network,ap120c-ac) @@ -212,10 +213,6 @@ platform_do_upgrade() { asus_nand_upgrade_tar 20951040 "$1" fi ;; - zte,mf263) - PART_NAME=rootfs - nand_do_upgrade "$1" - ;; cellc,rtl30vw) CI_UBIPART="ubifs" askey_do_upgrade "$1" diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ca100.dts similarity index 55% rename from target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts rename to target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ca100.dts index 7fa598279..04028d112 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hugo-ac1200.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ca100.dts @@ -1,6 +1,4 @@ -/* - * Copyright (c) 2019 Hugo Yuan - */ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include "qcom-ipq4019.dtsi" #include @@ -8,22 +6,21 @@ #include / { - model = "Hugo AC1200"; - compatible = "hugo,ac1200", "qcom,ipq4019"; - - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; /* 256MB */ - }; + model = "LEGUANG CA100"; + compatible = "leguang,ca100", "qcom,ipq4019"; aliases { - led-boot = &power; - led-failsafe = &power; - led-running = &power; - led-upgrade = &power; + led-boot = &led_status_blue; + led-failsafe = &led_status_red; + led-running = &led_status_blue; + led-upgrade = &led_status_green; }; soc { + rng@22000 { + status = "okay"; + }; + mdio@90000 { status = "okay"; pinctrl-0 = <&mdio_pins>; @@ -41,7 +38,6 @@ }; tcsr@194b000 { - /* select hostmode */ compatible = "qcom,tcsr"; reg = <0x194b000 0x100>; qcom,usb-hsphy-mode-select = ; @@ -60,58 +56,6 @@ qcom,wifi_noc_memtype_m0_m2 = ; }; - usb2@60f8800 { - status = "okay"; - - dwc3@6000000 { - #address-cells = <1>; - #size-cells = <0>; - - usb2_port1: port@1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - }; - }; - - serial@78af000 { - pinctrl-0 = <&serial_0_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - serial@78b0000 { - pinctrl-0 = <&serial_1_pins>; - pinctrl-names = "default"; - status = "okay"; - }; - - i2c@78b7000 { /* BLSP1 QUP2 */ - pinctrl-0 = <&i2c_0_pins>; - pinctrl-names = "default"; - - status = "okay"; - }; - - usb3: usb3@8af8800 { - status = "okay"; - - dwc3@8a00000 { - #address-cells = <1>; - #size-cells = <0>; - - usb3_port1: port@1 { - reg = <1>; - #trigger-source-cells = <0>; - }; - - usb3_port2: port@2 { - reg = <2>; - #trigger-source-cells = <0>; - }; - }; - }; - crypto@8e3a000 { status = "okay"; }; @@ -127,34 +71,34 @@ edma@c080000 { status = "okay"; }; + }; - leds { - compatible = "gpio-leds"; + keys { + compatible = "gpio-keys"; - led1 { - label = "green:ctrl1"; - gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; - }; + reset { + label = "reset"; + gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; - led2 { - label = "red:ctrl2"; - gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; - }; + leds { + compatible = "gpio-leds"; - power: led3 { - label = "blue:ctrl3"; - gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; - }; + led_status_green: status-green { + label = "green:status"; + gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; }; - keys { - compatible = "gpio-keys"; + led_status_red: status-red { + label = "red:status"; + gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; + }; - reset { - label = "reset"; - gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; - linux,code = ; - }; + led_status_blue: status-blue { + label = "blue:status"; + gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; }; }; }; @@ -167,11 +111,11 @@ pinctrl-0 = <&spi_0_pins>; pinctrl-names = "default"; status = "okay"; - cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; + cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; flash@0 { - reg = <0>; compatible = "jedec,spi-nor"; + reg = <0>; spi-max-frequency = <24000000>; partitions { @@ -180,49 +124,49 @@ #size-cells = <1>; partition@0 { - label = "0:SBL1"; + label = "SBL1"; reg = <0x0 0x40000>; read-only; }; partition@40000 { - label = "0:MIBIB"; + label = "MIBIB"; reg = <0x40000 0x20000>; read-only; }; partition@60000 { - label = "0:QSEE"; + label = "QSEE"; reg = <0x60000 0x60000>; read-only; }; partition@c0000 { - label = "0:CDT"; + label = "CDT"; reg = <0xc0000 0x10000>; read-only; }; partition@d0000 { - label = "0:DDRPARAMS"; + label = "DDRPARAMS"; reg = <0xd0000 0x10000>; read-only; }; partition@e0000 { - label = "0:APPSBLENV"; + label = "APPSBLENV"; reg = <0xe0000 0x10000>; read-only; }; partition@f0000 { - label = "0:APPSBL"; + label = "APPSBL"; reg = <0xf0000 0x80000>; read-only; }; partition@170000 { - label = "0:ART"; + label = "ART"; reg = <0x170000 0x10000>; read-only; }; @@ -236,23 +180,17 @@ }; }; +&blsp1_uart1 { + pinctrl-0 = <&serial_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + &cryptobam { status = "okay"; }; -&qpic_bam { - status = "okay"; -}; - &tlmm { - i2c_0_pins: i2c-0-pinmux { - mux { - pins = "gpio20", "gpio21"; - function = "blsp_i2c0"; - bias-disable; - }; - }; - mdio_pins: mdio_pinmux { mux_1 { pins = "gpio6"; @@ -267,7 +205,7 @@ }; }; - serial_0_pins: serial0-pinmux { + serial_pins: serial_pinmux { mux { pins = "gpio16", "gpio17"; function = "blsp_uart0"; @@ -275,14 +213,6 @@ }; }; - serial_1_pins: serial1_pinmux { - mux { - pins = "gpio8", "gpio9"; - function = "blsp_uart1"; - bias-disable; - }; - }; - spi_0_pins: spi_0_pinmux { pinmux { function = "blsp_spi0"; @@ -301,24 +231,10 @@ }; }; -&usb3_ss_phy { - status = "okay"; -}; - -&usb3_hs_phy { - status = "okay"; -}; - -&usb2_hs_phy { - status = "okay"; -}; - &wifi0 { status = "okay"; - qcom,ath10k-calibration-variant = "hugo_ac1200"; }; &wifi1 { status = "okay"; - qcom,ath10k-calibration-variant = "hugo_ac1200"; }; diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile index c9445deb0..03cd3f5dd 100644 --- a/target/linux/ipq40xx/image/Makefile +++ b/target/linux/ipq40xx/image/Makefile @@ -521,18 +521,16 @@ define Device/hiwifi_c526a endef TARGET_DEVICES += hiwifi_c526a -define Device/hugo_ac1200 - $(call Device/FitImage) - DEVICE_VENDOR := Hugo - DEVICE_MODEL := AC1200 - BOARD_NAME := hugo_ac1200 - DEVICE_DTS := qcom-ipq4019-hugo-ac1200 +define Device/leguang_ca100 + $(call Device/FitzImage) + DEVICE_VENDOR := LEGUANG + DEVICE_MODEL := CA100 + DEVICE_DTS := qcom-ipq4019-ca100 KERNEL_SIZE := 4096k IMAGE_SIZE := 31232k IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata - DEVICE_PACKAGES := ipq-wifi-hugo_ac1200 endef -TARGET_DEVICES += hugo_ac1200 +TARGET_DEVICES += leguang_ca100 define Device/linksys_ea6350v3 # The Linksys EA6350v3 has a uboot bootloader that does not @@ -704,20 +702,6 @@ define Device/p2w_r619ac-128m endef TARGET_DEVICES += p2w_r619ac-128m -define Device/zte_mf263 - $(call Device/FitzImage) - $(call Device/UbiFit) - DEVICE_VENDOR := ZTE - DEVICE_MODEL := MF263 - DEVICE_DTS := qcom-ipq4019-zte-mf263 - BLOCKSIZE := 128k - PAGESIZE := 2048 - IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata - DEVICE_PACKAGES := -kmod-ath10k-ct -ath10k-firmware-qca4019-ct kmod-ath10k ath10k-firmware-qca4019 ipq-wifi-zte_mf263 -endef -TARGET_DEVICES += zte_mf263 - define Device/qcom_ap-dk01.1-c1 DEVICE_VENDOR := Qualcomm Atheros DEVICE_MODEL := AP-DK01.1 @@ -788,6 +772,20 @@ define Device/unielec_u4019-32m endef TARGET_DEVICES += unielec_u4019-32m +define Device/zte_mf263 + $(call Device/FitzImage) + $(call Device/UbiFit) + DEVICE_VENDOR := ZTE + DEVICE_MODEL := MF263 + DEVICE_DTS := qcom-ipq4019-zte-mf263 + BLOCKSIZE := 128k + PAGESIZE := 2048 + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + DEVICE_PACKAGES := ipq-wifi-zte_mf263 +endef +TARGET_DEVICES += zte_mf263 + define Device/zyxel_nbg6617 $(call Device/FitImageLzma) DEVICE_VENDOR := ZyXEL diff --git a/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch index 832d51aa9..7851f69b1 100644 --- a/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch +++ b/target/linux/ipq40xx/patches-5.4/901-arm-boot-add-dts-files.patch @@ -39,10 +39,10 @@ Signed-off-by: John Crispin qcom-ipq4019-ap.dk07.1-c2.dtb \ + qcom-ipq4019-a62.dtb \ + qcom-ipq4019-c526a.dtb \ ++ qcom-ipq4019-ca100.dtb \ + qcom-ipq4019-cm520-79f.dtb \ + qcom-ipq4019-ea8300.dtb \ + qcom-ipq4019-eap2200.dtb \ -+ qcom-ipq4019-hugo-ac1200.dtb \ + qcom-ipq4019-zte-mf263.dtb \ + qcom-ipq4019-fritzbox-7530.dtb \ + qcom-ipq4019-fritzrepeater-1200.dtb \