[PATCH] ARM: dts: ux500-golden: Add S6E63M0 DSI display

Stephan Gerhold stephan at gerhold.net
Fri Aug 14 11:40:25 EDT 2020


On Mon, Aug 10, 2020 at 02:42:47PM +0200, Linus Walleij wrote:
> Add the Samsung S6E63M0 video mode DSI display to the
> Samsung GT-S8190/Golden mobile phone.
> 
> Cc: Stephan Gerhold <stephan at gerhold.net>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>  .../arm/boot/dts/ste-ux500-samsung-golden.dts | 91 +++++++++++++++++++
>  1 file changed, 91 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/ste-ux500-samsung-golden.dts b/arch/arm/boot/dts/ste-ux500-samsung-golden.dts
> index 5b499c0b2745..ef11603b6716 100644
> --- a/arch/arm/boot/dts/ste-ux500-samsung-golden.dts
> +++ b/arch/arm/boot/dts/ste-ux500-samsung-golden.dts
> @@ -290,6 +290,28 @@ ab8500_ldo_aux8 {
>  				};
>  			};
>  		};
> +
> +		mcde at a0350000 {
> +			status = "okay";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&dsi_default_mode>;
> +
> +			dsi-controller at a0351000 {
> +				panel at 0 {
> +					compatible = "samsung,s6e63m0";
> +					reg = <0>;
> +					vdd3-supply = <&panel_reg_3v0>;
> +					vci-supply = <&panel_reg_1v8>;
> +					reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
> +					/* ESD (electrostatic discharge) detection interrupt */
> +					interrupt-parent = <&gpio2>;
> +					interrupts = <18 IRQ_TYPE_EDGE_RISING>;
> +					interrupt-names = "esd";
> +					pinctrl-names = "default";
> +					pinctrl-0 = <&display_default_mode>;
> +				};
> +			};
> +		};
>  	};
>  
>  	gpio-keys {
> @@ -389,6 +411,40 @@ wl_reg_on: regulator-wl-reg-on {
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&wlan_en_default>;
>  	};
> +
> +	/* MIC5663 GPIO-controlled regulator */

Typo: should be MIC5366

> +	panel_reg_1v8: regulator-panel-1v8 {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "panel-fixed-supply";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		/* GPIO219 */
> +		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
> +
> +		startup-delay-us = <5000>;

The datasheet of MIC5366 [1] suggests max of 125us, maybe take 200us for
a bit more. But not sure if we really need 5ms?

[1]: http://ww1.microchip.com/downloads/en/DeviceDoc/mic5365.pdf

> +		enable-active-high;
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&panel_reg_default_mode>;
> +	};
> +
> +	/* MIC5663 GPIO-controlled regulator */
> +	panel_reg_3v0: regulator-panel-3v0 {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "panel-fixed-supply";
> +		regulator-min-microvolt = <3000000>;
> +		regulator-max-microvolt = <3000000>;
> +		/* GPIO219 */
> +		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
> +
> +		startup-delay-us = <5000>;
> +		enable-active-high;
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&panel_reg_default_mode>;
> +	};
>  };
>  
>  &pinctrl {
> @@ -431,6 +487,41 @@ golden_cfg1 {
>  		};
>  	};
>  
> +	mcde {
> +		dsi_default_mode: dsi_default {
> +			default_mux1 {
> +				/* Mux in VSI0 used for DSI TE */
> +				function = "lcd";
> +				groups =
> +				"lcdvsi0_a_1"; /* VSI0 for LCD */
> +			};
> +			default_cfg1 {
> +				pins =
> +				"GPIO68_E1"; /* VSI0 */
> +				ste,config = <&in_nopull>;
> +			};
> +		};
> +	};
> +
> +	display {
> +		display_default_mode: display_default {
> +			skomer_cfg1 {
> +				pins = "GPIO139_C9"; /* MIPI_DSI0_RESET_N */
> +				ste,config = <&gpio_out_lo>;
> +			};
> +			skomer_cfg2 {
> +				pins = "GPIO82_C1"; /* LDI_ESD_DET */
> +				ste,config = <&gpio_in_pu>;
> +			};

nit: should be golden_cfg, not skomer_cfg.

> +		};
> +		panel_reg_default_mode: panel_reg_default {
> +			skomer_cfg1 {
> +				pins = "GPIO219_AG10";

Maybe add a /* LCD_PWR_EN */ comment here for consistency with the
other pinctrl configurations.

> +				ste,config = <&gpio_out_lo>;
> +			};
> +		};
> +	};
> +
>  	proximity {
>  		proximity_default: proximity_default {
>  			golden_cfg1 {
> -- 
> 2.26.2
> 

Overall it seems to be working fine on my samsung-golden.

Thanks for all your work!
Stephan



More information about the linux-arm-kernel mailing list