ipq40xx: Meraki MR33: convert MAC addresses to nvmem
This fixes assigning random MAC to br-lan interface upon boot. While at that, rename at24@50 node to eeprom@50, to align with upstream device tree style. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
This commit is contained in:
parent
550253bdf9
commit
b9b4c51b2b
@ -13,7 +13,6 @@ case "$FIRMWARE" in
|
|||||||
meraki,mr74)
|
meraki,mr74)
|
||||||
caldata_extract_ubi "ART" 0x9000 0x844
|
caldata_extract_ubi "ART" 0x9000 0x844
|
||||||
caldata_valid "4408" || caldata_extract "ART" 0x9000 0x844
|
caldata_valid "4408" || caldata_extract "ART" 0x9000 0x844
|
||||||
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 1)
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@ -117,7 +116,6 @@ case "$FIRMWARE" in
|
|||||||
meraki,mr74)
|
meraki,mr74)
|
||||||
caldata_extract_ubi "ART" 0x1000 0x2f20
|
caldata_extract_ubi "ART" 0x1000 0x2f20
|
||||||
caldata_valid "202f" || caldata_extract "ART" 0x1000 0x2f20
|
caldata_valid "202f" || caldata_extract "ART" 0x1000 0x2f20
|
||||||
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 2)
|
|
||||||
;;
|
;;
|
||||||
mikrotik,cap-ac |\
|
mikrotik,cap-ac |\
|
||||||
mikrotik,hap-ac2 |\
|
mikrotik,hap-ac2 |\
|
||||||
@ -214,7 +212,6 @@ case "$FIRMWARE" in
|
|||||||
meraki,mr74)
|
meraki,mr74)
|
||||||
caldata_extract_ubi "ART" 0x5000 0x2f20
|
caldata_extract_ubi "ART" 0x5000 0x2f20
|
||||||
caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20
|
caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20
|
||||||
ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 3)
|
|
||||||
;;
|
;;
|
||||||
mikrotik,cap-ac |\
|
mikrotik,cap-ac |\
|
||||||
mikrotik,hap-ac2 |\
|
mikrotik,hap-ac2 |\
|
||||||
|
@ -24,11 +24,6 @@ preinit_set_mac_address() {
|
|||||||
ip link set dev lan1 address $(macaddr_add "$base_mac" 1)
|
ip link set dev lan1 address $(macaddr_add "$base_mac" 1)
|
||||||
ip link set dev eth0 address $(macaddr_setbit "$base_mac" 7)
|
ip link set dev eth0 address $(macaddr_setbit "$base_mac" 7)
|
||||||
;;
|
;;
|
||||||
meraki,mr33|\
|
|
||||||
meraki,mr74)
|
|
||||||
mac_lan=$(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66)
|
|
||||||
[ -n "$mac_lan" ] && ip link set dev eth0 address "$mac_lan"
|
|
||||||
;;
|
|
||||||
mikrotik,wap-ac)
|
mikrotik,wap-ac)
|
||||||
base_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base)
|
base_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base)
|
||||||
ip link set dev eth0 address "$base_mac"
|
ip link set dev eth0 address "$base_mac"
|
||||||
|
@ -127,11 +127,18 @@
|
|||||||
pinctrl-0 = <&i2c_0_pins>;
|
pinctrl-0 = <&i2c_0_pins>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
at24@50 {
|
|
||||||
|
eeprom@50 {
|
||||||
compatible = "atmel,24c64";
|
compatible = "atmel,24c64";
|
||||||
pagesize = <32>;
|
pagesize = <32>;
|
||||||
reg = <0x50>;
|
reg = <0x50>;
|
||||||
read-only; /* This holds our MAC & Meraki board-data */
|
read-only; /* This holds our MAC & Meraki board-data */
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
mac_address: mac-address@66 {
|
||||||
|
reg = <0x66 0x6>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -277,6 +284,9 @@
|
|||||||
compatible = "qcom,ath10k";
|
compatible = "qcom,ath10k";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
reg = <0x00010000 0 0 0 0>;
|
reg = <0x00010000 0 0 0 0>;
|
||||||
|
nvmem-cells = <&mac_address>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
|
mac-address-increment = <1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -380,15 +390,23 @@
|
|||||||
&wifi0 {
|
&wifi0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
qcom,ath10k-calibration-variant = "Meraki-MR33";
|
qcom,ath10k-calibration-variant = "Meraki-MR33";
|
||||||
|
nvmem-cells = <&mac_address>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
|
mac-address-increment = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&wifi1 {
|
&wifi1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
qcom,ath10k-calibration-variant = "Meraki-MR33";
|
qcom,ath10k-calibration-variant = "Meraki-MR33";
|
||||||
|
nvmem-cells = <&mac_address>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
|
mac-address-increment = <3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&gmac {
|
&gmac {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
nvmem-cells = <&mac_address>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
};
|
};
|
||||||
|
|
||||||
&switch {
|
&switch {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user