[U-Boot] [PATCH 2/8] nitrogen6x: use common board_video_skip

Eric Nelson eric.nelson at boundarydevices.com
Fri Apr 4 02:57:04 CEST 2014


On 04/02/2014 12:57 PM, Eric Bénard wrote:
> Signed-off-by: Eric Bénard <eric at eukrea.com>
> Cc: Eric Nelson <eric.nelson at boundarydevices.com>
> ---
>   board/boundary/nitrogen6x/nitrogen6x.c | 61 ++--------------------------------
>   include/configs/nitrogen6x.h           |  1 +
>   2 files changed, 4 insertions(+), 58 deletions(-)
>
> diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
> index d9c05b0..1d96db1 100644
> --- a/board/boundary/nitrogen6x/nitrogen6x.c
> +++ b/board/boundary/nitrogen6x/nitrogen6x.c
> @@ -19,13 +19,12 @@
>   #include <asm/imx-common/mxc_i2c.h>
>   #include <asm/imx-common/sata.h>
>   #include <asm/imx-common/boot_mode.h>
> +#include <asm/imx-common/video.h>
>   #include <mmc.h>
>   #include <fsl_esdhc.h>
>   #include <micrel.h>
>   #include <miiphy.h>
>   #include <netdev.h>
> -#include <linux/fb.h>
> -#include <ipu_pixfmt.h>
>   #include <asm/arch/crm_regs.h>
>   #include <asm/arch/mxc_hdmi.h>
>   #include <i2c.h>
> @@ -446,16 +445,6 @@ static iomux_v3_cfg_t const rgb_pads[] = {
>   	MX6_PAD_DISP0_DAT23__IPU1_DISP0_DATA23,
>   };
>
> -struct display_info_t {
> -	int	bus;
> -	int	addr;
> -	int	pixfmt;
> -	int	(*detect)(struct display_info_t const *dev);
> -	void	(*enable)(struct display_info_t const *dev);
> -	struct	fb_videomode mode;
> -};
> -
> -
>   static int detect_hdmi(struct display_info_t const *dev)
>   {
>   	struct hdmi_regs *hdmi	= (struct hdmi_regs *)HDMI_ARB_BASE_ADDR;
> @@ -492,7 +481,7 @@ static void enable_rgb(struct display_info_t const *dev)
>   	gpio_direction_output(RGB_BACKLIGHT_GP, 1);
>   }
>
> -static struct display_info_t const displays[] = {{
> +struct display_info_t const displays[] = {{
>   	.bus	= -1,
>   	.addr	= 0,
>   	.pixfmt	= IPU_PIX_FMT_RGB24,
> @@ -573,51 +562,7 @@ static struct display_info_t const displays[] = {{
>   		.sync           = 0,
>   		.vmode          = FB_VMODE_NONINTERLACED
>   } } };
> -
> -int board_video_skip(void)
> -{
> -	int i;
> -	int ret;
> -	char const *panel = getenv("panel");
> -	if (!panel) {
> -		for (i = 0; i < ARRAY_SIZE(displays); i++) {
> -			struct display_info_t const *dev = displays+i;
> -			if (dev->detect(dev)) {
> -				panel = dev->mode.name;
> -				printf("auto-detected panel %s\n", panel);
> -				break;
> -			}
> -		}
> -		if (!panel) {
> -			panel = displays[0].mode.name;
> -			printf("No panel detected: default to %s\n", panel);
> -			i = 0;
> -		}
> -	} else {
> -		for (i = 0; i < ARRAY_SIZE(displays); i++) {
> -			if (!strcmp(panel, displays[i].mode.name))
> -				break;
> -		}
> -	}
> -	if (i < ARRAY_SIZE(displays)) {
> -		ret = ipuv3_fb_init(&displays[i].mode, 0,
> -				    displays[i].pixfmt);
> -		if (!ret) {
> -			displays[i].enable(displays+i);
> -			printf("Display: %s (%ux%u)\n",
> -			       displays[i].mode.name,
> -			       displays[i].mode.xres,
> -			       displays[i].mode.yres);
> -		} else {
> -			printf("LCD %s cannot be configured: %d\n",
> -			       displays[i].mode.name, ret);
> -		}
> -	} else {
> -		printf("unsupported panel %s\n", panel);
> -		ret = -EINVAL;
> -	}
> -	return (0 != ret);
> -}
> +size_t display_number = ARRAY_SIZE(displays);
>
>   static void setup_display(void)
>   {
> diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h
> index f2db8c5..e5f1e97 100644
> --- a/include/configs/nitrogen6x.h
> +++ b/include/configs/nitrogen6x.h
> @@ -141,6 +141,7 @@
>   #define CONFIG_CMD_HDMIDETECT
>   #define CONFIG_CONSOLE_MUX
>   #define CONFIG_IMX_HDMI
> +#define CONFIG_IMX_VIDEO_SKIP
>
>   /* allow to overwrite serial and ethaddr */
>   #define CONFIG_ENV_OVERWRITE
>

Outside of the nit-picks on the previous patch.

Acked-by: Eric Nelson <eric.nelson at boundarydevices.com>


More information about the U-Boot mailing list