Message ID | 1396468670-29774-2-git-send-email-eric@eukrea.com |
---|---|
State | Superseded |
Headers | show |
On 04/02/2014 12:57 PM, Eric Bénard wrote: > Signed-off-by: Eric Bénard <eric@eukrea.com> > Cc: Eric Nelson <eric.nelson@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@boundarydevices.com>
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
Signed-off-by: Eric Bénard <eric@eukrea.com> Cc: Eric Nelson <eric.nelson@boundarydevices.com> --- board/boundary/nitrogen6x/nitrogen6x.c | 61 ++-------------------------------- include/configs/nitrogen6x.h | 1 + 2 files changed, 4 insertions(+), 58 deletions(-)