Message ID | 20240715-x1e80100-crd-backlight-v2-3-31b7f2f658a3@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/panel: atna33xc20: Fix the Samsung ATNA45AF01 panel | expand |
On Mon, Jul 15, 2024 at 02:15:39PM +0200, Stephan Gerhold wrote: > The backlight does not work correctly with the current display panel > configuration: It works after boot, but once the display gets disabled it > is not possible to get it back on. It turns out that the ATNA45AF01 panel > needs exactly the same non-standard power sequence as implemented by the > panel-samsung-atna33xc20 driver for sc7180-trogdor-homestar. > > Switch the panel in the DT to the new compatible and make two more changes > to make it work correctly: > > 1. Add the missing GPIO for the panel EL_ON3 line (EDP_BL_EN on CRD and > enable-gpios in the DT). > 2. Drop the regulator-always-on for the panel regulator. The panel does > not seem to power off properly if the regulator stays on. > > Fixes: d7e03cce0400 ("arm64: dts: qcom: x1e80100-crd: Enable more support") > Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org> > --- > This can be applied as fix for 6.11 since the driver works as-is with the > fallback compatible. If so, the defconfig patch should ideally also go > there to ensure people actually have the driver enabled. Verified that I can change the brightness setting and that the backlight comes on again after being turned off (e.g. at suspend): Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org>
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts index 6152bcd0bc1f..4a4eb7211e69 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts +++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts @@ -268,7 +268,6 @@ vreg_edp_3p3: regulator-edp-3p3 { pinctrl-0 = <&edp_reg_en>; pinctrl-names = "default"; - regulator-always-on; regulator-boot-on; }; @@ -724,9 +723,13 @@ &mdss_dp3 { aux-bus { panel { - compatible = "edp-panel"; + compatible = "samsung,atna45af01", "samsung,atna33xc20"; + enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>; power-supply = <&vreg_edp_3p3>; + pinctrl-0 = <&edp_bl_en>; + pinctrl-names = "default"; + port { edp_panel_in: endpoint { remote-endpoint = <&mdss_dp3_out>; @@ -785,6 +788,16 @@ &pcie6a_phy { status = "okay"; }; +&pmc8380_3_gpios { + edp_bl_en: edp-bl-en-state { + pins = "gpio4"; + function = "normal"; + power-source = <1>; /* 1.8V */ + input-disable; + output-enable; + }; +}; + &qupv3_0 { status = "okay"; };