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

Markuss Broks markuss.broks at gmail.com
Sun Jul 16 15:05:09 PDT 2023


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 at gmail.com>
---
 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 at 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




More information about the linux-arm-kernel mailing list