2022-02-08 08:21:15

by Bjorn Andersson

[permalink] [raw]
Subject: [PATCH 1/2] arm64: dts: qcom: c630: Add backlight controller

The Lenovo Yoga C630 uses the PWM controller in the TI SN65DSI86 bridge
chip to provide a signal for the backlight control and has TLMM GPIO 11
attached to some regulator that drives the backlight.

Unfortunately the regulator attached to this gpio is also powering the
camera, so turning off backlight result in the detachment of the camera
as well.

Signed-off-by: Bjorn Andersson <[email protected]>
---
arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
index 58845a14805f..55fb7302245b 100644
--- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
+++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
@@ -59,6 +59,7 @@ mode {
panel {
compatible = "boe,nv133fhm-n61";
no-hpd;
+ backlight = <&backlight>;

ports {
port {
@@ -98,6 +99,12 @@ sn65dsi86_refclk: sn65dsi86-refclk {

clock-frequency = <19200000>;
};
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&sn65dsi86 1000000>;
+ enable-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
+ };
};

&adsp_pas {
@@ -419,6 +426,7 @@ sn65dsi86: bridge@2c {
clock-names = "refclk";

no-hpd;
+ #pwm-cells = <1>;

ports {
#address-cells = <1>;
--
2.32.0



2022-02-09 06:12:54

by Steev Klimaszewski

[permalink] [raw]
Subject: Re: [PATCH 1/2] arm64: dts: qcom: c630: Add backlight controller


On 2/7/22 10:16 PM, Bjorn Andersson wrote:
> The Lenovo Yoga C630 uses the PWM controller in the TI SN65DSI86 bridge
> chip to provide a signal for the backlight control and has TLMM GPIO 11
> attached to some regulator that drives the backlight.
>
> Unfortunately the regulator attached to this gpio is also powering the
> camera, so turning off backlight result in the detachment of the camera
> as well.
>
> Signed-off-by: Bjorn Andersson <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> index 58845a14805f..55fb7302245b 100644
> --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> @@ -59,6 +59,7 @@ mode {
> panel {
> compatible = "boe,nv133fhm-n61";
> no-hpd;
> + backlight = <&backlight>;
>
> ports {
> port {
> @@ -98,6 +99,12 @@ sn65dsi86_refclk: sn65dsi86-refclk {
>
> clock-frequency = <19200000>;
> };
> +
> + backlight: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&sn65dsi86 1000000>;
> + enable-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
> + };
> };
>
> &adsp_pas {
> @@ -419,6 +426,7 @@ sn65dsi86: bridge@2c {
> clock-names = "refclk";
>
> no-hpd;
> + #pwm-cells = <1>;
>
> ports {
> #address-cells = <1>;
Tested-by: Steev Klimaszewski <[email protected]>

2022-02-09 09:51:50

by Bjorn Andersson

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: qcom: c630: Move panel to aux-bus

With the newly introduced aux-bus under the TI SN65DSI86 the panel
node should be described as a child instead of a standalone node, move
it there.

Signed-off-by: Bjorn Andersson <[email protected]>
---
.../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 27 +++++++++----------
1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
index 55fb7302245b..fd1261901ab5 100644
--- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
+++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
@@ -56,20 +56,6 @@ mode {
};
};

- panel {
- compatible = "boe,nv133fhm-n61";
- no-hpd;
- backlight = <&backlight>;
-
- ports {
- port {
- panel_in_edp: endpoint {
- remote-endpoint = <&sn65dsi86_out>;
- };
- };
- };
- };
-
/* Reserved memory changes for IPA */
reserved-memory {
wlan_msa_mem: memory@8c400000 {
@@ -446,6 +432,19 @@ sn65dsi86_out: endpoint {
};
};
};
+
+ aux-bus {
+ panel: panel {
+ compatible = "boe,nv133fhm-n61";
+ backlight = <&backlight>;
+
+ port {
+ panel_in_edp: endpoint {
+ remote-endpoint = <&sn65dsi86_out>;
+ };
+ };
+ };
+ };
};
};

--
2.32.0


2022-02-09 11:37:31

by Steev Klimaszewski

[permalink] [raw]
Subject: Re: [PATCH 2/2] arm64: dts: qcom: c630: Move panel to aux-bus


On 2/7/22 10:16 PM, Bjorn Andersson wrote:
> With the newly introduced aux-bus under the TI SN65DSI86 the panel
> node should be described as a child instead of a standalone node, move
> it there.
>
> Signed-off-by: Bjorn Andersson <[email protected]>
> ---
> .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 27 +++++++++----------
> 1 file changed, 13 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> index 55fb7302245b..fd1261901ab5 100644
> --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
> @@ -56,20 +56,6 @@ mode {
> };
> };
>
> - panel {
> - compatible = "boe,nv133fhm-n61";
> - no-hpd;
> - backlight = <&backlight>;
> -
> - ports {
> - port {
> - panel_in_edp: endpoint {
> - remote-endpoint = <&sn65dsi86_out>;
> - };
> - };
> - };
> - };
> -
> /* Reserved memory changes for IPA */
> reserved-memory {
> wlan_msa_mem: memory@8c400000 {
> @@ -446,6 +432,19 @@ sn65dsi86_out: endpoint {
> };
> };
> };
> +
> + aux-bus {
> + panel: panel {
> + compatible = "boe,nv133fhm-n61";
> + backlight = <&backlight>;
> +
> + port {
> + panel_in_edp: endpoint {
> + remote-endpoint = <&sn65dsi86_out>;
> + };
> + };
> + };
> + };
> };
> };
>
Tested-by: Steev Klimaszewski <[email protected]>