From 0bcc77d530c141c76635cb48dff6927847f90f4f Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 8 Apr 2026 14:01:36 -0700 Subject: [PATCH] ipq40xx: avoid randomized MAC address on boot In cases where an nvmem definition is applied to the switch ports, change to apply to the root gmac so that a randomized MAC address does not get set. Also remove the aliases. Since nvmem is used, we don't care about the bootloader. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22857 Signed-off-by: Robert Marko --- target/linux/ipq40xx/dts/qcom-ipq4018-a42.dts | 10 ++++------ target/linux/ipq40xx/dts/qcom-ipq4018-gl-a1300.dts | 9 ++++----- target/linux/ipq40xx/dts/qcom-ipq4018-pa1200.dts | 10 ++++------ target/linux/ipq40xx/dts/qcom-ipq4018-rt-ac58u.dts | 3 +-- target/linux/ipq40xx/dts/qcom-ipq4019-a62.dts | 10 ++++------ target/linux/ipq40xx/dts/qcom-ipq4019-deco-m5.dtsi | 8 ++++---- target/linux/ipq40xx/dts/qcom-ipq4019-pa2200.dts | 10 ++++------ target/linux/ipq40xx/dts/qcom-ipq4029-gl-b1300.dts | 9 ++++----- 8 files changed, 29 insertions(+), 40 deletions(-) diff --git a/target/linux/ipq40xx/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/dts/qcom-ipq4018-a42.dts index 97b20c0fa4..f84d3c299a 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4018-a42.dts +++ b/target/linux/ipq40xx/dts/qcom-ipq4018-a42.dts @@ -52,13 +52,11 @@ }; aliases { - // TODO: Verify if the ethernet0 alias is needed - ethernet0 = &gmac; led-boot = &led_status_green; led-failsafe = &led_status_green; led-running = &led_status_green; led-upgrade = &led_status_green; - label-mac-device = &swport5; + label-mac-device = &gmac; }; leds { @@ -201,6 +199,9 @@ &gmac { status = "okay"; + + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_gmac0>; }; &switch { @@ -218,9 +219,6 @@ &swport5 { status = "okay"; label = "ethernet1"; - - nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; }; &wifi0 { diff --git a/target/linux/ipq40xx/dts/qcom-ipq4018-gl-a1300.dts b/target/linux/ipq40xx/dts/qcom-ipq4018-gl-a1300.dts index 7dc583b71a..009d92a5bf 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4018-gl-a1300.dts +++ b/target/linux/ipq40xx/dts/qcom-ipq4018-gl-a1300.dts @@ -11,13 +11,11 @@ compatible = "glinet,gl-a1300", "qcom,ipq4019"; aliases { - // TODO: Verify if the ethernet0 alias is needed - ethernet0 = &gmac; led-boot = &led_run; led-failsafe = &led_run; led-running = &led_run; led-upgrade = &led_run; - label-mac-device = &swport4; + label-mac-device = &gmac; }; chosen { @@ -302,6 +300,9 @@ &gmac { status = "okay"; + + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_gmac0 0>; }; &switch { @@ -320,8 +321,6 @@ status = "okay"; label = "lan1"; - nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0 0>; }; &swport5 { diff --git a/target/linux/ipq40xx/dts/qcom-ipq4018-pa1200.dts b/target/linux/ipq40xx/dts/qcom-ipq4018-pa1200.dts index abf9201f63..dc3bcca89b 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4018-pa1200.dts +++ b/target/linux/ipq40xx/dts/qcom-ipq4018-pa1200.dts @@ -52,13 +52,11 @@ }; aliases { - // TODO: Verify if the ethernet0 alias is needed - ethernet0 = &gmac; led-boot = &led_status_purple; led-failsafe = &led_status_yellow; led-running = &led_status_cyan; led-upgrade = &led_status_yellow; - label-mac-device = &swport5; + label-mac-device = &gmac; }; leds { @@ -193,6 +191,9 @@ &gmac { status = "okay"; + + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_gmac0>; }; &switch { @@ -210,9 +211,6 @@ &swport5 { status = "okay"; label = "ethernet1"; - - nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; }; &wifi0 { diff --git a/target/linux/ipq40xx/dts/qcom-ipq4018-rt-ac58u.dts b/target/linux/ipq40xx/dts/qcom-ipq4018-rt-ac58u.dts index 1c698b4b41..99b27edd62 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4018-rt-ac58u.dts +++ b/target/linux/ipq40xx/dts/qcom-ipq4018-rt-ac58u.dts @@ -16,8 +16,6 @@ }; aliases { - // TODO: Verify if the ethernet0 alias is needed - ethernet0 = &gmac; led-boot = &led_power; led-failsafe = &led_power; led-running = &led_power; @@ -327,6 +325,7 @@ &gmac { status = "okay"; + nvmem-cells = <&macaddr_factory_5006>; nvmem-cell-names = "mac-address"; }; diff --git a/target/linux/ipq40xx/dts/qcom-ipq4019-a62.dts b/target/linux/ipq40xx/dts/qcom-ipq4019-a62.dts index 686b9c01d3..2267e39e25 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4019-a62.dts +++ b/target/linux/ipq40xx/dts/qcom-ipq4019-a62.dts @@ -52,13 +52,11 @@ }; aliases { - // TODO: Verify if the ethernet0 alias is needed - ethernet0 = &gmac; led-boot = &led_status_green; led-failsafe = &led_status_green; led-running = &led_status_green; led-upgrade = &led_status_green; - label-mac-device = &swport4; + label-mac-device = &gmac; }; leds { @@ -229,6 +227,9 @@ &gmac { status = "okay"; + + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_gmac0>; }; &switch { @@ -238,9 +239,6 @@ &swport4 { status = "okay"; label = "ethernet1"; - - nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; }; &swport5 { diff --git a/target/linux/ipq40xx/dts/qcom-ipq4019-deco-m5.dtsi b/target/linux/ipq40xx/dts/qcom-ipq4019-deco-m5.dtsi index 450eeeee29..7b51ce7fb2 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4019-deco-m5.dtsi +++ b/target/linux/ipq40xx/dts/qcom-ipq4019-deco-m5.dtsi @@ -12,7 +12,7 @@ }; aliases { - label-mac-device = &swport4; + label-mac-device = &gmac; }; keys { @@ -341,6 +341,9 @@ &gmac { status = "okay"; + + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_gmac0 0>; }; &switch { @@ -350,9 +353,6 @@ &swport4 { status = "okay"; label = "lan"; - - nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0 0>; }; &swport5 { diff --git a/target/linux/ipq40xx/dts/qcom-ipq4019-pa2200.dts b/target/linux/ipq40xx/dts/qcom-ipq4019-pa2200.dts index c0a24001f3..3b154ad014 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4019-pa2200.dts +++ b/target/linux/ipq40xx/dts/qcom-ipq4019-pa2200.dts @@ -44,13 +44,11 @@ }; aliases { - // TODO: Verify if the ethernet0 alias is needed - ethernet0 = &gmac; led-boot = &led_power_orange; led-failsafe = &led_status_blue; led-running = &led_power_orange; led-upgrade = &led_status_blue; - label-mac-device = &swport4; + label-mac-device = &gmac; }; leds { @@ -209,6 +207,9 @@ &gmac { status = "okay"; + + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_gmac0>; }; &switch { @@ -218,9 +219,6 @@ &swport4 { status = "okay"; label = "ethernet1"; - - nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0>; }; &swport5 { diff --git a/target/linux/ipq40xx/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/dts/qcom-ipq4029-gl-b1300.dts index 3f687f4de6..646f65102d 100644 --- a/target/linux/ipq40xx/dts/qcom-ipq4029-gl-b1300.dts +++ b/target/linux/ipq40xx/dts/qcom-ipq4029-gl-b1300.dts @@ -25,13 +25,11 @@ compatible = "glinet,gl-b1300"; aliases { - // TODO: Verify if the ethernet0 alias is needed - ethernet0 = &gmac; led-boot = &power; led-failsafe = &power; led-running = &power; led-upgrade = &power; - label-mac-device = &swport4; + label-mac-device = &gmac; }; memory { @@ -287,6 +285,9 @@ &gmac { status = "okay"; + + nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_gmac0 0>; }; &switch { @@ -305,8 +306,6 @@ status = "okay"; label = "lan1"; - nvmem-cell-names = "mac-address"; - nvmem-cells = <&macaddr_gmac0 0>; }; &swport5 {