Power-Domain handling causes boot to hang on some i.MX8MM devices
The GPCv2 (Generic Power Controller) hardware block in the i.MX8MM is also responsible for isolating some of the SoCs subsystems (GPU, MIPI/DISP, CSI, VPU, PCIe, USB) to save power when they are not used. Further there is the BLK-CTRL block, that also controls some clocks and resets for some of the subsystems. The handling of these power domains needs to be implemented in the kernel. Because of NXP's insufficient documentation, unexpected and unclear behavior of the hardware and other issues there is still no stable implementation in the mainline Linux kernel.
In some cases and on some boards, the incorrect handling of the power domains can lead to lockups of the system during boot. Or when ceratin peripherals (e. g. GPU) are turned on.
Edited by Frieder Schrempf