[PATCH 7/7] ARM: dts: exynos: k3g: Add display support

From: Markuss Broks
Date: Sun Jul 16 2023 - 18:08:58 EST


This device has Samsung S6E3FA2 DSI display installed,
this adds the device-tree bindings for it but two things
prevent it from being fully usable: one is a bug in Exynos5
DSI subsystem, which I believe is not tested properly;
the bug occurs randomly regardless of any variables, but it
seems to occur less if the Exynos DRM kernel module is loaded
later in the kernel boot process (the bug concludes in display
filling with static) ; another issue is that efforts
to support the S6E3FA2 panel are still going on, and the driver
for the panel is not in the kernel tree yet.

Signed-off-by: Markuss Broks <markuss.broks@xxxxxxxxx>
---
arch/arm/boot/dts/exynos5422-samsung-k3g.dts | 41 ++++++++++++++++++++
1 file changed, 41 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5422-samsung-k3g.dts b/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
index e019b630db94..954de392afbf 100644
--- a/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
+++ b/arch/arm/boot/dts/exynos5422-samsung-k3g.dts
@@ -203,6 +203,42 @@ &cpu4 {
cpu-supply = <&buck6_reg>;
};

+&mixer {
+ status = "okay";
+};
+
+&fimd {
+ status = "okay";
+ samsung,invert-vclk;
+};
+
+&dsi {
+ status = "okay";
+
+ samsung,pll-clock-frequency = <24000000>;
+ samsung,burst-clock-frequency = <500000000>;
+ samsung,esc-clock-frequency = <16000000>;
+
+ vddcore-supply = <&ldo8_reg>;
+ vddio-supply = <&ldo10_reg>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ reg = <0>;
+ compatible = "samsung,s6e3fa2";
+
+ reset-gpios = <&gpy7 4 GPIO_ACTIVE_LOW>;
+
+ vddio-supply = <&ldo25_reg>;
+ vdd-supply = <&ldo28_reg>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&display_reset>;
+ };
+};
+
&gpu {
status = "okay";
mali-supply = <&buck4_reg>;
@@ -839,6 +875,11 @@ touchkey_irq: touchkey-irq-pins {
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
};

+ display_reset: display-reset-pins {
+ samsung,pins = "gpy7-4";
+ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+ };
+
wlan_reset: wlan-reset {
samsung,pins = "gpy7-7";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
--
2.41.0