Skip to content

device/main/{device-pine64-pinephone,u-boot-pinephone}: boot using original FDT (subpackage version)

Arnav Singh requested to merge Arnavion/pmaports:u-boot-1 into master

This change does two things:

  1. u-boot-pinephone is patched to use DTSs from the linux-postmarketos-allwinner kernel package instead of using the DTSs bundled with u-boot. Specifically it does this by copying them from the linux-postmarketos-allwinner-dts package, which is a new subpackage of linux-postmarketos-allwinner that contains the PinePhone-related DTS.

  2. device-pine64-pinephone's boot.scr is modified to pass the FDT built into u-boot to the kernel instead of loading the kernel package one from the boot device.

The reason to do this is that the FDT built into u-boot is modified by TF-A to add CPU idle states definitions durimg boot, and giving this FDT to the kernel instead of the kernel package one allows the CPU idle states to work.

Previously an attempt had been made in ae74e116 to achieve this by encoding those idle states as an FDT patch and applying that patch in boot.scr. However this doesn't actually work; the states are defined but the CPU never enters them. The approach of this commit does work; the states are defined and the CPU is able to enter them.

Fixes #1946 (closed)

Merge request reports