From: Stephan Gerhold <step...@gerhold.net>

Add the Samsung S6E88A0-AMS427AP24 panel to the device tree for the
Samsung Galaxy S4 Mini Value Edition. By default the panel displays
everything horizontally flipped, so add "flip-horizontal" to the panel
node to correct that.

Signed-off-by: Stephan Gerhold <step...@gerhold.net>
Co-developed-by: Jakob Hauser <ja...@rocketmail.com>
Signed-off-by: Jakob Hauser <ja...@rocketmail.com>
---
Patch base is kernel/git/qcom/linux.git current branch "arm64-for-6.13".

The panel driver was recently added to linux-next:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c?h=next-20241101

The associated dt-binding in linux-next is:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/display/panel/samsung,s6e88a0-ams427ap24.yaml?h=next-20241101
---
 .../dts/qcom/msm8916-samsung-serranove.dts    | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts 
b/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
index 5ce8f1350abc..caad1dead2e0 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
@@ -321,6 +321,41 @@ &blsp_uart2 {
        status = "okay";
 };
 
+&gpu {
+       status = "okay";
+};
+
+&mdss {
+       status = "okay";
+};
+
+&mdss_dsi0 {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&mdss_default>;
+       pinctrl-1 = <&mdss_sleep>;
+
+       panel@0 {
+               compatible = "samsung,s6e88a0-ams427ap24";
+               reg = <0>;
+
+               vdd3-supply = <&pm8916_l17>;
+               vci-supply = <&pm8916_l6>;
+               reset-gpios = <&tlmm 25 GPIO_ACTIVE_LOW>;
+               flip-horizontal;
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <&mdss_dsi0_out>;
+                       };
+               };
+       };
+};
+
+&mdss_dsi0_out {
+       data-lanes = <0 1>;
+       remote-endpoint = <&panel_in>;
+};
+
 &mpss_mem {
        reg = <0x0 0x86800000 0x0 0x5a00000>;
 };
@@ -330,6 +365,13 @@ &pm8916_resin {
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_rpm_regulators {
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+};
+
 &pm8916_vib {
        status = "okay";
 };
@@ -425,6 +467,22 @@ imu_irq_default: imu-irq-default-state {
                bias-disable;
        };
 
+       mdss_default: mdss-default-state {
+               pins = "gpio25";
+               function = "gpio";
+
+               drive-strength = <8>;
+               bias-disable;
+       };
+
+       mdss_sleep: mdss-sleep-state {
+               pins = "gpio25";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-pull-down;
+       };
+
        muic_i2c_default: muic-i2c-default-state {
                pins = "gpio105", "gpio106";
                function = "gpio";
-- 
2.39.5


Reply via email to