ipq40xx: use NVMEM-on-UBI for ASUS RT-AC58U
Instead of extracting WiFi precal as well as MAC addresses in userspace use recently introduced NVMEM-on-UBI instead. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Tested-by: Christian Lamparter <chunkeey@gmail.com>
This commit is contained in:
parent
f1091ef7ac
commit
683a35098f
4 changed files with 44 additions and 10 deletions
|
@ -170,11 +170,6 @@ ipq40xx_setup_macs()
|
||||||
asus,rt-ac42u)
|
asus,rt-ac42u)
|
||||||
label_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
|
label_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
|
||||||
;;
|
;;
|
||||||
asus,rt-ac58u)
|
|
||||||
wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
|
|
||||||
lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006)
|
|
||||||
label_mac=$wan_mac
|
|
||||||
;;
|
|
||||||
avm,fritzbox-7530)
|
avm,fritzbox-7530)
|
||||||
local tffsdev=$(find_mtd_chardev "nand-tffs")
|
local tffsdev=$(find_mtd_chardev "nand-tffs")
|
||||||
wan_mac=$(/usr/bin/fritz_tffs_nand -b -d $tffsdev -n macdsl)
|
wan_mac=$(/usr/bin/fritz_tffs_nand -b -d $tffsdev -n macdsl)
|
||||||
|
|
|
@ -58,8 +58,7 @@ case "$FIRMWARE" in
|
||||||
"ath10k/pre-cal-ahb-a000000.wifi.bin")
|
"ath10k/pre-cal-ahb-a000000.wifi.bin")
|
||||||
case "$board" in
|
case "$board" in
|
||||||
asus,map-ac2200|\
|
asus,map-ac2200|\
|
||||||
asus,rt-ac42u|\
|
asus,rt-ac42u)
|
||||||
asus,rt-ac58u)
|
|
||||||
caldata_extract_ubi "Factory" 0x1000 0x2f20
|
caldata_extract_ubi "Factory" 0x1000 0x2f20
|
||||||
;;
|
;;
|
||||||
avm,fritzbox-4040)
|
avm,fritzbox-4040)
|
||||||
|
@ -158,8 +157,7 @@ case "$FIRMWARE" in
|
||||||
;;
|
;;
|
||||||
"ath10k/pre-cal-ahb-a800000.wifi.bin")
|
"ath10k/pre-cal-ahb-a800000.wifi.bin")
|
||||||
case "$board" in
|
case "$board" in
|
||||||
asus,map-ac2200|\
|
asus,map-ac2200)
|
||||||
asus,rt-ac58u)
|
|
||||||
caldata_extract_ubi "Factory" 0x5000 0x2f20
|
caldata_extract_ubi "Factory" 0x5000 0x2f20
|
||||||
;;
|
;;
|
||||||
avm,fritzbox-4040)
|
avm,fritzbox-4040)
|
||||||
|
|
|
@ -309,6 +309,7 @@ CONFIG_MTD_SPLIT_WRGG_FW=y
|
||||||
CONFIG_MTD_UBI=y
|
CONFIG_MTD_UBI=y
|
||||||
CONFIG_MTD_UBI_BEB_LIMIT=20
|
CONFIG_MTD_UBI_BEB_LIMIT=20
|
||||||
CONFIG_MTD_UBI_BLOCK=y
|
CONFIG_MTD_UBI_BLOCK=y
|
||||||
|
CONFIG_MTD_UBI_NVMEM=y
|
||||||
CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
||||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||||
CONFIG_NEED_DMA_MAP_STATE=y
|
CONFIG_NEED_DMA_MAP_STATE=y
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
led-failsafe = &led_power;
|
led-failsafe = &led_power;
|
||||||
led-running = &led_power;
|
led-running = &led_power;
|
||||||
led-upgrade = &led_power;
|
led-upgrade = &led_power;
|
||||||
|
label-mac-device = &swport5;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
|
@ -247,13 +248,44 @@
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
partition@0 {
|
partition@0 {
|
||||||
label = "ubi";
|
compatible = "linux,ubi";
|
||||||
reg = <0x00000000 0x08000000>;
|
reg = <0x00000000 0x08000000>;
|
||||||
|
label = "ubi";
|
||||||
|
|
||||||
|
volumes {
|
||||||
|
ubi_factory: ubi-volume-factory {
|
||||||
|
volname = "Factory";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&ubi_factory {
|
||||||
|
nvmem-layout {
|
||||||
|
compatible = "fixed-layout";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
precal_factory_1000: precal@1000 {
|
||||||
|
reg = <0x1000 0x2f20>;
|
||||||
|
};
|
||||||
|
|
||||||
|
macaddr_factory_1006: macaddr@1006 {
|
||||||
|
reg = <0x1006 0x6>;
|
||||||
|
};
|
||||||
|
|
||||||
|
precal_factory_5000: precal@5000 {
|
||||||
|
reg = <0x5000 0x2f20>;
|
||||||
|
};
|
||||||
|
|
||||||
|
macaddr_factory_5006: macaddr@5006 {
|
||||||
|
reg = <0x5006 0x6>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&blsp1_uart1 {
|
&blsp1_uart1 {
|
||||||
pinctrl-0 = <&serial_pins>;
|
pinctrl-0 = <&serial_pins>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
@ -293,6 +325,8 @@
|
||||||
|
|
||||||
&gmac {
|
&gmac {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
nvmem-cells = <&macaddr_factory_5006>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
};
|
};
|
||||||
|
|
||||||
&switch {
|
&switch {
|
||||||
|
@ -317,14 +351,20 @@
|
||||||
|
|
||||||
&swport5 {
|
&swport5 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
nvmem-cells = <&macaddr_factory_1006>;
|
||||||
|
nvmem-cell-names = "mac-address";
|
||||||
};
|
};
|
||||||
|
|
||||||
&wifi0 {
|
&wifi0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
nvmem-cell-names = "pre-calibration";
|
||||||
|
nvmem-cells = <&precal_factory_1000>;
|
||||||
qcom,ath10k-calibration-variant = "RT-AC58U";
|
qcom,ath10k-calibration-variant = "RT-AC58U";
|
||||||
};
|
};
|
||||||
|
|
||||||
&wifi1 {
|
&wifi1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
nvmem-cell-names = "pre-calibration";
|
||||||
|
nvmem-cells = <&precal_factory_5000>;
|
||||||
qcom,ath10k-calibration-variant = "RT-AC58U";
|
qcom,ath10k-calibration-variant = "RT-AC58U";
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue