Deeper comparison of our mainline DTB against the live LineageOS DTB and
the mainline Samsung Galaxy Tab S9 (SM8550) port turned up several
things the Motorola SM8550 firmware needs that mainline sm8550.dtsi does
not provide and the ABL does not reconstruct:
1. reserved-memory: chipinfo @ 0x81cf4000 and llcc_lpi @ 0xff800000 are
no-map in the stock DT but absent from mainline. Both fall inside a
HLOS DRAM bank, so Linux maps and uses firmware/hardware-owned memory
-> external abort -> SoC resets with no console (the <2s reboot). The
Samsung port hit the exact same "NoC error" from missing chipinfo /
LLCC carveouts.
2. __symbols__: build the DTB with dtc -@ (DTC_FLAGS_sm8550-motorola-rtwo
in the qcom Makefile). The SM8550 ABL runs libufdt against the base
DTB; without symbols it drops to the bootloader menu.
3. qcom_tzlog + arch_timer labels: same ABL dtbo-apply path requires
these two labels to exist (LKML "arm64: dts: qcom: sm8550: Fix DTBO
boot failure").
4. compatible: keep qcom,kalama-mtp / qcom,kalama / qcom,mtp next to
qcom,sm8550 - the ABL matches the board on these strings plus
qcom,board-id before launching the kernel.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP