mediatek: convert eeprom/macaddr to nvmem format for jdcloud re-cp-03
authorTianling Shen <cnsztl@immortalwrt.org>
Thu, 6 Jun 2024 09:17:10 +0000 (17:17 +0800)
committerNick Hainke <vincent@systemli.org>
Mon, 10 Jun 2024 08:08:19 +0000 (10:08 +0200)
Switch to new nvmem binding.

Also fixes a issue that the MAC address assigned to lan/wan was reversed.

Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
target/linux/mediatek/filogic/base-files/etc/board.d/02_network
target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata

index 93a5bb86f3bb4c4153311dc61543f68761a23714..372d4ec22ae909fb172d357caca6678406ba6748 100644 (file)
                reg = <0>;
                phy-mode = "2500base-x";
 
+               nvmem-cells = <&macaddr_factory_2a 0>;
+               nvmem-cell-names = "mac-address";
+
                fixed-link {
                        speed = <2500>;
                        full-duplex;
                reg = <1>;
                phy-mode = "2500base-x";
                phy-handle = <&phy6>;
+
+               nvmem-cells = <&macaddr_factory_24 0>;
+               nvmem-cell-names = "mac-address";
        };
 
        mdio: mdio-bus {
 
                block {
                        compatible = "block-device";
+
                        partitions {
+                               block-partition-factory {
+                                       partname = "factory";
+
+                                       nvmem-layout {
+                                               compatible = "fixed-layout";
+                                               #address-cells = <1>;
+                                               #size-cells = <1>;
+
+                                               eeprom_factory_0: eeprom@0 {
+                                                       reg = <0x0 0x1000>;
+                                               };
+
+                                               macaddr_factory_24: macaddr@24 {
+                                                       compatible = "mac-base";
+                                                       reg = <0x24 0x6>;
+                                                       #nvmem-cell-cells = <1>;
+                                               };
+
+                                               macaddr_factory_2a: macaddr@2a {
+                                                       compatible = "mac-base";
+                                                       reg = <0x2a 0x6>;
+                                                       #nvmem-cell-cells = <1>;
+                                               };
+                                       };
+                               };
+
                                emmc_rootdisk: block-partition-production {
                                        partname = "production";
                                };
 };
 
 &wifi {
+       nvmem-cells = <&eeprom_factory_0>;
+       nvmem-cell-names = "eeprom";
        pinctrl-names = "default";
        pinctrl-0 = <&wf_2g_5g_pins>;
        status = "okay";
index cf777a63dff7bee1d74f5ce18e6879d281e20908..70b076dc9fd3d9ee1f47dc378fe603c07a677d88 100644 (file)
@@ -145,11 +145,6 @@ mediatek_setup_macs()
                lan_mac=$(macaddr_add "$wan_mac" 1)
                label_mac=$wan_mac
                ;;
-       jdcloud,re-cp-03)
-               wan_mac=$(mmc_get_mac_binary factory 0x2a)
-               lan_mac=$(mmc_get_mac_binary factory 0x24)
-               label_mac=$lan_mac
-               ;;
        mercusys,mr90x-v1)
                label_mac=$(get_mac_binary "/tmp/tp_data/default-mac" 0)
                lan_mac=$label_mac
index 27a16e0fb79e22dff9550010bc006eb99ad6d120..e0d1d93207ccbffdb01976689475ad292cae9ff4 100644 (file)
@@ -60,13 +60,6 @@ case "$FIRMWARE" in
                ;;
        esac
        ;;
-"mediatek/mt7986_eeprom_mt7976_dual.bin")
-       case "$board" in
-       jdcloud,re-cp-03)
-               caldata_extract_mmc "factory" 0x0 0x1000
-               ;;
-       esac
-       ;;
 *)
        exit 1
        ;;