motorola-rtwo: add qcom,msm-id + qcom,board-id + ramoops to the .dts

The Sony-modelled minimal DT was electrically correct (verified node by
node against the DTB LineageOS 23.2 actually boots: debug UART SE7,
eUSB2 phy+repeater, hsphy supplies pm8550vs_2_l1/l3 all match exactly)
but missing two things the stock firmware relies on:

 - qcom,msm-id = <0x218 0x20000 0x207 0x20000 0x207 0x10000 0x218 0x10000>
   qcom,board-id = <0x241 0xb1b0>
   The Motorola ABL selects a DTB out of a multi-FDT vendor_boot; without
   a matching SoC/board table it may reject our blob (-> no DT -> instant
   reset, which matches the <2s black-screen loop).

 - ramoops @ 0xae000000 (0x40000 console + 0x20000 record), copied from
   the stock DT. rtwo.config already builds CONFIG_PSTORE_RAM; with the
   node in place a failed boot's console can be read back from a later
   pmOS boot. No 'no-map' (arm64 ramoops needs the linear map).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QF5HebjUsRaxbW4cBX6HJP
This commit is contained in:
2026-09-09 01:09:17 -03:00
co-authored by Claude Sonnet 5
parent 187b52aa12
commit caac069a36
2 changed files with 37 additions and 5 deletions
@@ -5,7 +5,7 @@ maintainer="snlavaise <snlavaise@gmail.com>"
_flavor="postmarketos-qcom-sm8550" _flavor="postmarketos-qcom-sm8550"
pkgname=linux-$_flavor pkgname=linux-$_flavor
pkgver=7.2 pkgver=7.2
pkgrel=10 pkgrel=11
pkgdesc="Mainline kernel for Qualcomm SM8550 (Snapdragon 8 Gen 2) + Motorola rtwo" pkgdesc="Mainline kernel for Qualcomm SM8550 (Snapdragon 8 Gen 2) + Motorola rtwo"
arch="aarch64" arch="aarch64"
_carch="arm64" _carch="arm64"
@@ -106,5 +106,5 @@ sha512sums="
52d5aa7f94f6aa6141debf4ceb4fc7a2e75505a7cd38b8854e501be83c2b57863020f463f2fdb2fc93667e6cfe13274d077e5207a611e4797bd9404ee0e64c58 linux-postmarketos-qcom-sm8550-7.2.tar.gz 52d5aa7f94f6aa6141debf4ceb4fc7a2e75505a7cd38b8854e501be83c2b57863020f463f2fdb2fc93667e6cfe13274d077e5207a611e4797bd9404ee0e64c58 linux-postmarketos-qcom-sm8550-7.2.tar.gz
f9ae52489f6b9e6fef64952943cd09732a5bef90a0e8765db03c256483028368687d6d5a1d80dd813a513e7e80d91f8b47f49b91cff67266b76f1d6275a7fea0 config-motorola-rtwo.aarch64 f9ae52489f6b9e6fef64952943cd09732a5bef90a0e8765db03c256483028368687d6d5a1d80dd813a513e7e80d91f8b47f49b91cff67266b76f1d6275a7fea0 config-motorola-rtwo.aarch64
53441c23146d76bb0eaa358a25f6cce4f21740cfb65b755df52bbb218daf2cda30b3d80fa6ca4e283ea1afe2b0fa708307b678b421898100710b8fb99b08d6c5 rtwo.config 53441c23146d76bb0eaa358a25f6cce4f21740cfb65b755df52bbb218daf2cda30b3d80fa6ca4e283ea1afe2b0fa708307b678b421898100710b8fb99b08d6c5 rtwo.config
7399bf2dccbc1584258ea0f3fc19b062d26b4cef94f54cc5b36c8a139115d29c9e3459092fbd9fb7a1008173c7974516058b70b05fba48cf9d43dff8cda4507b sm8550-motorola-rtwo.dts 91f6a22d1c3ae0a2919cdc8d31adb3bb0ef8db0ba9e3b1608eeefc9460ccf19704d54e09338556aa735c3a875a73107785ab33a795d48ad86febc1abd3ad5aba sm8550-motorola-rtwo.dts
" "
@@ -4,13 +4,17 @@
* *
* MINIMAL bring-up DT, modelled on the mainline Sony Xperia 1 V * MINIMAL bring-up DT, modelled on the mainline Sony Xperia 1 V
* (sm8550-sony-xperia-yodo-pdx234, same SoC, working mainline port): * (sm8550-sony-xperia-yodo-pdx234, same SoC, working mainline port):
* - no /memory, no qcom,msm-id, no reserved-memory overrides, no * - no /memory, no framebuffer - like Sony, the Qualcomm-derived
* framebuffer - exactly like Sony (its Qualcomm bootloader injects * bootloader injects the memory banks and passes the DT through
* memory and passes the DT straight through)
* - regulator tree copied VERBATIM from Sony, including the rails it * - regulator tree copied VERBATIM from Sony, including the rails it
* deliberately omits ("the board seems to crash on access") * deliberately omits ("the board seems to crash on access")
* - only the debug UART and USB (high-speed peripheral) are enabled, * - only the debug UART and USB (high-speed peripheral) are enabled,
* enough to reach the initramfs and bring up USB networking * enough to reach the initramfs and bring up USB networking
*
* Unlike Sony, this DT does carry qcom,msm-id / qcom,board-id (the
* Motorola ABL selects a DTB from a multi-FDT vendor_boot) and a
* ramoops reserved-memory region (console survives a failed boot),
* both taken from the DT the stock firmware runs.
*/ */
/dts-v1/; /dts-v1/;
@@ -30,6 +34,17 @@
compatible = "motorola,rtwo", "qcom,sm8550"; compatible = "motorola,rtwo", "qcom,sm8550";
chassis-type = "handset"; chassis-type = "handset";
/*
* The Motorola ABL does DTB selection (its stock vendor_boot carries
* several concatenated FDTs). Carry the SoC/board match table from the
* DT the stock firmware runs so the bootloader accepts this blob:
* qcom,msm-id = <0x218 0x20000 0x207 0x20000 0x207 0x10000 0x218 0x10000>
* qcom,board-id = <0x241 0xb1b0>
*/
qcom,msm-id = <0x218 0x20000>, <0x207 0x20000>,
<0x207 0x10000>, <0x218 0x10000>;
qcom,board-id = <0x241 0xb1b0>;
aliases { aliases {
serial0 = &uart7; serial0 = &uart7;
}; };
@@ -38,6 +53,23 @@
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
/*
* pstore/ramoops: rtwo.config enables CONFIG_PSTORE_RAM, so a failed
* boot's console survives in this region and can be read back from a
* later pmOS boot (/sys/fs/pstore/console-ramoops-0). Region + sizes
* copied from the stock DT (0xae000000, 0x40000 console + 0x20000
* record = 0x60000). No 'no-map': on arm64 ramoops must stay in the
* linear map or memremap of the record area faults.
*/
reserved-memory {
ramoops@ae000000 {
compatible = "ramoops";
reg = <0x0 0xae000000 0x0 0x60000>;
console-size = <0x40000>;
record-size = <0x20000>;
};
};
vph_pwr: vph-pwr-regulator { vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vph_pwr"; regulator-name = "vph_pwr";