[PATCH v2 11/13] arm64: dts: qcom: sdm845-lg-common: Add bootloader-compatible board and MSM IDs

Paul Sajna posted 13 patches 2 weeks, 1 day ago
There is a newer version of this series
[PATCH v2 11/13] arm64: dts: qcom: sdm845-lg-common: Add bootloader-compatible board and MSM IDs
Posted by Paul Sajna 2 weeks, 1 day ago
The original bootloader (fastboot) requires board and MSM IDs in order
to boot the kernel, so these have been added. When re-using the same
files to chainload U-Boot, these compatibles are also needed to ensure
proper booting.

Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
---
 arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 2 ++
 arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts  | 1 +
 2 files changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
index 1baec758c7d881026bf6001a0a305687d7a14b40..a513cd931b3a984443183ee4e8df7b0e45732630 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
@@ -5,6 +5,7 @@
  * Copyright (c) 2022, The Linux Foundation. All rights reserved.
  */
 
+#include <dt-bindings/arm/qcom,ids.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/leds/common.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
@@ -29,6 +30,7 @@
 
 / {
 	chassis-type = "handset";
+	qcom,msm-id = <QCOM_ID_SDM845 0x20001>;
 
 	aliases {
 		serial0 = &uart9;
diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
index 8c1692f86e6ceea7b718361965e78f95d39373bb..beb1372dc6c17f5f06c2044412ee1c8165858cd1 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
@@ -12,6 +12,7 @@
 / {
 	model = "LG G7 ThinQ";
 	compatible = "lg,judyln", "qcom,sdm845";
+	qcom,board-id = <0x020C0008 0>;
 
 	chosen {
 		framebuffer@9d400000 {

-- 
2.51.0
Re: [PATCH v2 11/13] arm64: dts: qcom: sdm845-lg-common: Add bootloader-compatible board and MSM IDs
Posted by Konrad Dybcio 2 weeks ago
On 9/17/25 3:09 AM, Paul Sajna wrote:
> The original bootloader (fastboot) requires board and MSM IDs in order
> to boot the kernel, so these have been added. When re-using the same
> files to chainload U-Boot, these compatibles are also needed to ensure
> proper booting.
> 
> Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 2 ++
>  arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts  | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> index 1baec758c7d881026bf6001a0a305687d7a14b40..a513cd931b3a984443183ee4e8df7b0e45732630 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> @@ -5,6 +5,7 @@
>   * Copyright (c) 2022, The Linux Foundation. All rights reserved.
>   */
>  
> +#include <dt-bindings/arm/qcom,ids.h>
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/leds/common.h>
>  #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> @@ -29,6 +30,7 @@
>  
>  / {
>  	chassis-type = "handset";
> +	qcom,msm-id = <QCOM_ID_SDM845 0x20001>;
>  
>  	aliases {
>  		serial0 = &uart9;
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> index 8c1692f86e6ceea7b718361965e78f95d39373bb..beb1372dc6c17f5f06c2044412ee1c8165858cd1 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> @@ -12,6 +12,7 @@
>  / {
>  	model = "LG G7 ThinQ";
>  	compatible = "lg,judyln", "qcom,sdm845";
> +	qcom,board-id = <0x020C0008 0>;

This is almost QCOM_BOARD_ID(MTP, 12, 0), except for the odd BIT(25)
which the dt-binding promises should be left unused..

+Stephan maybe you know more?

Konrad
Re: [PATCH v2 11/13] arm64: dts: qcom: sdm845-lg-common: Add bootloader-compatible board and MSM IDs
Posted by Stephan Gerhold 2 weeks ago
On Wed, Sep 17, 2025 at 03:55:47PM +0200, Konrad Dybcio wrote:
> On 9/17/25 3:09 AM, Paul Sajna wrote:
> > The original bootloader (fastboot) requires board and MSM IDs in order
> > to boot the kernel, so these have been added. When re-using the same
> > files to chainload U-Boot, these compatibles are also needed to ensure
> > proper booting.
> > 
> > Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 2 ++
> >  arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts  | 1 +
> >  2 files changed, 3 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> > index 1baec758c7d881026bf6001a0a305687d7a14b40..a513cd931b3a984443183ee4e8df7b0e45732630 100644
> > --- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
> > @@ -5,6 +5,7 @@
> >   * Copyright (c) 2022, The Linux Foundation. All rights reserved.
> >   */
> >  
> > +#include <dt-bindings/arm/qcom,ids.h>
> >  #include <dt-bindings/gpio/gpio.h>
> >  #include <dt-bindings/leds/common.h>
> >  #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> > @@ -29,6 +30,7 @@
> >  
> >  / {
> >  	chassis-type = "handset";
> > +	qcom,msm-id = <QCOM_ID_SDM845 0x20001>;
> >  
> >  	aliases {
> >  		serial0 = &uart9;
> > diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> > index 8c1692f86e6ceea7b718361965e78f95d39373bb..beb1372dc6c17f5f06c2044412ee1c8165858cd1 100644
> > --- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> > +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> > @@ -12,6 +12,7 @@
> >  / {
> >  	model = "LG G7 ThinQ";
> >  	compatible = "lg,judyln", "qcom,sdm845";
> > +	qcom,board-id = <0x020C0008 0>;
> 
> This is almost QCOM_BOARD_ID(MTP, 12, 0), except for the odd BIT(25)
> which the dt-binding promises should be left unused..
> 
> +Stephan maybe you know more?
> 

I'm not sure what BIT(25) is exactly, but I think you can generally give
up any hope of trying to make sense of the board IDs of large vendors
like LG, Samsung, Motorola etc. It's a pity that Qualcomm has never
created a board ID scheme with enough room for customization for
vendors. The qcom,board-id scheme seems to be entirely focused just
around Qualcomm's own boards (MTP, QRD, SBC etc). That is why we ended
up with every vendor using their own incompatible approach. :-(

Sorry, I wish I had a better explanation. :-)

Stephan