Skip to content

Quartz64 - dts File bearbeiten

Angeheftet Verschoben Quartz64
3 1 394
  • ACHTUNG, nur was für erfahrene Nutzer. Beschädigungen der Hardware nicht ausgeschlossen!! Also, Hirn einschalten!!

    Was ist das dts File?

    Wenn ich das alles richtig verstanden habe, wird in diesem File das SBC hardwaremäßig definiert.

    Beispiel

            cpus {
                    #address-cells = <0x02>;
                    #size-cells = <0x00>;
    
                    cpu@0 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x00>;
                            clocks = <0x02 0x00>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x06>;
                    };
    
                    cpu@100 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x100>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x07>;
                    };
    
                    cpu@200 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x200>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x08>;
                    };
    
                    cpu@300 {
                            device_type = "cpu";
                            compatible = "arm,cortex-a55";
                            reg = <0x00 0x300>;
                            #cooling-cells = <0x02>;
                            enable-method = "psci";
                            operating-points-v2 = <0x03>;
                            cpu-supply = <0x04>;
                            phandle = <0x09>;
                    };
    

    Das File liegt bei der Benutzung des Manjaro Images unter /boot/dtbs/rockchip/ und hat folgenden Namen

    rk3566-quartz64-a.dtb
    

    oder

      rk3566-quartz64-b.dtb
    

    Ok, diese Files sind Binärfiles, das heißt wir können sie nicht einfach lesen, ändern und speichern. Dazu braucht man ein Tool mit dem Namen Device-Tree-Compiler - oder auch dtc

    Installiert man unter Manjaro mit

    pacman -S dtc
    

    Dann kopiert man sich das .dtb mal irgendwo hin, sicher ist sicher 😉

    cp /boot/dtbs/rockchip/rk3566-quartz64-b.dtb /root
    

    Nun wandeln wir das File in ein lesbares Format um.

    dtc -I dtb -O dts -o /root/testfile.dts /root/rk3566-quartz64-b.dtb
    
    • -I dtb - Input format
    • -O dts - Output format
    • -o - Output file
    • und am Ende das Sourcefile

    Für mich etwas seltsamer Aufbau, so das ich immer durcheinander komme. Für mich wäre Quelle -> Ziel logischer. Aber gut, so schreibe ich das mal wieder hier hin, damit ich es beim nächsten Mal nachlesen kann.

    Wir bekommen ein File mit dem Namen testfile.dts

    .dts steht für Source File
    .dtb steht für Binär File

    Dieses File ist ein ganz normales Textfile, was wir nun lesen, ändern und speichern können.

            pmu {
                    compatible = "arm,cortex-a55-pmu";
                    interrupts = <0x00 0xe4 0x04 0x00 0xe5 0x04 0x00 0xe6 0x04 0x00 0xe7 0x04>;
                    interrupt-affinity = <0x06 0x07 0x08 0x09>;
            };
    
            psci {
                    compatible = "arm,psci-1.0";
                    method = "smc";
            };
    
            timer {
                    compatible = "arm,armv8-timer";
                    interrupts = <0x01 0x0d 0x04 0x01 0x0e 0x04 0x01 0x0b 0x04 0x01 0x0a 0x04>;
                    arm,no-tick-in-suspend;
            };
    
            xin24m {
                    compatible = "fixed-clock";
                    clock-frequency = <0x16e3600>;
                    clock-output-names = "xin24m";
                    #clock-cells = <0x00>;
                    phandle = <0xa8>;
            };
    
            xin32k {
                    compatible = "fixed-clock";
                    clock-frequency = <0x8000>;
                    clock-output-names = "xin32k";
                    pinctrl-0 = <0x0a>;
                    pinctrl-names = "default";
                    #clock-cells = <0x00>;
                    phandle = <0xa9>;
            };
    
            sram@10f000 {
                    compatible = "mmio-sram";
                    reg = <0x00 0x10f000 0x00 0x100>;
                    #address-cells = <0x01>;
                    #size-cells = <0x01>;
                    ranges = <0x00 0x00 0x10f000 0x100>;
    
                    sram@0 {
                            compatible = "arm,scmi-shmem";
                            reg = <0x00 0x100>;
                            phandle = <0x05>;
                    };
            };
    
            sata@fc400000 {
                    compatible = "snps,dwc-ahci";
                    reg = <0x00 0xfc400000 0x00 0x1000>;
                    clocks = <0x0b 0x9b 0x0b 0x9c 0x0b 0x9d>;
                    clock-names = "sata\0pmalive\0rxoob";
                    interrupts = <0x00 0x5f 0x04>;
                    interrupt-names = "hostc";
                    phys = <0x0c 0x01>;
                    phy-names = "sata-phy";
                    ports-implemented = <0x01>;
                    power-domains = <0x0d 0x0f>;
                    status = "okay";
                    phandle = <0xaa>;
            };
    

    wird fortgesetzt....

  • Teil 2

    Wir wollen aus dem Souce-File wieder ein .dtb machen.

     dtc -I dts -O dtb -o /root/rk3566-quartz64-b.dtb /root/testfile.dts
    
    • -I dts - Input format
    • -O dtb - Output format
    • -o - Output file
    • und am Ende das Sourcefile

    Wir drehen die beiden Parameter -I und -O um und passen die Files an. Danach kommen ganz viele Warnungen, so was hier

    /root/testfile.dts:1119.3-56: Warning (clocks_property): /mmc@fe2b0000:clocks: cell 0 is not a phandle reference
    /root/testfile.dts:1119.3-56: Warning (clocks_property): /mmc@fe2b0000:clocks: cell 2 is not a phandle reference
    

    Aber, da fehlen mir die Kenntnisse um beurteilen zu können, ob das funktioniert.

    Zum Schluss kopiert man das fertig geändert .dtb wieder in den /boot Ordner.

    cp /root/rk3566-quartz64-b.dtb /boot/dtbs/rockchip/
    

    Das Bord neustarten und hoffen 🙂

  • Ich weiß nicht, wonach ich gesucht habe, vermutlich nach

    apt install device-tree-compiler
    

    das gibt es im Manjaro Image nicht, es heißt ganz einfach dtc 😎 Also, ganz einfach mit

    pacman -S dtc
    

    installieren. Dann kann man sich diesen Umweg mit snapd sparen.

  • FrankMF FrankM verschob dieses Thema von Quartz64 am
  • FrankMF FrankM verschob dieses Thema von Quartz64 - A am
  • FrankMF FrankM hat dieses Thema am angepinnt
  • 188 Stimmen
    17 Beiträge
    39 Aufrufe
    cygnus@lemmy.caC
    Chepas, moi... Pourquoi pas G'b'ntu tant qu'à faire?
  • Nextcloud - Update 31.0.2

    Nextcloud nextcloud linux
    1
    0 Stimmen
    1 Beiträge
    160 Aufrufe
    Niemand hat geantwortet
  • Linux Mint Cinnamon 21.3 Virginia

    Linux linuxmint 21.3 linux wayland
    1
    2
    0 Stimmen
    1 Beiträge
    550 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Manjaro Test-Image

    Verschoben Archiv quartz64 pine64
    2
    6
    0 Stimmen
    2 Beiträge
    316 Aufrufe
    FrankMF
    Das mit der fehlenden Funktionalität ist zum Testen etwas blöd, ich mache das halt gerne mittels SSH. Mal in meiner Wühlkiste einen USB-to-LAN Adapter gesucht und gefunden. Der einzige USB-Port der aktuell funktioniert ist der doppelte USB2-Port. Der kombinierte USB2/USB3 macht nix. 6: eth1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0a:cd:2a:ec:37 brd ff:ff:ff:ff:ff:ff inet 192.168.3.220/24 brd 192.168.3.255 scope global dynamic noprefixroute eth1 valid_lft 42957sec preferred_lft 37557sec inet6 fd8a:6ff:2880:0:e751:542:6dcd:e08b/64 scope global mngtmpaddr noprefixroute valid_lft forever preferred_lft forever inet6 2a02:xxxxxxxxxxxxxxxxx/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 5259sec preferred_lft 1659sec inet6 fe80::aa11:dbfb:980:4dfa/64 scope link valid_lft forever preferred_lft forever Ok, jetzt kann man erst mal mit dem Quartz64 arbeiten
  • Kopia - Verbessertes UI in Arbeit

    Kopia kopia linux
    4
    0 Stimmen
    4 Beiträge
    484 Aufrufe
    FrankMF
    Nächste tolle Neuerung, man kann die Datensicherung jetzt sofort mounten. Sich alles ansehen usw. [image: 1599595077687-bildschirmfoto-vom-2020-09-08-21-56-39.png]
  • Logger

    Linux linux
    1
    0 Stimmen
    1 Beiträge
    436 Aufrufe
    Niemand hat geantwortet
  • Vorstellung von Joplin

    Linux linux
    3
    5
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF
    Heute das Ganze nochmal ausprobiert. Unter "Werkzeuge/Allgemeine Einstellungen" [image: 1539095579635-2541359f-78f0-4b14-b540-beddb80e7f45-grafik-resized.png] Danach auf "Synchronisieren" klicken. Nach kurzer Zeit fragt er nach dem fehlenden Passwort. Passwort eingeben und kurze Zeit später waren alle Daten wieder da. Diesmal ging das ruckzuck. Joplin 1.0.111 (prod, linux)
  • NodeBB - Update

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    712 Aufrufe
    Niemand hat geantwortet