05-09-2017, 09:52 AM
(05-09-2017, 09:34 AM)mtk Wrote: I changed the CPU frequency by rewriting /boot/pine64/sun50i-a64-pine64-pinebook.dtb.
Create a dts file with the dtc command of the device-tree-compiler package.
I rewritten the dts file and created the dtb file with the dtc command.
It became dtb which does not boot with device-tree-compiler package of PINEBOOK (Ubuntu 16.04.2 LTS aarch64).
Creating dts/dtb using Debian sid amd64 's device-tree-compiler package worked fine.
Code:pinebook$ cp /boot/pine64/sun50i-a64-pine64-pinebook.dtb sun50i-a64-pine64-pinebook.dtb.org
Code:debian$ sudo apt install device-tree-compiler debian$ dtc -I dtb sun50i-a64-pine64-pinebook.dtb.org -O dts -o sun50i-a64-pine64-pinebook.dts debian$ vi sun50i-a64-pine64-pinebook.dts debian$ dtc -I dtb sun50i-a64-pine64-pinebook.dtb.org -O dts | diff -u - ./sun50i-a64-pine64-pinebook.dts --- - 2017-05-09 15:06:37.370030389 +0000 +++ ./sun50i-a64-pine64-pinebook.dts 2017-05-08 18:55:23.000000000 +0000 @@ -2737,7 +2737,7 @@ status = "okay"; state_cnt = <0x7>; cluster_num = <0x1>; - state0 = <0x119400 0x4>; + state0 = <0x148200 0x4>; state1 = <0x10d880 0x4>; state2 = <0xf6180 0x4>; state3 = <0xc7380 0x4>; @@ -3382,10 +3382,10 @@ dvfs_table { compatible = "allwinner,dvfs_table"; - max_freq = <0x44aa2000>; + max_freq = <0x501bd000>; min_freq = <0x1c9c3800>; lv_count = <0x8>; - lv1_freq = <0x44aa2000>; + lv1_freq = <0x501bd000>; lv1_volt = <0x514>; lv2_freq = <0x41cdb400>; lv2_volt = <0x4ec>; debian$ dtc ./pine64pinebook.dts -o ./pine64pinebook.dtb
Code:pinebook$ sudo cp ./pine64pinebook.dtb /boot/pine64/sun50i-a64-pine64-pinebook.dtb pinebook$ sudo reboot
sun50i-a64-pine64-pinebook.dts https://gist.github.com/679c0f86d8c28507...9462dd2d10
sun50i-a64-pine64-pinebook.dtb.base64 https://gist.github.com/be63cad2c491875e...90ee4cd837
Please see here and report back.

