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.