From d641a604789ac604b01b9a7b408614e1cb74c700 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sat, 27 Nov 2021 23:06:13 +0100 Subject: [PATCH] ipq40xx: nvmem cells for EZVIZ CS-W3-WD1200G EUP introduce nvmem pre-cal + mac-address cells for both Wifis and ethernet on the EZVIZ CS-W3-WD1200G EUP. This is one of the few devices in which the correct mac adress is already at the right place for Wifi, so no separate nvmem cell is needed. Signed-off-by: Christian Lamparter --- .../etc/hotplug.d/firmware/11-ath10k-caldata | 2 -- .../lib/preinit/05_set_iface_mac_ipq40xx.sh | 4 --- .../dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts | 34 +++++++++++++++++++ 3 files changed, 34 insertions(+), 6 deletions(-) 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 8924fb3258..d368475ffc 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 @@ -64,7 +64,6 @@ case "$FIRMWARE" in 8dev,jalapeno |\ alfa-network,ap120c-ac |\ cilab,meshpoint-one |\ - ezviz,cs-w3-wd1200g-eup |\ glinet,gl-ap1300 |\ glinet,gl-b1300 |\ glinet,gl-b2200 |\ @@ -187,7 +186,6 @@ case "$FIRMWARE" in 8dev,jalapeno |\ alfa-network,ap120c-ac |\ cilab,meshpoint-one |\ - ezviz,cs-w3-wd1200g-eup |\ glinet,gl-ap1300 |\ glinet,gl-b1300 |\ glinet,gl-b2200 |\ diff --git a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh index 1b8454e4c5..d1fcd804d9 100644 --- a/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh +++ b/target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh @@ -7,10 +7,6 @@ preinit_set_mac_address() { ip link set dev eth0 address $(macaddr_add "$base_mac" 1) ip link set dev eth1 address $(macaddr_add "$base_mac" 3) ;; - ezviz,cs-w3-wd1200g-eup) - ip link set dev eth0 address $(mtd_get_mac_binary "ART" 0x6) - ip link set dev eth1 address $(mtd_get_mac_binary "ART" 0x0) - ;; engenius,eap2200) base_mac=$(cat /sys/class/net/eth0/address) ip link set dev eth1 address $(macaddr_add "$base_mac" 1) diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts index 062826c7a4..52311755b7 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts @@ -210,6 +210,26 @@ label = "ART"; reg = <0x00170000 0x00010000>; read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_art_6: macaddr@6 { + reg = <0x6 0x6>; + }; + + precal_art_1000: precal@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; }; partition9@580000 { @@ -234,9 +254,23 @@ &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; + nvmem-cell-names = "pre-calibration"; + nvmem-cells = <&precal_art_1000>; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; + nvmem-cell-names = "pre-calibration"; + nvmem-cells = <&precal_art_5000>; +}; + +&gmac0 { + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_art_6>; +}; + +&gmac1 { + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_art_0>; };