ipq40xx: use nvmem cell for ath10k precal nvmem-connect
authorChristian Marangi <ansuelsmth@gmail.com>
Wed, 29 Jun 2022 17:27:57 +0000 (19:27 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Wed, 29 Jun 2022 17:27:57 +0000 (19:27 +0200)
Use nvmem cell for ath10k precal where possible.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 files changed:
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emd1.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-magic-2-wifi-next.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mr8300.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi

index 19ce3faf78a078af8de0a7f19d835cebaa774248..52ed7da8c6acc69593ba5a9791f2002480fdd20c 100644 (file)
@@ -35,13 +35,8 @@ case "$FIRMWARE" in
                /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
                /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
                ;;
-       openmesh,a62 |\
-       plasmacloud,pa2200)
-               caldata_extract "0:ART" 0x9000 0x2f20
-               ;;
        linksys,ea8300 |\
        linksys,mr8300)
-               caldata_extract "ART" 0x9000 0x2f20
                # OEM assigns 4 sequential MACs
                ath10k_patch_mac $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" 4))
                ;;
@@ -77,36 +72,23 @@ case "$FIRMWARE" in
                /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
                /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
                ;;
-       cellc,rtl30vw |\
-       openmesh,a42 |\
-       openmesh,a62 |\
-       plasmacloud,pa1200 |\
-       plasmacloud,pa2200)
-               caldata_extract "0:ART" 0x1000 0x2f20
-               ;;
        devolo,magic-2-wifi-next)
-               caldata_extract "ART" 0x1000 0x2f20
                ath10k_patch_mac $(mtd_get_mac_ascii APPSBLENV WiFiMacAddress0)
                ;;
        dlink,dap-2610)
-               caldata_extract "ART" 0x1000 0x2f20
                ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac)
                ;;
        engenius,emd1)
-               caldata_extract "0:ART" 0x1000 0x2f20
                ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr)
                ;;
        engenius,emr3500)
-               caldata_extract "0:ART" 0x1000 0x2f20
                ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
                ;;
        engenius,ens620ext)
-               caldata_extract "ART" 0x1000 0x2f20
                ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2)
                ;;
        linksys,ea8300 |\
        linksys,mr8300)
-               caldata_extract "ART" 0x1000 0x2f20
                ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
                ;;
        meraki,mr33 |\
@@ -131,7 +113,6 @@ case "$FIRMWARE" in
                ;;
        zyxel,nbg6617 |\
        zyxel,wre6606)
-               caldata_extract "ART" 0x1000 0x2f20
                ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
                ;;
        esac
@@ -158,36 +139,23 @@ case "$FIRMWARE" in
                /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
                /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
                ;;
-       cellc,rtl30vw |\
-       openmesh,a42 |\
-       openmesh,a62 |\
-       plasmacloud,pa1200 |\
-       plasmacloud,pa2200)
-               caldata_extract "0:ART" 0x5000 0x2f20
-               ;;
        devolo,magic-2-wifi-next)
-               caldata_extract "ART" 0x5000 0x2f20
                ath10k_patch_mac $(mtd_get_mac_ascii APPSBLENV WiFiMacAddress1)
                ;;
        dlink,dap-2610)
-               caldata_extract "ART" 0x5000 0x2f20
                ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a)
                ;;
        engenius,emd1)
-               caldata_extract "0:ART" 0x5000 0x2f20
                ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr) 1)
                ;;
        engenius,emr3500)
-               caldata_extract "0:ART" 0x5000 0x2f20
                ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) 1)
                ;;
        engenius,ens620ext)
-               caldata_extract "ART" 0x5000 0x2f20
                ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 3)
                ;;
        linksys,ea8300 |\
        linksys,mr8300)
-               caldata_extract "ART" 0x5000 0x2f20
                ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3)
                ;;
        meraki,mr33 |\
@@ -213,7 +181,6 @@ case "$FIRMWARE" in
                ;;
        zyxel,nbg6617 |\
        zyxel,wre6606)
