From 95c9df79712541627ad5f1cd38a1144decc14474 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sat, 19 Sep 2020 13:16:52 +0200 Subject: [PATCH] ipq806x: fix support of Edgecore ECW5410 support This fixes several stylistic and functional errors of the recently added Edgecore ECW5410: - fix call in 11-ath10k-caldata - use hex notation in 11-ath10k-caldata - remove redundant definitions from DTS that are already in DTSI - use proper sorting in image/Makefile - use DEVICE_VENDOR/DEVICE_MODEL instead of DEVICE_TITLE - use SOC instead of DEVICE_DTS Fixes: 59f0a0fd839e ("ipq806x: add Edgecore ECW5410 support") Signed-off-by: Adrian Schmutzler --- .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 +- .../arm/boot/dts/qcom-ipq8068-ecw5410.dts | 73 ++----------------- target/linux/ipq806x/image/Makefile | 25 ++++--- 3 files changed, 21 insertions(+), 81 deletions(-) diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index f4572d038c8..74ad00c5ced 100644 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -14,7 +14,7 @@ case "$FIRMWARE" in ath10k_patch_mac $(mtd_get_mac_binary ART 0x1e) ;; edgecore,ecw5410) - ath10kcal_extract "0:ART" 4096 12064 + caldata_extract "0:ART" 0x1000 0x2f20 ;; linksys,ea7500-v1 |\ linksys,ea8500) @@ -83,7 +83,7 @@ case "$FIRMWARE" in "ath10k/pre-cal-pci-0002:01:00.0.bin") case $board in edgecore,ecw5410) - ath10kcal_extract "0:ART" 20480 12064 + caldata_extract "0:ART" 0x5000 0x2f20 ;; esac ;; diff --git a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8068-ecw5410.dts b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8068-ecw5410.dts index 6d216bd85ea..9d6afa1c8ae 100644 --- a/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8068-ecw5410.dts +++ b/target/linux/ipq806x/files-5.4/arch/arm/boot/dts/qcom-ipq8068-ecw5410.dts @@ -8,10 +8,6 @@ compatible = "edgecore,ecw5410", "qcom,ipq8064"; reserved-memory { - #address-cells = <1>; - #size-cells = <1>; - ranges; - nss@40000000 { reg = <0x40000000 0x1000000>; no-map; @@ -26,11 +22,6 @@ reg = <0x44000000 0x600000>; no-map; }; - - rsvd@41200000 { - reg = <0x41200000 0x300000>; - no-map; - }; }; cpus { @@ -42,21 +33,19 @@ }; aliases { - serial0 = &gsbi4_serial; serial1 = &gsbi1_serial; mdio-gpio0 = &mdio0; ethernet0 = &gmac3; ethernet1 = &gmac2; - led-boot = &power_green; - led-failsafe = &power_red; - led-running = &power_green; - led-upgrade = &power_green; + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_green; }; chosen { bootargs-append = " console=ttyMSM0,115200n8 root=/dev/ubiblock0_1"; - stdout-path = "serial0:115200n8"; }; keys { @@ -76,7 +65,7 @@ pinctrl-0 = <&led_pins>; pinctrl-names = "default"; - power_green: power_green { + led_power_green: power_green { label = "ecw5410:green:power"; gpios = <&qcom_pinmux 16 GPIO_ACTIVE_HIGH>; }; @@ -96,7 +85,7 @@ gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>; }; - power_red: power_red { + led_power_red: power_red { label = "ecw5410:red:power"; gpios = <&qcom_pinmux 28 GPIO_ACTIVE_LOW>; }; @@ -133,40 +122,6 @@ }; }; - nand_pins: nand_pins { - disable { - pins = "gpio34", "gpio35", "gpio36", "gpio37", - "gpio38"; - function = "nand"; - drive-strength = <10>; - bias-disable; - }; - - pullups { - pins = "gpio39"; - function = "nand"; - drive-strength = <10>; - bias-pull-up; - }; - - hold { - pins = "gpio40", "gpio41", "gpio42", "gpio43", - "gpio44", "gpio45", "gpio46", "gpio47"; - function = "nand"; - drive-strength = <10>; - bias-bus-hold; - }; - }; - - mdio0_pins: mdio0_pins { - mux { - pins = "gpio0", "gpio1"; - function = "gpio"; - drive-strength = <8>; - bias-disable; - }; - }; - led_pins: led_pins { mux { pins = "gpio16", "gpio23", "gpio24", "gpio26", @@ -208,22 +163,6 @@ }; }; -&gsbi4 { - qcom,mode = ; - status = "okay"; - - serial@16340000 { - status = "okay"; - }; - - /* - * The i2c device on gsbi4 should not be enabled. - * On ipq806x designs gsbi4 i2c is meant for exclusive - * RPM usage. Turning this on in kernel manifests as - * i2c failure for the RPM. - */ -}; - &gsbi5 { qcom,mode = ; status = "okay"; diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile index 3b86760a195..ec73630ae57 100644 --- a/target/linux/ipq806x/image/Makefile +++ b/target/linux/ipq806x/image/Makefile @@ -109,6 +109,19 @@ define Device/compex_wpq864 endef TARGET_DEVICES += compex_wpq864 +define Device/edgecore_ecw5410 + $(call Device/FitImage) + $(call Device/UbiFit) + DEVICE_VENDOR := Edgecore + DEVICE_MODEL := ECW5410 + SOC := qcom-ipq8068 + BLOCKSIZE := 128k + PAGESIZE := 2048 + DEVICE_DTS_CONFIG := config@v2.0-ap160 + DEVICE_PACKAGES := ath10k-firmware-qca9984-ct ipq-wifi-edgecore_ecw5410 +endef +TARGET_DEVICES += edgecore_ecw5410 + define Device/linksys_ea7500-v1 $(call Device/LegacyImage) DEVICE_VENDOR := Linksys @@ -126,18 +139,6 @@ define Device/linksys_ea7500-v1 endef TARGET_DEVICES += linksys_ea7500-v1 -define Device/edgecore_ecw5410 - $(call Device/FitImage) - $(call Device/UbiFit) - DEVICE_TITLE := Edgecore ECW5410 - BLOCKSIZE := 128k - PAGESIZE := 2048 - DEVICE_DTS := qcom-ipq8068-ecw5410 - DEVICE_DTS_CONFIG := config@v2.0-ap160 - DEVICE_PACKAGES := ath10k-firmware-qca9984-ct ipq-wifi-edgecore_ecw5410 -endef -TARGET_DEVICES += edgecore_ecw5410 - define Device/linksys_ea8500 $(call Device/LegacyImage) DEVICE_VENDOR := Linksys -- 2.30.2