New hypotheses from re-comparing with the stock boot: - 'earlycon' (bare) brings up uart7 in setup_arch(), before the clock framework. Stock uses console=null and almost certainly leaves the QUP0 clock gated -> touching uart7 MMIO faults before any console. Drop earlycon + the serial console; keep console=tty0 only. - Also drop clk_ignore_unused / pd_ignore_unused (can break qcom power domain init) and ignore_loglevel stays for the fb console. - Move the simple-framebuffer out of /chosen and drop the #address-cells override there, so the bootloader's /memory + initrd patching into /chosen is not disturbed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP