Commit a0e6fbf2 authored by Stephan Gerhold's avatar Stephan Gerhold Committed by Bjorn Andersson

arm64: dts: qcom: x1e80100-crd: Fix backlight

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: d7e03cce ("arm64: dts: qcom: x1e80100-crd: Enable more support")
Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: default avatarStephan Gerhold <stephan.gerhold@linaro.org>
Reviewed-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Tested-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240715-x1e80100-crd-backlight-v2-3-31b7f2f658a3@linaro.orgSigned-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 86c71c0e
...@@ -268,7 +268,6 @@ vreg_edp_3p3: regulator-edp-3p3 { ...@@ -268,7 +268,6 @@ vreg_edp_3p3: regulator-edp-3p3 {
pinctrl-0 = <&edp_reg_en>; pinctrl-0 = <&edp_reg_en>;
pinctrl-names = "default"; pinctrl-names = "default";
regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
...@@ -724,9 +723,13 @@ &mdss_dp3 { ...@@ -724,9 +723,13 @@ &mdss_dp3 {
aux-bus { aux-bus {
panel { panel {
compatible = "edp-panel"; compatible = "samsung,atna45af01", "samsung,atna33xc20";
enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
power-supply = <&vreg_edp_3p3>; power-supply = <&vreg_edp_3p3>;
pinctrl-0 = <&edp_bl_en>;
pinctrl-names = "default";
port { port {
edp_panel_in: endpoint { edp_panel_in: endpoint {
remote-endpoint = <&mdss_dp3_out>; remote-endpoint = <&mdss_dp3_out>;
...@@ -791,6 +794,16 @@ &pcie6a_phy { ...@@ -791,6 +794,16 @@ &pcie6a_phy {
status = "okay"; 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 { &qupv3_0 {
status = "okay"; status = "okay";
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment