Просмотр исходного кода

lantiq: dgn3500: use nvmem to load calibration

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/16376
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev 1 год назад
Родитель
Сommit
75b9fae0c3

+ 29 - 2
target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi

@@ -125,6 +125,14 @@
 
 &gsw {
 	phy-mode = "mii";
+
+	nvmem-cells = <&macaddr_uboot_ethaddr 0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&ppe {
+	nvmem-cells = <&macaddr_uboot_ethaddr 1>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pci0 {
@@ -138,7 +146,8 @@
 	wifi@e,0 {
 		compatible = "pci168c,0029";
 		reg = <0x7000 0 0 0 0>;
-		qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
+		nvmem-cells = <&cal_f000>, <&macaddr_uboot_ethaddr 2>;
+		nvmem-cell-names = "calibration", "mac-address";
 	};
 };
 
@@ -165,12 +174,30 @@
 				reg = <0x10000 0x10000>;
 				label = "u-boot-env";
 				read-only;
+
+				nvmem-layout {
+					compatible = "u-boot,env";
+
+					macaddr_uboot_ethaddr: ethaddr {
+						#nvmem-cell-cells = <1>;
+					};
+				};
 			};
 
-			ath9k_cal: partition@20000 {
+			partition@20000 {
 				reg = <0x20000 0x10000>;
 				label = "calibration";
 				read-only;
+
+				nvmem-layout {
+					compatible = "fixed-layout";
+					#address-cells = <1>;
+					#size-cells = <1>;
+
+					cal_f000: calibration@f000 {
+						reg = <0xf000 0xeb8>;
+					};
+				};
 			};
 
 			partition@50000 {

+ 0 - 4
target/linux/lantiq/xway/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom

@@ -40,10 +40,6 @@ case "$FIRMWARE" in
 			bt,homehub-v3a)
 				caldata_extract_swap "art-copy" 0x0 0x1000
 				;;
-			netgear,dgn3500|netgear,dgn3500b)
-				caldata_extract "calibration" 0xf000 0x1000
-				ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 0x20c
-				;;
 			*)
 				caldata_die "board $board is not supported yet"
 				;;