Exhaustive comparison with the mainline Samsung Galaxy Tab S9 (SM8550)
port's development log turned up the concrete cause of the "<2s reboot,
no console" (TZBSP_ERR_FATAL_NOC_ERROR) and the reason USB would not
have come up afterwards:
1. gpio-reserved-ranges: the stock DT hands 17 TLMM pins to the
hypervisor / secure VMs (qcom,tlmm-vm-gpio-list: 13, 24-25, 44-48,
56-59, 86-87, 91, 133, 137). The mainline sm8550-tlmm probe walks
every GPIO's config registers; reading a hyp-owned one faults the
NoC -> TrustZone resets the SoC with no console. On the Samsung port
this was THE trigger and gpio-reserved-ranges was the fix.
2. qcom,select-utmi-as-pipe-clk on &usb_1: mandatory once the SuperSpeed
QMP PHY is removed from the dwc3 node - otherwise the core never
releases DCTL.CSFTRST (-ETIMEDOUT) and no usb0 appears. Confirmed by
the Qualcomm dwc3 glue binding and the Samsung port (its v0.15).
3. deviceinfo_initfs_compression=lz4:legacy: stock LineageOS packs both
Android-v4 ramdisks with LZ4 legacy (verified: init_boot magic
02214c18). A gzip stream concatenated after an LZ4-legacy one makes
the kernel unpacker fail with "invalid magic" -> panic
unknown-block(0,0).
Also: stock eUSB2 repeater peripheral-mode tuning (qcom,param-override-seq).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP