From 926991329bd37739abcbc020145013ca116314d7 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 25 Feb 2026 20:27:50 -0800 Subject: [PATCH] lantiq: convert ralink,mtd-eeprom to nvmem These devices use the binding + eeprom-swap. Turns out the reason swap is needed is because the binding wrongly swaps the data on big endian hosts. NVMEM doesn't do this and thus just works. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22207 Signed-off-by: Robert Marko --- .../boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts | 10 ++++++---- .../boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts | 8 ++++++-- .../mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts | 10 +++++++--- .../mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts | 10 ++++++---- .../boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts | 10 ++++++---- .../mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi | 10 ++++++---- .../mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi | 10 ++++++---- 7 files changed, 43 insertions(+), 25 deletions(-) diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts index 4fc79b7be3..1c651b71ee 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts @@ -156,6 +156,10 @@ reg = <0x16 0x6>; #nvmem-cell-cells = <1>; }; + + eeprom_boardconfig_410: eeprom@410 { + reg = <0x410 0x200>; + }; }; }; }; @@ -174,9 +178,7 @@ wifi@e,0 { compatible = "pci1814,3592"; reg = <0x7000 0 0 0 0>; - ralink,mtd-eeprom = <&boardconfig 0x410>; - ralink,eeprom-swap; - nvmem-cells = <&macaddr_boardconfig_16 1>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&eeprom_boardconfig_410>, <&macaddr_boardconfig_16 1>; + nvmem-cell-names = "eeprom", "mac-address"; }; }; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts index fa8df363d3..9ad8ce0268 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts @@ -162,6 +162,10 @@ macaddr_boardconfig_16: macaddr@16 { reg = <0x16 0x6>; }; + + eeprom_boardconfig_410: eeprom@410 { + reg = <0x410 0x200>; + }; }; }; }; @@ -187,8 +191,8 @@ wifi@e,0 { compatible = "pci1814,3592"; reg = <0x7000 0 0 0 0>; - ralink,mtd-eeprom = <&boardconfig 0x410>; - ralink,eeprom-swap; + nvmem-cells = <&eeprom_boardconfig_410>; + nvmem-cell-names = "eeprom"; }; }; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts index 0c2cbbf9db..6ea201184f 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts @@ -194,6 +194,10 @@ reg = <0x16 0x6>; #nvmem-cell-cells = <1>; }; + + eeprom_boardconfig_410: eeprom@410 { + reg = <0x410 0x200>; + }; }; }; }; @@ -211,10 +215,10 @@ req-mask = <0xf>; wifi@e,0 { - compatible = "pci0,0"; + compatible = "pci1814,0601"; reg = <0x7000 0 0 0 0>; - ralink,mtd-eeprom = <&boardconfig 0x410>; - ralink,eeprom-swap; + nvmem-cells = <&eeprom_boardconfig_410>; + nvmem-cell-names = "eeprom"; }; }; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts index 4387a77fda..18206e91d2 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts @@ -204,6 +204,10 @@ macaddr_boardconfig_16: macaddr@16 { reg = <0x16 0x6>; }; + + eeprom_boardconfig_410: eeprom@410 { + reg = <0x410 0x200>; + }; }; }; }; @@ -234,10 +238,8 @@ wifi0: wifi@e,0 { compatible = "pci1814,0601"; reg = <0x7000 0 0 0 0>; - nvmem-cells = <&macaddr_boardconfig_16>; - nvmem-cell-names = "mac-address"; - ralink,mtd-eeprom = <&boardconfig 0x410>; - ralink,eeprom-swap; + nvmem-cells = <&eeprom_boardconfig_410>, <&macaddr_boardconfig_16>; + nvmem-cell-names = "eeprom", "mac-address"; }; }; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts index b4effa65ef..115410a538 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts @@ -219,6 +219,10 @@ macaddr_boardconfig_16: macaddr@16 { reg = <0x16 0x6>; }; + + eeprom_boardconfig_410: eeprom@410 { + reg = <0x410 0x200>; + }; }; }; }; @@ -254,10 +258,8 @@ wifi@e,0 { compatible = "pci1814,3592"; reg = <0x7000 0 0 0 0>; - ralink,mtd-eeprom = <&boardconfig 0x410>; - ralink,eeprom-swap; - nvmem-cells = <&macaddr_boardconfig_16>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&eeprom_boardconfig_410>, <&macaddr_boardconfig_16>; + nvmem-cell-names = "eeprom", "mac-address"; }; usb@0f,0 { diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi index c9f1c83ffa..294691f1d7 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi @@ -230,6 +230,10 @@ reg = <0x16 0x6>; #nvmem-cell-cells = <1>; }; + + eeprom_boardconfig_410: eeprom@410 { + reg = <0x410 0x200>; + }; }; }; }; @@ -243,10 +247,8 @@ wifi@e,0 { compatible = "pci1814,3592"; reg = <0x7000 0 0 0 0>; - ralink,mtd-eeprom = <&boardconfig 0x410>; - ralink,eeprom-swap; - nvmem-cells = <&macaddr_boardconfig_16 1>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&eeprom_boardconfig_410>, <&macaddr_boardconfig_16 1>; + nvmem-cell-names = "eeprom", "mac-address"; }; }; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi index 4901fd7223..672d19782a 100644 --- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi @@ -247,6 +247,10 @@ reg = <0x16 0x6>; #nvmem-cell-cells = <1>; }; + + eeprom_boardconfig_410: eeprom@410 { + reg = <0x410 0x200>; + }; }; }; }; @@ -260,10 +264,8 @@ wifi@e,0 { compatible = "pci1814,3091"; reg = <0x7000 0 0 0 0>; - ralink,mtd-eeprom = <&boardconfig 0x410>; - ralink,eeprom-swap; - nvmem-cells = <&macaddr_boardconfig_16 1>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&eeprom_boardconfig_410>, <&macaddr_boardconfig_16 1>; + nvmem-cell-names = "eeprom", "mac-address"; }; };