Make use of ASCII env NVMEM driver for Linksys EAX devices. This also
fix a problem with Linksys EAX devices where the 2 MAC interface had the
same MAC address causing a conflicts with FDB entry. This got much more
present with the DSA conversion making the system not usable.
To fix this, increment + 1 the MAC address for the WAN interface.
Link: https://github.com/openwrt/openwrt/pull/17839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
local board="$1"
case "$board" in
- linksys,ea7500-v1)
- hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
- ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
- ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 1)"
- ;;
- linksys,ea8500)
- hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
- ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
- ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 1)"
- ;;
linksys,e8350-v1 |\
zyxel,nbg6817)
hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr)
CONFIG_NR_CPUS=2
CONFIG_NVMEM=y
CONFIG_NVMEM_LAYOUTS=y
+CONFIG_NVMEM_LAYOUT_ASCII_ENV=y
CONFIG_NVMEM_QCOM_QFPROM=y
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_SPMI_SDAM is not set
partition@f40000 {
label = "devinfo";
reg = <0x0f40000 0x0040000>;
+
+ nvmem-layout {
+ compatible = "ascii-eq-delim-env";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ hw_mac_addr: hw_mac_addr {
+ compatible = "mac-base";
+
+ #nvmem-cell-cells = <1>;
+ };
+ };
};
partition@f80000 {
pinctrl-0 = <&rgmii2_pins>;
pinctrl-names = "default";
+ nvmem-cells = <&hw_mac_addr 0>;
+ nvmem-cell-names = "mac-address";
+
fixed-link {
speed = <1000>;
full-duplex;
phy-mode = "sgmii";
qcom,id = <2>;
+ nvmem-cells = <&hw_mac_addr 1>;
+ nvmem-cell-names = "mac-address";
+
fixed-link {
speed = <1000>;
full-duplex;