summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianling Shen2024-06-06 09:17:10 +0000
committerNick Hainke2024-06-10 08:08:19 +0000
commit0397932fdd3fedabbba095445e5a5a5057a40538 (patch)
treed5938cb3ce936abe03315814a2efe66906bc11c3
parent3fd593b8487d8ac9d591e1e95a084d0083d71836 (diff)
downloadopenwrt-0397932fdd3fedabbba095445e5a5a5057a40538.tar.gz
mediatek: convert eeprom/macaddr to nvmem format for jdcloud re-cp-03
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>
-rw-r--r--target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts35
-rw-r--r--target/linux/mediatek/filogic/base-files/etc/board.d/02_network5
-rw-r--r--target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata7
3 files changed, 35 insertions, 12 deletions
diff --git a/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts b/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
index 93a5bb86f3..372d4ec22a 100644
--- a/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
+++ b/target/linux/mediatek/dts/mt7986a-jdcloud-re-cp-03.dts
@@ -101,6 +101,9 @@
reg = <0>;
phy-mode = "2500base-x";
+ nvmem-cells = <&macaddr_factory_2a 0>;
+ nvmem-cell-names = "mac-address";
+
fixed-link {
speed = <2500>;
full-duplex;
@@ -113,6 +116,9 @@
reg = <1>;
phy-mode = "2500base-x";
phy-handle = <&phy6>;
+
+ nvmem-cells = <&macaddr_factory_24 0>;
+ nvmem-cell-names = "mac-address";
};
mdio: mdio-bus {
@@ -166,7 +172,34 @@
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";
};
@@ -304,6 +337,8 @@
};
&wifi {
+ nvmem-cells = <&eeprom_factory_0>;
+ nvmem-cell-names = "eeprom";
pinctrl-names = "default";
pinctrl-0 = <&wf_2g_5g_pins>;
status = "okay";
diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
index cf777a63df..70b076dc9f 100644
--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
@@ -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
diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
index 27a16e0fb7..e0d1d93207 100644
--- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
+++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
@@ -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
;;