aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2021-11-27 23:06:13 +0100
committerChristian Lamparter <chunkeey@gmail.com>2021-12-04 00:36:47 +0100
commitd641a604789ac604b01b9a7b408614e1cb74c700 (patch)
tree1d1a7c70c20e59c100eafec93be83ea0a030eb9d
parent45eb57f12f3a128a1822a20b7e536527ab92ca67 (diff)
downloadupstream-d641a604789ac604b01b9a7b408614e1cb74c700.tar.gz
upstream-d641a604789ac604b01b9a7b408614e1cb74c700.tar.bz2
upstream-d641a604789ac604b01b9a7b408614e1cb74c700.zip
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 <chunkeey@gmail.com>
-rw-r--r--target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata2
-rw-r--r--target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh4
-rw-r--r--target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts34
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>;
};