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 <[email protected]>
---
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
On 17/07/2023 00:05, Markuss Broks wrote:
> This device has Samsung S6E3FA2 DSI display installed,
Full stop.
> this adds the device-tree bindings for it but two things
Please do not use "This commit/patch", but imperative mood. See longer
explanation here:
https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95
> prevent it from being fully usable: one is a bug in Exynos5
> DSI subsystem, which I believe is not tested properly;
Full stop.
> 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
Full stop.
> 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 <[email protected]>
> ---
> 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 {
Mixed order.
> + 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";
Compatible is always the first property. Second is reg.
Best regards,
Krzysztof