[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a586680c-086d-4f4f-85f2-ab21d675c5a1@ixit.cz>
Date: Sat, 6 Dec 2025 13:37:43 +0100
From: David Heidelberg <david@...t.cz>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
Paul Sajna <sajattack@...tmarketos.org>, Sam Day <me@...cday.com>
Cc: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
phone-devel@...r.kernel.org, ~postmarketos/upstreaming@...ts.sr.ht,
Amir Dahan <system64fumo@...a.io>, Christopher Brown
<crispybrown@...il.com>, Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: Re: [PATCH v5 05/12] arm64: dts: qcom: sdm845-lg-judyln: Add display
panel
On 06/12/2025 03:09, Dmitry Baryshkov wrote:
> On Wed, Dec 03, 2025 at 01:40:54AM -0800, Paul Sajna wrote:
>> Also include other supporting msm drm nodes, including backlight
>>
>> Co-developed-by: Amir Dahan <system64fumo@...a.io>
>> Signed-off-by: Amir Dahan <system64fumo@...a.io>
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
>> Signed-off-by: Paul Sajna <sajattack@...tmarketos.org>
>> ---
>> arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 8 +--
>> arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 75 +++++++++++++++++++++-----
>> 2 files changed, 66 insertions(+), 17 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
>> index 165523db4d49..50921af83a51 100644
>> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
>> @@ -450,10 +450,6 @@ &cdsp_pas {
>> status = "okay";
>> };
>>
>> -&dispcc {
>> - status = "disabled";
>> -};
>> -
>> &gcc {
>> protected-clocks = <GCC_QSPI_CORE_CLK>,
>> <GCC_QSPI_CORE_CLK_SRC>,
>> @@ -517,6 +513,10 @@ led@5 {
>> };
>> };
>>
>> +&pmi8998_wled {
>> + status = "okay";
>> +};
>> +
>> &sdhc_2 {
>> cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>;
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
>> index 55bfddab3afd..506e6fe8e798 100644
>> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
>> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
>> @@ -13,19 +13,6 @@ / {
>> model = "LG G7 ThinQ";
>> compatible = "lg,judyln", "qcom,sdm845";
>>
>> - chosen {
>> - framebuffer@...00000 {
>> - compatible = "simple-framebuffer";
>> - reg = <0x0 0x9d400000 0x0 (1440 * 3120 * 4)>;
>> - width = <1440>;
>> - height = <3120>;
>> - stride = <(1440 * 4)>;
>> - format = "a8r8g8b8";
>> - lab-supply = <&lab>;
>> - ibb-supply = <&ibb>;
>> - };
>> - };
>
> I think, you can leave simple-fb in place. MSM driver should be able to
> replace it once it is loaded.
Any chance, do you know if the issue OnePlus had is then resolved?
===
/**
* HACK:
* Fake panel node for simple-framebuffer to calculate DPI from. Only
* needs width & height specified. This allows us to break device link
* from simplefb to mdss (implicitly via panel->mdp->mdss) to fix drm
* device probe ordering. Without this, simpledrm would probe second
* after msm-drm, and confuse userspace with 2 GPUs in /dev/dri.
* Alternative workaround is to boot with kernel parameter
* `fw_devlink=permissive`, which is worse, because it can hide other
* issues with device dependencies.
*/
panel = <&fb_panel>;
fb_panel: fb-panel {
width-mm = <68>;
height-mm = <145>;
};
===
Ref:
https://gitlab.com/sdm845/sdm845-next/-/commit/6a0a09c4dddc1b973209f5ffea086eb7a3fc24b9
Add Sam into CC.
David
>
>> -
>> /* Additional ThinQ key */
>> gpio-keys {
>> pinctrl-0 = <&vol_up_pin_a &thinq_key_default>;
>> @@ -67,6 +54,47 @@ &gpu_zap_shader {
>> firmware-name = "qcom/sdm845/judyln/a630_zap.mbn";
>> };
>>
>> +&mdss {
>> + status = "okay";
>> +};
>> +
>> +&mdss_dsi0 {
>> + vdda-supply = <&vdda_mipi_dsi0_1p2>;
>> +
>> + status = "okay";
>> +
>> + display_panel: panel@0 {
>> + reg = <0>;
>> + compatible = "lg,sw49410-lh609qh1", "lg,sw49410";
>> +
>> + backlight = <&pmi8998_wled>;
>> + reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
>> + width-mm = <65>;
>> + height-mm = <140>;
>> +
>> + pinctrl-0 = <&sde_dsi_active &sde_te_active_sleep>;
>> + pinctrl-1 = <&sde_dsi_sleep &sde_te_active_sleep>;
>> + pinctrl-names = "default", "sleep";
>> +
>> + port {
>> + panel_in: endpoint {
>> + remote-endpoint = <&mdss_dsi0_out>;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&mdss_dsi0_phy {
>> + vdds-supply = <&vdda_mipi_dsi0_pll>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&mdss_dsi0_out {
>> + remote-endpoint = <&panel_in>;
>> + data-lanes = <0 1 2 3>;
>> +};
>> +
>> &mss_pil {
>> firmware-name = "qcom/sdm845/judyln/mba.mbn", "qcom/sdm845/judyln/modem.mbn";
>> };
>> @@ -85,4 +113,25 @@ thinq_key_default: thinq-key-default-state {
>> drive-strength = <2>;
>> bias-pull-up;
>> };
>> +
>> + sde_dsi_active: sde-dsi-active-state {
>> + pins = "gpio6";
>> + function = "gpio";
>> + drive-strength = <8>;
>> + bias-disable;
>> + };
>> +
>> + sde_dsi_sleep: sde-dsi-sleep-state {
>> + pins = "gpio6";
>> + function = "gpio";
>> + drive-strength = <2>;
>> + bias-pull-down;
>> + };
>> +
>> + sde_te_active_sleep: sde-te-active-sleep-state {
>> + pins = "gpio10";
>> + function = "mdp_vsync";
>> + drive-strength = <2>;
>> + bias-pull-down;
>> + };
>> };
>>
>> --
>> 2.52.0
>>
>
--
David Heidelberg
Powered by blists - more mailing lists