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:
@@ -5,7 +5,7 @@ maintainer="snlavaise <snlavaise@gmail.com>"
|
||||
_flavor="postmarketos-qcom-sm8550"
|
||||
pkgname=linux-$_flavor
|
||||
pkgver=7.2
|
||||
pkgrel=10
|
||||
pkgrel=11
|
||||
pkgdesc="Mainline kernel for Qualcomm SM8550 (Snapdragon 8 Gen 2) + Motorola rtwo"
|
||||
arch="aarch64"
|
||||
_carch="arm64"
|
||||
@@ -106,5 +106,5 @@ sha512sums="
|
||||
52d5aa7f94f6aa6141debf4ceb4fc7a2e75505a7cd38b8854e501be83c2b57863020f463f2fdb2fc93667e6cfe13274d077e5207a611e4797bd9404ee0e64c58 linux-postmarketos-qcom-sm8550-7.2.tar.gz
|
||||
f9ae52489f6b9e6fef64952943cd09732a5bef90a0e8765db03c256483028368687d6d5a1d80dd813a513e7e80d91f8b47f49b91cff67266b76f1d6275a7fea0 config-motorola-rtwo.aarch64
|
||||
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
|
||||
* (sm8550-sony-xperia-yodo-pdx234, same SoC, working mainline port):
|
||||
* - no /memory, no qcom,msm-id, no reserved-memory overrides, no
|
||||
* framebuffer - exactly like Sony (its Qualcomm bootloader injects
|
||||
* memory and passes the DT straight through)
|
||||
* - no /memory, no framebuffer - like Sony, the Qualcomm-derived
|
||||
* bootloader injects the memory banks and passes the DT through
|
||||
* - regulator tree copied VERBATIM from Sony, including the rails it
|
||||
* deliberately omits ("the board seems to crash on access")
|
||||
* - only the debug UART and USB (high-speed peripheral) are enabled,
|
||||
* 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/;
|
||||
@@ -30,6 +34,17 @@
|
||||
compatible = "motorola,rtwo", "qcom,sm8550";
|
||||
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 {
|
||||
serial0 = &uart7;
|
||||
};
|
||||
@@ -38,6 +53,23 @@
|
||||
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 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vph_pwr";
|
||||
|
||||
Reference in New Issue
Block a user