1 (edytowany przez rybirek 2023-11-18 22:25:52)

Temat: TP-Link TL-WDR4300 16M

Chciałem dodać obsługę dla 16M z art przesuniętym na koniec i utknąłem.
dts

#include "ar9344_tplink_tl-wdr4300.dtsi"

/ {
        model = "TP-Link TL-WDR4300 v1 (16M)";
        compatible = "tplink,tl-wdr4300-v1-16m", "qca,ar9344";
};

&spi {  
        status = "okay";

        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <33000000>;

                partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        uboot: partition@0 {
                                label = "u-boot";
                                reg = <0x000000 0x020000>;
                                read-only;
                        };

                        partition@20000 {
                                compatible = "tplink,firmware";
                                label = "firmware";
                                reg = <0x020000 0x7d0000>;
                        };

                        /delete-node/ partition@7f0000;
                        art: partition@ff0000 {
                                label = "art";
                                reg = <0xff0000 0x010000>;
                                read-only;
                        };
                };
        };
};

Pozmieniała się obsługa art i dostaję błędy, może ktoś pomoże ?

../dts/ar934x.dtsi:156.23-161.5: ERROR (phandle_references): /ahb/wmac@18100000: Reference to non-existent node or label "cal_art_1000"

  also defined at ../dts/ar9344.dtsi:64.7-67.3
  also defined at ../dts/ar9344_tplink_tl-wdrxxxx.dtsi:116.7-120.3
  also defined at ../dts/ar9344_tplink_tl-wdr4300.dtsi:78.7-80.3
../dts/ar9344_tplink_tl-wdrxxxx.dtsi:106.18-113.4: ERROR (phandle_references): /ahb/pcie-controller@180c0000/wifi@0,0: Reference to non-existent node or label "cal_art_5000"

ERROR: Input tree has errors, aborting (use -f to force output)
make[4]: *** [Makefile:104: /home/user/tools/openwrt_wdr_4300/build_dir/target-mips_24kc_musl/linux-ath79_generic/image-ar9344_tplink_tl-wdr4300-v1-16m.dtb] Error 2

2

Odp: TP-Link TL-WDR4300 16M

No zepsułeś, bo albo skopiowałeś coś albo nie zdeklarowałeś etykiety cal_art_5000"

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez rybirek 2023-11-18 23:00:52)

Odp: TP-Link TL-WDR4300 16M

No właśnie nie wiem jak to teraz działa, bo została rok temu zmieniana obsługa.

ath79: calibrate all ar9344 tl-WDRxxxx with nvmem

Driver for both soc (2.4GHz Wifi) and pci (5 GHz) now pull the calibration
data from the nvmem subsystem.

This allows us to move the userspace caldata extraction for the pci-e ath9k
supported wifi into the device-tree definition of the device.

W tej chwili art jest przeniesione do ar9344_tplink_tl-wdrxxxx.dtsi z którego ten mój nowy pośrednio dziedziczy.

&art {  
        compatible = "nvmem-cells";
        #address-cells = <1>;
        #size-cells = <1>;

        cal_art_1000: cal@1000 {
                reg = <0x1000 0x440>;
        };

        cal_art_5000: cal@5000 {
                reg = <0x5000 0x440>;
        };
};

Jak pozostawię art pod starym adresem

art: partition@7f0000

to się poprawnie kompiluje.

4 (edytowany przez rybirek 2023-11-18 23:08:52)

Odp: TP-Link TL-WDR4300 16M

Temat do zamknięcie, jednak nie dziedziczy (?), nie wiem dlaczego, muszę chyba doczytać o dts.
Dołożyłem do nowego dts art i teraz jest ok.

ar9344_tplink_tl-wdr4300-v1-16m.dts

  
#include "ar9344_tplink_tl-wdr4300.dtsi"

/ {
        model = "TP-Link TL-WDR4300 v1 (16M)";
        compatible = "tplink,tl-wdr4300-v1-16m", "qca,ar9344";
};

&spi {
        status = "okay";

        flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <33000000>;

                partitions {
                        compatible = "fixed-partitions";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        uboot: partition@0 {
                                label = "u-boot";
                                reg = <0x000000 0x020000>;
                                read-only;
                        };

                        partition@20000 {
                                compatible = "tplink,firmware";
                                label = "firmware";
                                reg = <0x020000 0x7d0000>;
                        };

                        /delete-node/ partition@7f0000;
                        art: partition@ff0000 {
                                label = "art";
                                reg = <0xff0000 0x010000>;
                                read-only;
                        };
                };
        };
};

&art {  
        compatible = "nvmem-cells";
        #address-cells = <1>;
        #size-cells = <1>;

        cal_art_1000: cal@1000 {
                reg = <0x1000 0x440>;
        };

        cal_art_5000: cal@5000 {
                reg = <0x5000 0x440>;
        };
};