mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-18 21:28:02 +00:00
lantiq: Update TP-Link TD-W89x0 flash layout and convert to nvmem
Flash space is scarce on 8MB devices, this commit adds 124KB of usable space by reusing OEM user configuration and unused space. I also split the partitions to seperate MAC Address & WPS key, Memory configuration, and Wi-Fi calibration data. This commit also switches from userspace script to using nvmem for ath9k calibration data. Signed-off-by: Mustafa Can Elmacı <mustafacan@elmaci.net>
This commit is contained in:
parent
11ba2b141f
commit
b8a6551435
@ -113,7 +113,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
ð0 {
|
ð0 {
|
||||||
nvmem-cells = <&macaddr_ath9k_cal_f100 0>;
|
nvmem-cells = <&boardconfig_macaddr 0>;
|
||||||
nvmem-cell-names = "mac-address";
|
nvmem-cell-names = "mac-address";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -205,10 +205,9 @@
|
|||||||
reg = <0 0 0 0 0>;
|
reg = <0 0 0 0 0>;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
qca,no-eeprom;
|
|
||||||
ieee80211-freq-limit = <2402000 2482000>;
|
ieee80211-freq-limit = <2402000 2482000>;
|
||||||
nvmem-cells = <&macaddr_ath9k_cal_f100 2>;
|
nvmem-cells = <&ath9k_cal>, <&boardconfig_macaddr 2>;
|
||||||
nvmem-cell-names = "mac-address";
|
nvmem-cell-names = "calibration", "mac-address";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -234,18 +233,13 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
partition@20000 {
|
partition@20000 {
|
||||||
reg = <0x20000 0x7a0000>;
|
reg = <0x20000 0x7bf000>;
|
||||||
label = "firmware";
|
label = "firmware";
|
||||||
};
|
};
|
||||||
|
|
||||||
partition@7c0000 {
|
/* MAC Adress and WPS PIN */
|
||||||
reg = <0x7c0000 0x10000>;
|
partition@7df000 {
|
||||||
label = "config";
|
reg = <0x7df000 0x1000>;
|
||||||
read-only;
|
|
||||||
};
|
|
||||||
|
|
||||||
ath9k_cal: partition@7d0000 {
|
|
||||||
reg = <0x7d0000 0x30000>;
|
|
||||||
label = "boardconfig";
|
label = "boardconfig";
|
||||||
read-only;
|
read-only;
|
||||||
|
|
||||||
@ -254,11 +248,39 @@
|
|||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
macaddr_ath9k_cal_f100: macaddr@f100 {
|
/* MAC Adress */
|
||||||
|
boardconfig_macaddr: macaddr@100 {
|
||||||
compatible = "mac-base";
|
compatible = "mac-base";
|
||||||
reg = <0xf100 0x6>;
|
reg = <0x100 0x6>;
|
||||||
#nvmem-cell-cells = <1>;
|
#nvmem-cell-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* 0x7df200 contains WPS PIN used on OEM firmware, unused in OpenWRT */
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* used by U-Boot to store memory settings */
|
||||||
|
partition@7e0000 {
|
||||||
|
reg = <0x7e0000 0x10000>;
|
||||||
|
label = "ddr_settings";
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Wi-Fi calibration data */
|
||||||
|
partition@7f0000 {
|
||||||
|
reg = <0x7f0000 0x10000>;
|
||||||
|
label = "radio";
|
||||||
|
read-only;
|
||||||
|
|
||||||
|
nvmem-layout {
|
||||||
|
compatible = "fixed-layout";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
ath9k_cal: cal@440 {
|
||||||
|
reg = <0x1000 0x440>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -25,7 +25,7 @@ define Device/tplink_tdw8970
|
|||||||
TPLINK_FLASHLAYOUT := 8Mltq
|
TPLINK_FLASHLAYOUT := 8Mltq
|
||||||
TPLINK_HWID := 0x89700001
|
TPLINK_HWID := 0x89700001
|
||||||
TPLINK_HWREV := 1
|
TPLINK_HWREV := 1
|
||||||
IMAGE_SIZE := 7680k
|
IMAGE_SIZE := 7804k
|
||||||
DEVICE_PACKAGES:= kmod-ath9k wpad-basic-mbedtls kmod-usb-dwc2 kmod-usb-ledtrig-usbport
|
DEVICE_PACKAGES:= kmod-ath9k wpad-basic-mbedtls kmod-usb-dwc2 kmod-usb-ledtrig-usbport
|
||||||
SUPPORTED_DEVICES += TDW8970
|
SUPPORTED_DEVICES += TDW8970
|
||||||
endef
|
endef
|
||||||
@ -39,7 +39,7 @@ define Device/tplink_tdw8980
|
|||||||
TPLINK_FLASHLAYOUT := 8Mltq
|
TPLINK_FLASHLAYOUT := 8Mltq
|
||||||
TPLINK_HWID := 0x89800001
|
TPLINK_HWID := 0x89800001
|
||||||
TPLINK_HWREV := 14
|
TPLINK_HWREV := 14
|
||||||
IMAGE_SIZE := 7680k
|
IMAGE_SIZE := 7804k
|
||||||
DEVICE_PACKAGES:= kmod-ath9k kmod-owl-loader wpad-basic-mbedtls kmod-usb-dwc2 kmod-usb-ledtrig-usbport
|
DEVICE_PACKAGES:= kmod-ath9k kmod-owl-loader wpad-basic-mbedtls kmod-usb-dwc2 kmod-usb-ledtrig-usbport
|
||||||
SUPPORTED_DEVICES += TDW8980
|
SUPPORTED_DEVICES += TDW8980
|
||||||
endef
|
endef
|
||||||
|
@ -31,10 +31,6 @@ case "$FIRMWARE" in
|
|||||||
caldata_extract_ubi "caldata" 0x1000 0x1000
|
caldata_extract_ubi "caldata" 0x1000 0x1000
|
||||||
ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary_ubi caldata 0x110c) 2) 0x10c
|
ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary_ubi caldata 0x110c) 2) 0x10c
|
||||||
;;
|
;;
|
||||||
tplink,tdw8970|\
|
|
||||||
tplink,tdw8980)
|
|
||||||
caldata_extract "boardconfig" 0x21000 0x1000
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
caldata_die "board $board is not supported yet"
|
caldata_die "board $board is not supported yet"
|
||||||
;;
|
;;
|
||||||
|
Loading…
Reference in New Issue
Block a user