Ok, that is what I did to make it work
- run the following on your dev x86 box
git clone https://git.linaro.org/people/manivannan.sadhasivam/hikey.git/
- install required packages
apt-get install -y libssl-dev bc flex bison \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
- Build hikey
cd hikey
make defconfig ARCH=arm64
make dtbs ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
# you should get hi3660-hikey960.dtb file
ls -la arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb
-
copy arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb to HiKey960
-
ssh to HiKey960
-
put new hi3660-hikey960.dtb to /boot/ and to /usr/lib/linux-image-4.19.5-hikey/hisilicon/
sudo cp hi3660-hikey960.dtb /boot/
sudo cp hi3660-hikey960.dtb /usr/lib/linux-image-4.19.5-hikey/hisilicon/
-
HDMI port does not work if you use HiKey960 + Debian. (only ssh works)
So, we can not interact with grub at boot time and we need to edit /boot/grub/grub.cfg and add devicetree line
-
Edit /boot/grub/grub.cfg
sudo chmod 644 /boot/grub/grub.cfg
sudo vi /boot/grub/grub.cfg
# Add "devicetree /boot/hi3660-hikey960.dtb" before "echo 'Loading Linux 4.19.5-hikey ...'"
# in all menuentry blocks
# You should get the following
...
devicetree /boot/hi3660-hikey960.dtb
echo 'Loading Linux 4.19.5-hikey ...'
linux /boot/vmlinuz-4.19.5-hikey root=UUID=51edd3ac-2b58-4d25-b9af-a64969e4bd6b ro
...
- Save /boot/grub/grub.cfg and reboot
sudo reboot
- ssh to the device in 1 min and check if device tree has mali
sudo apt install device-tree-compiler
sudo dtc -I fs /proc/device-tree | grep mali
#you should see
mali@E82C0000 {
compatible = "arm,malit6xx", "arm,mali-midgard";