-               caldata_extract "ART" 0x5000 0x2f20
                ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -1)
                ;;
        esac
index f571da510eea6d84d086c2ff06013ac8d91a7abd..52ed63badebc64d0cc427e31a0a1257c9e535ed2 100644 (file)
                reg = <0>;
                spi-max-frequency = <24000000>;
                /* partitions are passed via bootloader */
+
+               partitions {
+                       partition-art {
+                               label = "0:ART";
+                               read-only;
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
+                       };
+               }
        };
 };
 
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "OM-A42";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "OM-A42";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index e3afddb37680b3caab14dce38b6db75b1b0dc78b..9e975f2f154ee83a0a9806d3ca99148456eed0d8 100644 (file)
                                label = "ART";
                                reg = <0x170000 0x10000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
                        partition@180000 {
                                compatible = "wrg";
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "dlink,dap-2610";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "dlink,dap-2610";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index b405867134973f594c6777b50c77adb2acc7b1dd..e694da960ec576cc2a1a98a6b78b66f2c401b307 100644 (file)
                                label = "0:ART";
                                reg = <0x00170000 0x00010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
                        partition8@180000 {
                                label = "userconfig";
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "EnGenius-EMD1";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "EnGenius-EMD1";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 848e5c2363851720dca462d17d4a0bff7f8f1072..5a337e74b4f79ee47b1eeb53420754b32a64e49b 100644 (file)
                                label = "0:ART";
                                reg = <0x00170000 0x00010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
                        partition@180000 {
                                label = "userconfig";
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "EnGenius-EMR3500";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "EnGenius-EMR3500";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index b765d68b51ca1f68ddd49cbc38899de16bdad588..a1fcd64f1baf9dfe33d634a40dfff9d9b32fe314 100644 (file)
                                label = "ART";
                                reg = <0x00180000 0x00010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
                        partition@190000 {
                                compatible = "denx,fit";
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 2709aef5026080f6ea4e3d306dcc7f771d6c7944..cfaad6ce66aed0935ce454fe0f1f49794d1fad28 100644 (file)
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "devolo,magic-2-wifi-next";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "devolo,magic-2-wifi-next";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &blsp1_spi1 {
                                reg = <0x000f0000 0x00080000>;
                                read-only;
                        };
-                       partition@170000 {
+                       partition-art@170000 {
                                label = "ART";
                                reg = <0x00170000 0x00010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
                        firmware@180000 {
                                compatible = "denx,fit";
index caafc1beb44d58b560357faed327f0e806c0c96c..db8da17df26e5eb4b258c656f55223c63dec40f1 100644 (file)
                                label = "ART";
                                reg = <0x00170000 0x00010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
                        partition8@180000 {
                                label = "kernel";
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &usb3_ss_phy {
index bcb9552ce777d1d522c7642649e22ec26f04d7d2..ef83fafd0a08038e87b1ec7e982c0f7995562734 100644 (file)
                reg = <0>;
                spi-max-frequency = <24000000>;
                /* partitions are passed via bootloader */
+
+               partitions {
+                       partition-art {
+                               label = "0:ART";
+                               read-only;
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
+                       };
+               }
        };
 };
 
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 8fa5a31908607ca3dce0f91a98158cae0925719f..c5ffb4529933514432b23caeec3e87f049d4a1e8 100644 (file)
                                label = "ART";
                                reg = <0x00170000 0x00010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
 
                        partition8@180000 {
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "ZyXEL-WRE6606";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "ZyXEL-WRE6606";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 279050fa158f6a14970f12480866de2af3a8af6f..23709e9bbc5645e4f1738b1bd6417549066658e9 100644 (file)
                reg = <0>;
                spi-max-frequency = <24000000>;
                /* partitions are passed via bootloader */
+
+               partitions {
+                       partition-art {
+                               label = "0:ART";
+                               read-only;
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
+
+                               precal_art_9000: precal@9000 {
+                                       reg = <0x9000 0x2f20>;
+                               };
+                       };
+               }
        };
 };
 
                        reg = <0x00010000 0 0 0 0>;
                        qcom,ath10k-calibration-variant = "OM-A62";
                        ieee80211-freq-limit = <5170000 5350000>;
+
+                       nvmem-cells = <&precal_art_9000>;
+                       nvmem-cell-names = "pre-calibration";
                };
        };
 };
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "OM-A62";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "OM-A62";
        ieee80211-freq-limit = <5470000 5875000>;
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 5a738da33d3a692cd58704c6bf8da7e0d4c7bbe8..21a30d26808249800fc1c0f226291388d5cc540b 100644 (file)
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "linksys-ea8300-fcc";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        ieee80211-freq-limit = <5170000 5330000>;
        qcom,ath10k-calibration-variant = "linksys-ea8300-fcc";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi2 {
        status = "okay";
        ieee80211-freq-limit = <5490000 5835000>;
        qcom,ath10k-calibration-variant = "linksys-ea8300-fcc";
+
+       nvmem-cells = <&precal_art_9000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 057aa880285b9c89e36c2925e454adaea14609ad..b460f85057fa3c221ac8a7fe82779ec9940ca1fe 100644 (file)
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "linksys-mr8300-v0-fcc";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        ieee80211-freq-limit = <5170000 5330000>;
        qcom,ath10k-calibration-variant = "linksys-mr8300-v0-fcc";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi2 {
        status = "okay";
        ieee80211-freq-limit = <5490000 5835000>;
        qcom,ath10k-calibration-variant = "linksys-mr8300-v0-fcc";
+
+       nvmem-cells = <&precal_art_9000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 2d0655114b4e0749e0c878a3d16ece2ad2ab2223..3ecdba0c56c8fbf9354e0da4ae21dd54b63e8c2b 100644 (file)
                reg = <0>;
                spi-max-frequency = <24000000>;
                /* partitions are passed via bootloader */
+
+               partitions {
+                       partition-art {
+                               label = "0:ART";
+                               read-only;
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
+
+                               precal_art_9000: precal@9000 {
+                                       reg = <0x9000 0x2f20>;
+                               };
+                       };
+               }
        };
 };
 
                        reg = <0x00010000 0 0 0 0>;
                        qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
                        ieee80211-freq-limit = <5170000 5350000>;
+
+                       nvmem-cells = <&precal_art_9000>;
+                       nvmem-cell-names = "pre-calibration";
                };
        };
 };
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
        ieee80211-freq-limit = <5470000 5875000>;
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 0caa0255d039aedcbbe7ddbf97460cce99c22068..0c30373f467b5a1daa94997d5a86090211a3faaa 100644 (file)
                                read-only;
                        };
 
-                       partition@170000 {
+                       partition-art@170000 {
                                label = "0:ART";
                                reg = <0x170000 0x10000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
                        };
 
                        partition@180000 {
 &wifi0 {
        status = "okay";
        qcom,ath10k-calibration-variant = "cellc,rtl30vw";
+
+       nvmem-cells = <&precal_art_1000>;
+       nvmem-cell-names = "pre-calibration";
 };
 
 &wifi1 {
        status = "okay";
        qcom,ath10k-calibration-variant = "cellc,rtl30vw";
+
+       nvmem-cells = <&precal_art_5000>;
+       nvmem-cell-names = "pre-calibration";
 };
index 8f971e505c3c7d106b151fb1c47cbb0d9c0ee265..cc899fa4c8a9ac7e80bc36076d4825c5465d4792 100644 (file)
                                label = "ART";
                                reg = <0x400000 0x80000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               precal_art_1000: precal@1000 {
+                                       reg = <0x1000 0x2f20>;
+                               };
+
+                               precal_art_5000: precal@5000 {
+                                       reg = <0x5000 0x2f20>;
+                               };
+
+                               precal_art_9000: precal@9000 {
+                                       reg = <0x9000 0x2f20>;
+                               };
                        };
 
                        partition@480000 {