[U-Boot] [PATCH 2/4] video: tegra: Move to using simple-panel and pwm-backlight

Stephen Warren swarren at wwwdotorg.org
Mon Jan 18 20:43:45 CET 2016


On 01/14/2016 01:26 PM, Simon Glass wrote:
> We have standard drivers for panels and backlights which can do most of the
> work for us. Move the tegra20 LCD driver over to use those instead of custom
> code.
>
> This patch includes device tree changes for the nvidia boards. I have only
> been able to test seaboard. If this patch is applied, these boards will
> also need to be synced with the kernel, and updated to use display-timings:
>
>     - colibri
>     - medcom-wide
>     - paz00
>     - tec

> diff --git a/arch/arm/dts/tegra20-harmony.dts b/arch/arm/dts/tegra20-harmony.dts

This file has huge changes unrelated to panel, video, and backlight. 
Perhaps patch 1/4 was meant to sync the DTs for Harmony and Ventana too 
rather than just Seaboard, leaving this commit to make roughly identical 
DT changes for all 3 boards?

> diff --git a/arch/arm/dts/tegra20-seaboard.dts b/arch/arm/dts/tegra20-seaboard.dts

> +
> +				display-timings {
> +					timing at 0 {
> +						/* Seaboard has 1366x768 */
> +						clock-frequency = <70600000>;
> +						hactive = <1366>;
> +						vactive = <768>;
> +						hback-porch = <58>;
> +						hfront-porch = <58>;
> +						hsync-len = <58>;
> +						vback-porch = <4>;
> +						vfront-porch = <4>;
> +						vsync-len = <4>;
> +						hsync-active = <1>;
> +					};
> +				};

It seems very strange to go to the effort of creating patch 1 to sync 
the U-Boot and Linux DT files (such that I assume they're 100% 
identical?) yet immediately have patch 2 diverge the two DTs again.

This lends more weight to my argument that the U-Boot DTs should contain 
only nodes that U-Boot actively uses. I can see the argument for copying 
over the entire DT from Linux into U-Boot in order to keep them 100% 
identical, and in turn that means importing a bunch of DT content that 
U-Boot doesn't use. However, that argument completely breaks down if the 
DTs are just going to diverge still.

At least the display-timings node is a standard binding, even if it 
isn't one that the Linux Tegra DTs make use of.

> diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig
> index 14125b4..0de56a9 100644
> --- a/configs/harmony_defconfig
> +++ b/configs/harmony_defconfig
> @@ -12,9 +12,11 @@ CONFIG_SYS_PROMPT="Tegra20 (Harmony) # "
>   CONFIG_CMD_GPIO=y
>   # CONFIG_CMD_SETEXPR is not set
>   # CONFIG_CMD_NFS is not set
> +CONFIG_CMD_PMIC=y
> +CONFIG_CMD_REGULATOR=y
>   CONFIG_DM_PMIC=y
>   CONFIG_DM_REGULATOR=y
> -CONFIG_DM_PWM=y
> +CONFIG_DM_REGULATOR_FIXED=y
>   CONFIG_PWM_TEGRA=y
>   CONFIG_SYS_NS16550=y
>   CONFIG_USB=y
> @@ -22,3 +24,4 @@ CONFIG_DM_USB=y
>   CONFIG_DM_VIDEO=y
>   CONFIG_VIDEO_TEGRA20=y
>   CONFIG_USE_PRIVATE_LIBGCC=y
> +CONFIG_ERRNO_STR=y

I assume those are all needed by the modified Tegra video/LCD driver. If 
so, wouldn't it make sense for that driver to select those Kconfig 
options rather than requiring every board defconfig to be modified to 
enable the features?


More information about the U-Boot mailing list