qualcommax: ipq50xx: use ascii-env driver to set mac address for Linksys MX devices
The ascii-env driver enables reading name pair values from nand in ascii layout. So, let's pick up and set the mac address accordingly. Signed-off-by: George Moussalem <george.moussalem@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18029 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
ab80e6c684
commit
eacc4d8c9b
6 changed files with 26 additions and 26 deletions
|
@ -278,6 +278,7 @@ CONFIG_NR_CPUS=4
|
||||||
CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
||||||
CONFIG_NVMEM=y
|
CONFIG_NVMEM=y
|
||||||
CONFIG_NVMEM_LAYOUTS=y
|
CONFIG_NVMEM_LAYOUTS=y
|
||||||
|
CONFIG_NVMEM_LAYOUT_ASCII_ENV=y
|
||||||
CONFIG_NVMEM_LAYOUT_U_BOOT_ENV=y
|
CONFIG_NVMEM_LAYOUT_U_BOOT_ENV=y
|
||||||
CONFIG_NVMEM_QCOM_QFPROM=y
|
CONFIG_NVMEM_QCOM_QFPROM=y
|
||||||
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
|
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
|
||||||
|
|
|
@ -8,8 +8,6 @@
|
||||||
/ {
|
/ {
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
ethernet0 = &dp1;
|
|
||||||
ethernet1 = &dp2;
|
|
||||||
led-boot = &led_system_blue;
|
led-boot = &led_system_blue;
|
||||||
led-failsafe = &led_system_red;
|
led-failsafe = &led_system_red;
|
||||||
led-running = &led_system_blue;
|
led-running = &led_system_blue;
|
||||||
|
@ -209,6 +207,18 @@
|
||||||
label = "devinfo";
|
label = "devinfo";
|
||||||
reg = <0x00680000 0x40000>;
|
reg = <0x00680000 0x40000>;
|
||||||
read-only;
|
read-only;
|
||||||
|
|
||||||
|
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@6c0000 {
|
partition@6c0000 {
|
||||||
|
|
|
@ -48,8 +48,12 @@
|
||||||
// MAC1 ---SGMII---> QCA8337 SerDes
|
// MAC1 ---SGMII---> QCA8337 SerDes
|
||||||
&dp2 {
|
&dp2 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
phy-mode = "sgmii";
|
phy-mode = "sgmii";
|
||||||
|
|
||||||
|
nvmem-cells = <&hw_mac_addr 0>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
|
|
|
@ -48,8 +48,12 @@
|
||||||
// MAC1 ---SGMII---> QCA8337 SerDes
|
// MAC1 ---SGMII---> QCA8337 SerDes
|
||||||
&dp2 {
|
&dp2 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
phy-mode = "sgmii";
|
phy-mode = "sgmii";
|
||||||
|
|
||||||
|
nvmem-cells = <&hw_mac_addr 0>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
|
|
||||||
fixed-link {
|
fixed-link {
|
||||||
speed = <1000>;
|
speed = <1000>;
|
||||||
full-duplex;
|
full-duplex;
|
||||||
|
|
|
@ -53,6 +53,9 @@
|
||||||
// MAC0 -> GE Phy
|
// MAC0 -> GE Phy
|
||||||
&dp1 {
|
&dp1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
nvmem-cells = <&hw_mac_addr 0>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
};
|
};
|
||||||
|
|
||||||
// MAC1 ---SGMII---> QCA8081
|
// MAC1 ---SGMII---> QCA8081
|
||||||
|
@ -61,6 +64,8 @@
|
||||||
|
|
||||||
label = "wan";
|
label = "wan";
|
||||||
phy-handle = <&qca8081>;
|
phy-handle = <&qca8081>;
|
||||||
|
nvmem-cells = <&hw_mac_addr 0>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
};
|
};
|
||||||
|
|
||||||
&mdio0 {
|
&mdio0 {
|
||||||
|
|
|
@ -15,33 +15,9 @@ ipq50xx_setup_interfaces()
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
ipq50xx_setup_macs()
|
|
||||||
{
|
|
||||||
local board="$1"
|
|
||||||
local lan_mac=""
|
|
||||||
local wan_mac=""
|
|
||||||
local label_mac=""
|
|
||||||
|
|
||||||
case "$board" in
|
|
||||||
linksys,mx2000|\
|
|
||||||
linksys,mx5500|\
|
|
||||||
linksys,spnmx56)
|
|
||||||
label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
|
||||||
lan_mac=$label_mac
|
|
||||||
wan_mac=$label_mac
|
|
||||||
ucidef_set_network_device_mac eth0 $label_mac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
|
||||||
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
|
||||||
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
|
|
||||||
}
|
|
||||||
|
|
||||||
board_config_update
|
board_config_update
|
||||||
board=$(board_name)
|
board=$(board_name)
|
||||||
ipq50xx_setup_interfaces $board
|
ipq50xx_setup_interfaces $board
|
||||||
ipq50xx_setup_macs $board
|
|
||||||
board_config_flush
|
board_config_flush
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
Loading…
Reference in a new issue