From 720927249788826e0e72c3c6ee3b696a0188ed4d Mon Sep 17 00:00:00 2001 From: John Keeping Date: Wed, 7 Sep 2022 12:06:32 +0100 Subject: [PATCH 01/59] video: dw_mipi_dsi: fix [hv]sync active vs back porch The wrong fields are pulled out of the timings here so the values programmed into the DSI_VID_HSA_LINES/DSI_VID_HBP_LINES and DSI_VID_VSA_LINES/DSI_VID_VBP_LINES registers are swapped. Use the right fields so that the correct values are programmed. Fixes: d4f7ea83fc ("video: add MIPI DSI host controller bridge") Signed-off-by: John Keeping --- drivers/video/dw_mipi_dsi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/video/dw_mipi_dsi.c b/drivers/video/dw_mipi_dsi.c index a5b38acabdb..6d9c5a94761 100644 --- a/drivers/video/dw_mipi_dsi.c +++ b/drivers/video/dw_mipi_dsi.c @@ -621,8 +621,8 @@ static void dw_mipi_dsi_line_timer_config(struct dw_mipi_dsi *dsi, htotal = timings->hactive.typ + timings->hfront_porch.typ + timings->hback_porch.typ + timings->hsync_len.typ; - hsa = timings->hback_porch.typ; - hbp = timings->hsync_len.typ; + hsa = timings->hsync_len.typ; + hbp = timings->hback_porch.typ; /* * TODO dw drv improvements @@ -644,9 +644,9 @@ static void dw_mipi_dsi_vertical_timing_config(struct dw_mipi_dsi *dsi, u32 vactive, vsa, vfp, vbp; vactive = timings->vactive.typ; - vsa = timings->vback_porch.typ; + vsa = timings->vsync_len.typ; vfp = timings->vfront_porch.typ; - vbp = timings->vsync_len.typ; + vbp = timings->vback_porch.typ; dsi_write(dsi, DSI_VID_VACTIVE_LINES, vactive); dsi_write(dsi, DSI_VID_VSA_LINES, vsa); From db2c8ed3a5850e64fcf612d099ce7b22c480a752 Mon Sep 17 00:00:00 2001 From: Takumi Sueda Date: Tue, 13 Sep 2022 18:32:42 +0900 Subject: [PATCH 02/59] video: simplefb: add rotation support It introduces the way to rotate the screen for boards with rotated screen. Signed-off-by: Takumi Sueda --- drivers/video/simplefb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/video/simplefb.c b/drivers/video/simplefb.c index 2b0d8835e38..235ec761f70 100644 --- a/drivers/video/simplefb.c +++ b/drivers/video/simplefb.c @@ -43,7 +43,11 @@ static int simple_video_probe(struct udevice *dev) uc_priv->xsize = fdtdec_get_uint(blob, node, "width", 0); uc_priv->ysize = fdtdec_get_uint(blob, node, "height", 0); - uc_priv->rot = 0; + uc_priv->rot = fdtdec_get_uint(blob, node, "rot", 0); + if (uc_priv->rot > 3) { + log_debug("%s: invalid rot\n", __func__); + return log_msg_ret("rot", -EINVAL); + } format = fdt_getprop(blob, node, "format", NULL); debug("%s: %dx%d@%s\n", __func__, uc_priv->xsize, uc_priv->ysize, format); From a032e4b55ea717fb931dd0d4754cf72b9bafe2f4 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:03 -0600 Subject: [PATCH 03/59] video: Move console colours to the video uclass At present these are attached to vidconsole which means that the video uclass requires that a console is enabled. This is not the intention. The colours are a reasonable way of indexing common colours in any case, so move them to the video uclass instead. Rename vid_console_color() to video_index_to_colour() now that it is more generic. Also fix the inconsistent spelling in these functions. Signed-off-by: Simon Glass --- drivers/video/vidconsole-uclass.c | 74 +++---------------------------- drivers/video/video-uclass.c | 66 ++++++++++++++++++++++++++- include/video.h | 35 +++++++++++++++ include/video_console.h | 37 ---------------- 4 files changed, 104 insertions(+), 108 deletions(-) diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c index f42db40d4cd..f67027c67be 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -19,15 +19,6 @@ #include /* Bitmap font for code page 437 */ #include -/* - * Structure to describe a console color - */ -struct vid_rgb { - u32 r; - u32 g; - u32 b; -}; - /* By default we scroll by a single line */ #ifndef CONFIG_CONSOLE_SCROLL_LINES #define CONFIG_CONSOLE_SCROLL_LINES 1 @@ -124,61 +115,6 @@ static void vidconsole_newline(struct udevice *dev) } } -static const struct vid_rgb colors[VID_COLOR_COUNT] = { - { 0x00, 0x00, 0x00 }, /* black */ - { 0xc0, 0x00, 0x00 }, /* red */ - { 0x00, 0xc0, 0x00 }, /* green */ - { 0xc0, 0x60, 0x00 }, /* brown */ - { 0x00, 0x00, 0xc0 }, /* blue */ - { 0xc0, 0x00, 0xc0 }, /* magenta */ - { 0x00, 0xc0, 0xc0 }, /* cyan */ - { 0xc0, 0xc0, 0xc0 }, /* light gray */ - { 0x80, 0x80, 0x80 }, /* gray */ - { 0xff, 0x00, 0x00 }, /* bright red */ - { 0x00, 0xff, 0x00 }, /* bright green */ - { 0xff, 0xff, 0x00 }, /* yellow */ - { 0x00, 0x00, 0xff }, /* bright blue */ - { 0xff, 0x00, 0xff }, /* bright magenta */ - { 0x00, 0xff, 0xff }, /* bright cyan */ - { 0xff, 0xff, 0xff }, /* white */ -}; - -u32 vid_console_color(struct video_priv *priv, unsigned int idx) -{ - switch (priv->bpix) { - case VIDEO_BPP16: - if (CONFIG_IS_ENABLED(VIDEO_BPP16)) { - return ((colors[idx].r >> 3) << 11) | - ((colors[idx].g >> 2) << 5) | - ((colors[idx].b >> 3) << 0); - } - break; - case VIDEO_BPP32: - if (CONFIG_IS_ENABLED(VIDEO_BPP32)) { - if (priv->format == VIDEO_X2R10G10B10) - return (colors[idx].r << 22) | - (colors[idx].g << 12) | - (colors[idx].b << 2); - else - return (colors[idx].r << 16) | - (colors[idx].g << 8) | - (colors[idx].b << 0); - } - break; - default: - break; - } - - /* - * For unknown bit arrangements just support - * black and white. - */ - if (idx) - return 0xffffff; /* white */ - - return 0x000000; /* black */ -} - static char *parsenum(char *s, int *num) { char *end; @@ -441,28 +377,28 @@ static void vidconsole_escape_char(struct udevice *dev, char ch) case 1: /* bold */ vid_priv->fg_col_idx |= 8; - vid_priv->colour_fg = vid_console_color( + vid_priv->colour_fg = video_index_to_colour( vid_priv, vid_priv->fg_col_idx); break; case 7: /* reverse video */ - vid_priv->colour_fg = vid_console_color( + vid_priv->colour_fg = video_index_to_colour( vid_priv, vid_priv->bg_col_idx); - vid_priv->colour_bg = vid_console_color( + vid_priv->colour_bg = video_index_to_colour( vid_priv, vid_priv->fg_col_idx); break; case 30 ... 37: /* foreground color */ vid_priv->fg_col_idx &= ~7; vid_priv->fg_col_idx |= val - 30; - vid_priv->colour_fg = vid_console_color( + vid_priv->colour_fg = video_index_to_colour( vid_priv, vid_priv->fg_col_idx); break; case 40 ... 47: /* background color, also mask the bold bit */ vid_priv->bg_col_idx &= ~0xf; vid_priv->bg_col_idx |= val - 40; - vid_priv->colour_bg = vid_console_color( + vid_priv->colour_bg = video_index_to_colour( vid_priv, vid_priv->bg_col_idx); break; default: diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index 01e8af5ac67..b258a8a00fc 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -64,6 +64,13 @@ struct video_uc_priv { ulong video_ptr; }; +/** struct vid_rgb - Describes a video colour */ +struct vid_rgb { + u32 r; + u32 g; + u32 b; +}; + void video_set_flush_dcache(struct udevice *dev, bool flush) { struct video_priv *priv = dev_get_uclass_priv(dev); @@ -154,6 +161,61 @@ int video_clear(struct udevice *dev) return video_sync(dev, false); } +static const struct vid_rgb colours[VID_COLOUR_COUNT] = { + { 0x00, 0x00, 0x00 }, /* black */ + { 0xc0, 0x00, 0x00 }, /* red */ + { 0x00, 0xc0, 0x00 }, /* green */ + { 0xc0, 0x60, 0x00 }, /* brown */ + { 0x00, 0x00, 0xc0 }, /* blue */ + { 0xc0, 0x00, 0xc0 }, /* magenta */ + { 0x00, 0xc0, 0xc0 }, /* cyan */ + { 0xc0, 0xc0, 0xc0 }, /* light gray */ + { 0x80, 0x80, 0x80 }, /* gray */ + { 0xff, 0x00, 0x00 }, /* bright red */ + { 0x00, 0xff, 0x00 }, /* bright green */ + { 0xff, 0xff, 0x00 }, /* yellow */ + { 0x00, 0x00, 0xff }, /* bright blue */ + { 0xff, 0x00, 0xff }, /* bright magenta */ + { 0x00, 0xff, 0xff }, /* bright cyan */ + { 0xff, 0xff, 0xff }, /* white */ +}; + +u32 video_index_to_colour(struct video_priv *priv, unsigned int idx) +{ + switch (priv->bpix) { + case VIDEO_BPP16: + if (CONFIG_IS_ENABLED(VIDEO_BPP16)) { + return ((colours[idx].r >> 3) << 11) | + ((colours[idx].g >> 2) << 5) | + ((colours[idx].b >> 3) << 0); + } + break; + case VIDEO_BPP32: + if (CONFIG_IS_ENABLED(VIDEO_BPP32)) { + if (priv->format == VIDEO_X2R10G10B10) + return (colours[idx].r << 22) | + (colours[idx].g << 12) | + (colours[idx].b << 2); + else + return (colours[idx].r << 16) | + (colours[idx].g << 8) | + (colours[idx].b << 0); + } + break; + default: + break; + } + + /* + * For unknown bit arrangements just support + * black and white. + */ + if (idx) + return 0xffffff; /* white */ + + return 0x000000; /* black */ +} + void video_set_default_colors(struct udevice *dev, bool invert) { struct video_priv *priv = dev_get_uclass_priv(dev); @@ -176,8 +238,8 @@ void video_set_default_colors(struct udevice *dev, bool invert) } priv->fg_col_idx = fore; priv->bg_col_idx = back; - priv->colour_fg = vid_console_color(priv, fore); - priv->colour_bg = vid_console_color(priv, back); + priv->colour_fg = video_index_to_colour(priv, fore); + priv->colour_bg = video_index_to_colour(priv, back); } /* Flush video activity to the caches */ diff --git a/include/video.h b/include/video.h index 43e2c899778..1c30aea73c0 100644 --- a/include/video.h +++ b/include/video.h @@ -131,6 +131,41 @@ struct video_ops { #define video_get_ops(dev) ((struct video_ops *)(dev)->driver->ops) +/** enum colour_idx - the 16 colors supported by consoles */ +enum colour_idx { + VID_BLACK = 0, + VID_RED, + VID_GREEN, + VID_BROWN, + VID_BLUE, + VID_MAGENTA, + VID_CYAN, + VID_LIGHT_GRAY, + VID_GRAY, + VID_LIGHT_RED, + VID_LIGHT_GREEN, + VID_YELLOW, + VID_LIGHT_BLUE, + VID_LIGHT_MAGENTA, + VID_LIGHT_CYAN, + VID_WHITE, + + VID_COLOUR_COUNT +}; + +/** + * video_index_to_colour() - convert a color code to a pixel's internal + * representation + * + * The caller has to guarantee that the color index is less than + * VID_COLOR_COUNT. + * + * @priv private data of the console device + * @idx color index + * Return: color value + */ +u32 video_index_to_colour(struct video_priv *priv, unsigned int idx); + /** * video_reserve() - Reserve frame-buffer memory for video devices * diff --git a/include/video_console.h b/include/video_console.h index 5921767fbf0..72edd419191 100644 --- a/include/video_console.h +++ b/include/video_console.h @@ -15,30 +15,6 @@ struct video_priv; #define VID_TO_PIXEL(x) ((x) / VID_FRAC_DIV) #define VID_TO_POS(x) ((x) * VID_FRAC_DIV) -/* - * The 16 colors supported by the console - */ -enum color_idx { - VID_BLACK = 0, - VID_RED, - VID_GREEN, - VID_BROWN, - VID_BLUE, - VID_MAGENTA, - VID_CYAN, - VID_LIGHT_GRAY, - VID_GRAY, - VID_LIGHT_RED, - VID_LIGTH_GREEN, - VID_YELLOW, - VID_LIGHT_BLUE, - VID_LIGHT_MAGENTA, - VID_LIGHT_CYAN, - VID_WHITE, - - VID_COLOR_COUNT -}; - /** * struct vidconsole_priv - uclass-private data about a console device * @@ -243,19 +219,6 @@ int vidconsole_put_string(struct udevice *dev, const char *str); void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row); -/** - * vid_console_color() - convert a color code to a pixel's internal - * representation - * - * The caller has to guarantee that the color index is less than - * VID_COLOR_COUNT. - * - * @priv private data of the console device - * @idx color index - * Return: color value - */ -u32 vid_console_color(struct video_priv *priv, unsigned int idx); - #ifdef CONFIG_VIDEO_COPY /** * vidconsole_sync_copy() - Sync back to the copy framebuffer From 6b6dc0d2fbf8b036d7ee278071036c7479074b32 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:04 -0600 Subject: [PATCH 04/59] video: Provide a function to set the cursor position Add an exported function which allows the cursor position to be set to pixel granularity. Make use of this in the existing code. Signed-off-by: Simon Glass --- drivers/video/vidconsole-uclass.c | 18 +++++++++++++----- include/video_console.h | 12 ++++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c index f67027c67be..53263580e3b 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -122,6 +122,15 @@ static char *parsenum(char *s, int *num) return end; } +void vidconsole_set_cursor_pos(struct udevice *dev, int x, int y) +{ + struct vidconsole_priv *priv = dev_get_uclass_priv(dev); + + priv->xcur_frac = VID_TO_POS(x); + priv->xstart_frac = priv->xcur_frac; + priv->ycur = y; +} + /** * set_cursor_position() - set cursor position * @@ -614,12 +623,11 @@ void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row) struct vidconsole_priv *priv = dev_get_uclass_priv(dev); struct udevice *vid_dev = dev->parent; struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev); + short x, y; - col *= priv->x_charsize; - row *= priv->y_charsize; - priv->xcur_frac = VID_TO_POS(min_t(short, col, vid_priv->xsize - 1)); - priv->xstart_frac = priv->xcur_frac; - priv->ycur = min_t(short, row, vid_priv->ysize - 1); + x = min_t(short, col * priv->x_charsize, vid_priv->xsize - 1); + y = min_t(short, row * priv->y_charsize, vid_priv->ysize - 1); + vidconsole_set_cursor_pos(dev, x, y); } static int do_video_setcursor(struct cmd_tbl *cmdtp, int flag, int argc, diff --git a/include/video_console.h b/include/video_console.h index 72edd419191..76c4b10acf6 100644 --- a/include/video_console.h +++ b/include/video_console.h @@ -219,6 +219,18 @@ int vidconsole_put_string(struct udevice *dev, const char *str); void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row); +/** + * vidconsole_set_cursor_pos() - set cursor position + * + * The cursor is set to the new position and the start-of-line information is + * updated to the same position, so that a newline will return to @x + * + * @dev: video console device to update + * @x: x position from left in pixels + * @y: y position from top in pixels + */ +void vidconsole_set_cursor_pos(struct udevice *dev, int x, int y); + #ifdef CONFIG_VIDEO_COPY /** * vidconsole_sync_copy() - Sync back to the copy framebuffer From 92fd6a12206718948ba0f8f8bf1db89f6f73112c Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:05 -0600 Subject: [PATCH 05/59] video: Use vidconsole_put_string() to write a string Use the existing function rather that duplicating the code. Also fix up the missing error handling. Signed-off-by: Simon Glass --- drivers/video/vidconsole-uclass.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c index 53263580e3b..d5667191e0a 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -652,17 +652,18 @@ static int do_video_puts(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { struct udevice *dev; - const char *s; + int ret; if (argc != 2) return CMD_RET_USAGE; if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) return CMD_RET_FAILURE; - for (s = argv[1]; *s; s++) - vidconsole_put_char(dev, *s); + ret = vidconsole_put_string(dev, argv[1]); + if (!ret) + ret = video_sync(dev->parent, false); - return video_sync(dev->parent, false); + return ret ? CMD_RET_FAILURE : 0; } U_BOOT_CMD( From f029f90e7df9ad566d0bb7f9ea80de108be67fb0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:06 -0600 Subject: [PATCH 06/59] video: Move the console commands to cmd/ Move these commands and the implementation to the cmd/ directory, which is where most commands are kept. Signed-off-by: Simon Glass Acked-by: Ilias Apalodimas [agust: keep vidconsole_position_cursor() in vidconsole uclass] Signed-off-by: Anatolij Gustschin --- cmd/Kconfig | 12 ++++++ cmd/Makefile | 2 + cmd/video.c | 61 +++++++++++++++++++++++++++++++ drivers/video/Kconfig | 8 ---- drivers/video/vidconsole-uclass.c | 50 ------------------------- 5 files changed, 75 insertions(+), 58 deletions(-) create mode 100644 cmd/video.c diff --git a/cmd/Kconfig b/cmd/Kconfig index 41cf1d46fb1..51dbbf85646 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -2161,6 +2161,18 @@ config CMD_UUID The two commands are very similar except for the endianness of the output. +config CMD_VIDCONSOLE + bool "lcdputs and setcurs" + depends on DM_VIDEO + default y + help + Enabling this will provide 'setcurs' and 'lcdputs' commands which + support cursor positioning and drawing strings on the video + console (framebuffer). + + The name 'lcdputs' is a bit of a misnomer, but so named because the + video device is often an LCD. + endmenu source "cmd/ti/Kconfig" diff --git a/cmd/Makefile b/cmd/Makefile index c95e09d0580..ac9226fd4d2 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -178,6 +178,8 @@ obj-$(CONFIG_CMD_WDT) += wdt.o obj-$(CONFIG_CMD_LZMADEC) += lzmadec.o obj-$(CONFIG_CMD_UFS) += ufs.o obj-$(CONFIG_CMD_USB) += usb.o disk.o +obj-$(CONFIG_CMD_VIDCONSOLE) += video.o + obj-$(CONFIG_CMD_FASTBOOT) += fastboot.o obj-$(CONFIG_CMD_FS_UUID) += fs_uuid.o diff --git a/cmd/video.c b/cmd/video.c new file mode 100644 index 00000000000..942f81c1633 --- /dev/null +++ b/cmd/video.c @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * video commands + * + * Copyright 2022 Google LLC + * Written by Simon Glass + */ + +#include +#include +#include +#include +#include + +static int do_video_setcursor(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + unsigned int col, row; + struct udevice *dev; + + if (argc != 3) + return CMD_RET_USAGE; + + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) + return CMD_RET_FAILURE; + col = dectoul(argv[1], NULL); + row = dectoul(argv[2], NULL); + vidconsole_position_cursor(dev, col, row); + + return 0; +} + +static int do_video_puts(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + struct udevice *dev; + int ret; + + if (argc != 2) + return CMD_RET_USAGE; + + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) + return CMD_RET_FAILURE; + ret = vidconsole_put_string(dev, argv[1]); + if (!ret) + ret = video_sync(dev->parent, false); + + return ret ? CMD_RET_FAILURE : 0; +} + +U_BOOT_CMD( + setcurs, 3, 1, do_video_setcursor, + "set cursor position within screen", + " in character" +); + +U_BOOT_CMD( + lcdputs, 2, 1, do_video_puts, + "print string on video framebuffer", + " " +); diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 4ecc158c460..c9fc4a3a583 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -85,14 +85,6 @@ config BACKLIGHT_GPIO it understands the standard device tree (leds/backlight/gpio-backlight.txt) -config CMD_VIDCONSOLE - bool "Enable vidconsole commands lcdputs and setcurs" - depends on DM_VIDEO - default y - help - Enabling this will provide 'setcurs' and 'lcdputs' commands which - support cursor positioning and drawing strings on video framebuffer. - config VIDEO_BPP8 bool "Support 8-bit-per-pixel displays" depends on DM_VIDEO diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c index d5667191e0a..6bdfb6e37dd 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -617,7 +617,6 @@ int vidconsole_memmove(struct udevice *dev, void *dst, const void *src, } #endif -#if CONFIG_IS_ENABLED(CMD_VIDCONSOLE) void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row) { struct vidconsole_priv *priv = dev_get_uclass_priv(dev); @@ -629,52 +628,3 @@ void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row) y = min_t(short, row * priv->y_charsize, vid_priv->ysize - 1); vidconsole_set_cursor_pos(dev, x, y); } - -static int do_video_setcursor(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) -{ - unsigned int col, row; - struct udevice *dev; - - if (argc != 3) - return CMD_RET_USAGE; - - if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) - return CMD_RET_FAILURE; - col = dectoul(argv[1], NULL); - row = dectoul(argv[2], NULL); - vidconsole_position_cursor(dev, col, row); - - return 0; -} - -static int do_video_puts(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) -{ - struct udevice *dev; - int ret; - - if (argc != 2) - return CMD_RET_USAGE; - - if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) - return CMD_RET_FAILURE; - ret = vidconsole_put_string(dev, argv[1]); - if (!ret) - ret = video_sync(dev->parent, false); - - return ret ? CMD_RET_FAILURE : 0; -} - -U_BOOT_CMD( - setcurs, 3, 1, do_video_setcursor, - "set cursor position within screen", - " in character" -); - -U_BOOT_CMD( - lcdputs, 2, 1, do_video_puts, - "print string on video framebuffer", - " " -); -#endif /* CONFIG_IS_ENABLED(CMD_VIDCONSOLE) */ From 820b5894c183c4b68798603f5a96412408e6b8cf Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:07 -0600 Subject: [PATCH 07/59] video: Move and rename DM_HX8238D option This is actually a panel, not a video device. Rename the option, move it into the right place and make it depend on PANEL. Signed-off-by: Simon Glass --- arch/arm/mach-omap2/am33xx/Kconfig | 2 +- drivers/video/Kconfig | 20 ++++++++++---------- drivers/video/Makefile | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/arm/mach-omap2/am33xx/Kconfig b/arch/arm/mach-omap2/am33xx/Kconfig index 987ab367ece..25e97cfc386 100644 --- a/arch/arm/mach-omap2/am33xx/Kconfig +++ b/arch/arm/mach-omap2/am33xx/Kconfig @@ -95,7 +95,7 @@ config TARGET_AM335X_GUARDIAN select DM_SERIAL select DM_GPIO select DM_VIDEO - select DM_PANEL_HX8238D + select PANEL_HX8238D config TARGET_AM335X_SL50 bool "Support am335x_sl50" diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index c9fc4a3a583..44ab9e708f5 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -163,16 +163,6 @@ config CONSOLE_TRUETYPE With this option you can adjust the text size and use a variety of fonts. Note that this is noticeably slower than with normal console. -config DM_PANEL_HX8238D - bool "Enable Himax HX-8238D LCD driver" - depends on DM_VIDEO - help - Support for HX-8238D LCD Panel - The HX8238-D is a single chip controller and driver LSI that - integrates the power circuit. - It can drive a maximum 960x240 dot graphics on a-TFT panel - displays in 16M colors with dithering. - config CONSOLE_TRUETYPE_SIZE int "TrueType font size" depends on CONSOLE_TRUETYPE @@ -218,6 +208,16 @@ config SIMPLE_PANEL This turns on a simple panel driver that enables a compatible video panel. +config PANEL_HX8238D + bool "Enable Himax HX-8238D LCD driver" + depends on PANEL + help + Support for HX-8238D LCD Panel + The HX8238-D is a single chip controller and driver LSI that + integrates the power circuit. + It can drive a maximum 960x240 dot graphics on a-TFT panel + displays in 16M colors with dithering. + source "drivers/video/fonts/Kconfig" config VIDCONSOLE_AS_LCD diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 7019b263963..5a673549321 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -15,7 +15,7 @@ obj-$(CONFIG_VIDEO_MIPI_DSI) += dsi-host-uclass.o obj-$(CONFIG_DM_VIDEO) += video-uclass.o vidconsole-uclass.o obj-$(CONFIG_DM_VIDEO) += video_bmp.o obj-$(CONFIG_PANEL) += panel-uclass.o -obj-$(CONFIG_DM_PANEL_HX8238D) += hx8238d.o +obj-$(CONFIG_PANEL_HX8238D) += hx8238d.o obj-$(CONFIG_SIMPLE_PANEL) += simple_panel.o obj-$(CONFIG_VIDEO_LOGO) += u_boot_logo.o From 50d562c01ff0a9f500ed9821a74e841d6f6dc133 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:08 -0600 Subject: [PATCH 08/59] video: Allow filling the display with a colour Generalise the video_clear() function to allow filling with a different colour. Tidy up the comments while we are here. Signed-off-by: Simon Glass --- drivers/video/video-uclass.c | 20 ++++++++++++++++---- include/video.h | 13 +++++++++++-- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index b258a8a00fc..9f22da02528 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -126,7 +126,7 @@ int video_reserve(ulong *addrp) return 0; } -int video_clear(struct udevice *dev) +int video_fill(struct udevice *dev, u32 colour) { struct video_priv *priv = dev_get_uclass_priv(dev); int ret; @@ -138,7 +138,7 @@ int video_clear(struct udevice *dev) u16 *end = priv->fb + priv->fb_size; while (ppix < end) - *ppix++ = priv->colour_bg; + *ppix++ = colour; break; } case VIDEO_BPP32: @@ -147,11 +147,11 @@ int video_clear(struct udevice *dev) u32 *end = priv->fb + priv->fb_size; while (ppix < end) - *ppix++ = priv->colour_bg; + *ppix++ = colour; break; } default: - memset(priv->fb, priv->colour_bg, priv->fb_size); + memset(priv->fb, colour, priv->fb_size); break; } ret = video_sync_copy(dev, priv->fb, priv->fb + priv->fb_size); @@ -161,6 +161,18 @@ int video_clear(struct udevice *dev) return video_sync(dev, false); } +int video_clear(struct udevice *dev) +{ + struct video_priv *priv = dev_get_uclass_priv(dev); + int ret; + + ret = video_fill(dev, priv->colour_bg); + if (ret) + return ret; + + return 0; +} + static const struct vid_rgb colours[VID_COLOUR_COUNT] = { { 0x00, 0x00, 0x00 }, /* black */ { 0xc0, 0x00, 0x00 }, /* red */ diff --git a/include/video.h b/include/video.h index 1c30aea73c0..4c216d851b6 100644 --- a/include/video.h +++ b/include/video.h @@ -185,13 +185,22 @@ u32 video_index_to_colour(struct video_priv *priv, unsigned int idx); int video_reserve(ulong *addrp); /** - * video_clear() - Clear a device's frame buffer to background color. + * video_clear() - Clear a device's frame buffer to background colour. * * @dev: Device to clear - * Return: 0 + * Return: 0 on success */ int video_clear(struct udevice *dev); +/** + * video_fill() - Fill a device's frame buffer to a colour. + * + * @dev: Device to fill + * @colour: Colour to use, in the frame buffer's format + * Return: 0 on success + */ +int video_fill(struct udevice *dev, u32 colour); + /** * video_sync() - Sync a device's frame buffer with its hardware * From 0d3890188d6bcaf7172678d2e5e803035e85dc8d Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:09 -0600 Subject: [PATCH 09/59] video: Add function to obtain the U-Boot logo It is useful to show the logo from other code, coming in a later feature. Add a function to obtain it. Signed-off-by: Simon Glass --- drivers/video/video-uclass.c | 5 +++++ include/video.h | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index 9f22da02528..fbe1ad169e9 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -406,6 +406,11 @@ int video_sync_copy_all(struct udevice *dev) SPLASH_DECL(u_boot_logo); +void *video_get_u_boot_logo(void) +{ + return SPLASH_START(u_boot_logo); +} + static int show_splash(struct udevice *dev) { u8 *data = SPLASH_START(u_boot_logo); diff --git a/include/video.h b/include/video.h index 4c216d851b6..2e68dd717ef 100644 --- a/include/video.h +++ b/include/video.h @@ -319,4 +319,11 @@ static inline int video_sync_copy_all(struct udevice *dev) */ bool video_is_active(void); +/** + * video_get_u_boot_logo() - Get a pointer to the U-Boot logo + * + * Returns: Pointer to logo + */ +void *video_get_u_boot_logo(void); + #endif From 5330612f219bcd98f99b977a1fdec51c6b265ad2 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:10 -0600 Subject: [PATCH 10/59] video: Tidy up the check for valid fonts Put this check into a function so we can use it elsewhere. Also drop the macros which do the same thing but are not actually used. Signed-off-by: Simon Glass --- drivers/video/console_truetype.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index c04b449a6d5..1331ce8d896 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -526,9 +526,18 @@ static struct font_info font_table[] = { {} /* sentinel */ }; -#define FONT_BEGIN(name) __ttf_ ## name ## _begin -#define FONT_END(name) __ttf_ ## name ## _end -#define FONT_IS_VALID(name) (abs(FONT_END(name) - FONT_BEGIN) > 4) +/** + * font_valid() - Check if a font-table entry is valid + * + * Depending on available files in the build system, fonts may end up being + * empty. + * + * @return true if the entry is valid + */ +static inline bool font_valid(struct font_info *tab) +{ + return abs(tab->begin - tab->end) > 4; +} /** * console_truetype_find_font() - Find a suitable font @@ -542,7 +551,7 @@ static u8 *console_truetype_find_font(void) struct font_info *tab; for (tab = font_table; tab->begin; tab++) { - if (abs(tab->begin - tab->end) > 4) { + if (font_valid(tab)) { debug("%s: Font '%s', at %p, size %lx\n", __func__, tab->name, tab->begin, (ulong)(tab->end - tab->begin)); From 31efa2509566efcad58ff425a97e542c89f34efa Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:11 -0600 Subject: [PATCH 11/59] video: Refactor to allow more than one font size At present the truetype console supports only a single font and size. It is useful to be able to support different combinations. As a first step, move the metrics into there own structure and allow having multiple metrics. Signed-off-by: Simon Glass --- drivers/video/Kconfig | 15 ++++ drivers/video/console_truetype.c | 140 +++++++++++++++++++++---------- 2 files changed, 113 insertions(+), 42 deletions(-) diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 44ab9e708f5..32938376655 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -176,6 +176,21 @@ config CONSOLE_TRUETYPE_SIZE method to select the display's physical size, which would allow U-Boot to calculate the correct font size. +config CONSOLE_TRUETYPE_MAX_METRICS + int "TrueType maximum number of font / size combinations" + depends on CONSOLE_TRUETYPE + default 10 if EXPO + default 1 + help + This sets the number of font / size combinations which can be used by + the console. For simple console use a single font is enough. When + boot menus are in use, this may need to be increased. + + Note that a separate entry is needed for each font size, even if the + font itself is the same. This is because the entry caches various + font metrics which are expensive to regenerate each time the font + size changes. + config SYS_WHITE_ON_BLACK bool "Display console as white on a black background" default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index 1331ce8d896..ab7bcda197f 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -94,17 +94,15 @@ struct pos_info { #define POS_HISTORY_SIZE (CONFIG_SYS_CBSIZE * 11 / 10) /** - * struct console_tt_priv - Private data for this driver + * struct console_tt_metrics - Information about a font / size combination + * + * This caches various font metrics which are expensive to regenerate each time + * the font size changes. There is one of these for each font / size combination + * that is being used * * @font_size: Vertical font size in pixels * @font_data: Pointer to TrueType font file contents * @font: TrueType font information for the current font - * @pos: List of cursor positions for each character written. This is - * used to handle backspace. We clear the frame buffer between - * the last position and the current position, thus erasing the - * last character. We record enough characters to go back to the - * start of the current command line. - * @pos_ptr: Current position in the position history * @baseline: Pixel offset of the font's baseline from the cursor position. * This is the 'ascent' of the font, scaled to pixel coordinates. * It measures the distance from the baseline to the top of the @@ -113,25 +111,45 @@ struct pos_info { * of the font. It is used by the STB library to generate images * of the correct size. */ -struct console_tt_priv { +struct console_tt_metrics { int font_size; - u8 *font_data; + const u8 *font_data; stbtt_fontinfo font; - struct pos_info pos[POS_HISTORY_SIZE]; - int pos_ptr; int baseline; double scale; }; +/** + * struct console_tt_priv - Private data for this driver + * + * @cur_met: Current metrics being used + * @metrics: List metrics that can be used + * @num_metrics: Number of available metrics + * @pos: List of cursor positions for each character written. This is + * used to handle backspace. We clear the frame buffer between + * the last position and the current position, thus erasing the + * last character. We record enough characters to go back to the + * start of the current command line. + * @pos_ptr: Current position in the position history + */ +struct console_tt_priv { + struct console_tt_metrics *cur_met; + struct console_tt_metrics metrics[CONFIG_CONSOLE_TRUETYPE_MAX_METRICS]; + int num_metrics; + struct pos_info pos[POS_HISTORY_SIZE]; + int pos_ptr; +}; + static int console_truetype_set_row(struct udevice *dev, uint row, int clr) { struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent); struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met = priv->cur_met; void *end, *line; int ret; - line = vid_priv->fb + row * priv->font_size * vid_priv->line_length; - end = line + priv->font_size * vid_priv->line_length; + line = vid_priv->fb + row * met->font_size * vid_priv->line_length; + end = line + met->font_size * vid_priv->line_length; switch (vid_priv->bpix) { #ifdef CONFIG_VIDEO_BPP8 @@ -176,19 +194,20 @@ static int console_truetype_move_rows(struct udevice *dev, uint rowdst, { struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent); struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met = priv->cur_met; void *dst; void *src; int i, diff, ret; - dst = vid_priv->fb + rowdst * priv->font_size * vid_priv->line_length; - src = vid_priv->fb + rowsrc * priv->font_size * vid_priv->line_length; - ret = vidconsole_memmove(dev, dst, src, priv->font_size * + dst = vid_priv->fb + rowdst * met->font_size * vid_priv->line_length; + src = vid_priv->fb + rowsrc * met->font_size * vid_priv->line_length; + ret = vidconsole_memmove(dev, dst, src, met->font_size * vid_priv->line_length * count); if (ret) return ret; /* Scroll up our position history */ - diff = (rowsrc - rowdst) * priv->font_size; + diff = (rowsrc - rowdst) * met->font_size; for (i = 0; i < priv->pos_ptr; i++) priv->pos[i].ypos -= diff; @@ -202,7 +221,8 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, struct udevice *vid = dev->parent; struct video_priv *vid_priv = dev_get_uclass_priv(vid); struct console_tt_priv *priv = dev_get_priv(dev); - stbtt_fontinfo *font = &priv->font; + struct console_tt_metrics *met = priv->cur_met; + stbtt_fontinfo *font = &met->font; int width, height, xoff, yoff; double xpos, x_shift; int lsb; @@ -222,7 +242,7 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, * this character */ xpos = frac(VID_TO_PIXEL((double)x)); if (vc_priv->last_ch) { - xpos += priv->scale * stbtt_GetCodepointKernAdvance(font, + xpos += met->scale * stbtt_GetCodepointKernAdvance(font, vc_priv->last_ch, ch); } @@ -233,7 +253,7 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, * it dictates how much the cursor will move forward on the line. */ x_shift = xpos - (double)tt_floor(xpos); - xpos += advance * priv->scale; + xpos += advance * met->scale; width_frac = (int)VID_TO_POS(xpos); if (x + width_frac >= vc_priv->xsize_frac) return -EAGAIN; @@ -252,7 +272,7 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, * image of the character. For empty characters, like ' ', data will * return NULL; */ - data = stbtt_GetCodepointBitmapSubpixel(font, priv->scale, priv->scale, + data = stbtt_GetCodepointBitmapSubpixel(font, met->scale, met->scale, x_shift, 0, ch, &width, &height, &xoff, &yoff); if (!data) @@ -262,7 +282,7 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, bits = data; start = vid_priv->fb + y * vid_priv->line_length + VID_TO_PIXEL(x) * VNBYTES(vid_priv->bpix); - linenum = priv->baseline + yoff; + linenum = met->baseline + yoff; if (linenum > 0) start += linenum * vid_priv->line_length; line = start; @@ -562,42 +582,78 @@ static u8 *console_truetype_find_font(void) return NULL; } +/** + * vidconsole_add_metrics() - Add a new font/size combination + * + * @dev: Video console device to update + * @font_name: Name of font + * @font_size: Size of the font (norminal pixel height) + * @font_data: Pointer to the font data + * @return 0 if OK, -EPERM if stbtt failed, -E2BIG if the the metrics table is + * full + */ +static int vidconsole_add_metrics(struct udevice *dev, const void *font_data, + uint font_size) +{ + struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met; + stbtt_fontinfo *font; + int ascent; + + if (priv->num_metrics == CONFIG_CONSOLE_TRUETYPE_MAX_METRICS) + return log_msg_ret("num", -E2BIG); + + met = &priv->metrics[priv->num_metrics]; + met->font_size = font_size; + met->font_data = font_data; + + font = &met->font; + if (!stbtt_InitFont(font, font_data, 0)) { + debug("%s: Font init failed\n", __func__); + return -EPERM; + } + + /* Pre-calculate some things we will need regularly */ + met->scale = stbtt_ScaleForPixelHeight(font, font_size); + stbtt_GetFontVMetrics(font, &ascent, 0, 0); + met->baseline = (int)(ascent * met->scale); + + return priv->num_metrics++; +} + static int console_truetype_probe(struct udevice *dev) { struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev); struct console_tt_priv *priv = dev_get_priv(dev); struct udevice *vid_dev = dev->parent; struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev); - stbtt_fontinfo *font = &priv->font; - int ascent; + void *font_data; + uint font_size; + int ret; debug("%s: start\n", __func__); if (vid_priv->font_size) - priv->font_size = vid_priv->font_size; + font_size = vid_priv->font_size; else - priv->font_size = CONFIG_CONSOLE_TRUETYPE_SIZE; - priv->font_data = console_truetype_find_font(); - if (!priv->font_data) { + font_size = CONFIG_CONSOLE_TRUETYPE_SIZE; + font_data = console_truetype_find_font(); + if (!font_data) { debug("%s: Could not find any fonts\n", __func__); return -EBFONT; } - vc_priv->x_charsize = priv->font_size; - vc_priv->y_charsize = priv->font_size; + ret = vidconsole_add_metrics(dev, font_data, font_size); + if (ret < 0) + return log_msg_ret("add", ret); + priv->cur_met = &priv->metrics[ret]; + + vc_priv->x_charsize = font_size; + vc_priv->y_charsize = font_size; vc_priv->xstart_frac = VID_TO_POS(2); - vc_priv->cols = vid_priv->xsize / priv->font_size; - vc_priv->rows = vid_priv->ysize / priv->font_size; - vc_priv->tab_width_frac = VID_TO_POS(priv->font_size) * 8 / 2; + vc_priv->cols = vid_priv->xsize / font_size; + vc_priv->rows = vid_priv->ysize / font_size; + vc_priv->tab_width_frac = VID_TO_POS(font_size) * 8 / 2; - if (!stbtt_InitFont(font, priv->font_data, 0)) { - debug("%s: Font init failed\n", __func__); - return -EPERM; - } - - /* Pre-calculate some things we will need regularly */ - priv->scale = stbtt_ScaleForPixelHeight(font, priv->font_size); - stbtt_GetFontVMetrics(font, &ascent, 0, 0); - priv->baseline = (int)(ascent * priv->scale); debug("%s: ready\n", __func__); return 0; From 39fa02d95504b9743aea7c789b1ba11aff19bae7 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:12 -0600 Subject: [PATCH 12/59] video: Record the truetype font name Add this to the metrics so we can later adjust the font size without changing the font itself. Signed-off-by: Simon Glass --- drivers/video/console_truetype.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index ab7bcda197f..6ef3fae8a32 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -100,6 +100,7 @@ struct pos_info { * the font size changes. There is one of these for each font / size combination * that is being used * + * @font_name: Name of the font * @font_size: Vertical font size in pixels * @font_data: Pointer to TrueType font file contents * @font: TrueType font information for the current font @@ -112,6 +113,7 @@ struct pos_info { * of the correct size. */ struct console_tt_metrics { + const char *font_name; int font_size; const u8 *font_data; stbtt_fontinfo font; @@ -562,11 +564,11 @@ static inline bool font_valid(struct font_info *tab) /** * console_truetype_find_font() - Find a suitable font * - * This searched for the first available font. + * This searches for the first available font. * - * Return: pointer to the font, or NULL if none is found + * Return: pointer to the font-table entry, or NULL if none is found */ -static u8 *console_truetype_find_font(void) +static struct font_info *console_truetype_find_font(void) { struct font_info *tab; @@ -575,7 +577,7 @@ static u8 *console_truetype_find_font(void) debug("%s: Font '%s', at %p, size %lx\n", __func__, tab->name, tab->begin, (ulong)(tab->end - tab->begin)); - return tab->begin; + return tab; } } @@ -592,8 +594,8 @@ static u8 *console_truetype_find_font(void) * @return 0 if OK, -EPERM if stbtt failed, -E2BIG if the the metrics table is * full */ -static int vidconsole_add_metrics(struct udevice *dev, const void *font_data, - uint font_size) +static int vidconsole_add_metrics(struct udevice *dev, const char *font_name, + uint font_size, const void *font_data) { struct console_tt_priv *priv = dev_get_priv(dev); struct console_tt_metrics *met; @@ -604,6 +606,7 @@ static int vidconsole_add_metrics(struct udevice *dev, const void *font_data, return log_msg_ret("num", -E2BIG); met = &priv->metrics[priv->num_metrics]; + met->font_name = font_name; met->font_size = font_size; met->font_data = font_data; @@ -627,7 +630,7 @@ static int console_truetype_probe(struct udevice *dev) struct console_tt_priv *priv = dev_get_priv(dev); struct udevice *vid_dev = dev->parent; struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev); - void *font_data; + struct font_info *tab; uint font_size; int ret; @@ -636,13 +639,13 @@ static int console_truetype_probe(struct udevice *dev) font_size = vid_priv->font_size; else font_size = CONFIG_CONSOLE_TRUETYPE_SIZE; - font_data = console_truetype_find_font(); - if (!font_data) { + tab = console_truetype_find_font(); + if (!tab) { debug("%s: Could not find any fonts\n", __func__); return -EBFONT; } - ret = vidconsole_add_metrics(dev, font_data, font_size); + ret = vidconsole_add_metrics(dev, tab->name, font_size, tab->begin); if (ret < 0) return log_msg_ret("add", ret); priv->cur_met = &priv->metrics[ret]; From 518d844a5e5032dacfc73271dacc9bce497a1f46 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:13 -0600 Subject: [PATCH 13/59] video: Add a function to select the truetype metrics Move this code into a function so we can call it later when we want to change the font. Signed-off-by: Simon Glass --- drivers/video/console_truetype.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index 6ef3fae8a32..5fc737a9ff2 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -624,9 +624,24 @@ static int vidconsole_add_metrics(struct udevice *dev, const char *font_name, return priv->num_metrics++; } -static int console_truetype_probe(struct udevice *dev) +static void select_metrics(struct udevice *dev, struct console_tt_metrics *met) { struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev); + struct console_tt_priv *priv = dev_get_priv(dev); + struct udevice *vid_dev = dev_get_parent(dev); + struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev); + + priv->cur_met = met; + vc_priv->x_charsize = met->font_size; + vc_priv->y_charsize = met->font_size; + vc_priv->xstart_frac = VID_TO_POS(2); + vc_priv->cols = vid_priv->xsize / met->font_size; + vc_priv->rows = vid_priv->ysize / met->font_size; + vc_priv->tab_width_frac = VID_TO_POS(met->font_size) * 8 / 2; +} + +static int console_truetype_probe(struct udevice *dev) +{ struct console_tt_priv *priv = dev_get_priv(dev); struct udevice *vid_dev = dev->parent; struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev); @@ -650,12 +665,7 @@ static int console_truetype_probe(struct udevice *dev) return log_msg_ret("add", ret); priv->cur_met = &priv->metrics[ret]; - vc_priv->x_charsize = font_size; - vc_priv->y_charsize = font_size; - vc_priv->xstart_frac = VID_TO_POS(2); - vc_priv->cols = vid_priv->xsize / font_size; - vc_priv->rows = vid_priv->ysize / font_size; - vc_priv->tab_width_frac = VID_TO_POS(font_size) * 8 / 2; + select_metrics(dev, &priv->metrics[ret]); debug("%s: ready\n", __func__); From 57a847cd405e546711dbab1b70ea43fd46960f58 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:14 -0600 Subject: [PATCH 14/59] video: Add a way to change the font name and size It is useful to be able to support multiple fonts. Add a function to handle this as well as one to list the available fonts. Signed-off-by: Simon Glass --- drivers/video/console_truetype.c | 75 ++++++++++++++++++++++++++++++++ include/video_console.h | 16 +++++++ 2 files changed, 91 insertions(+) diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index 5fc737a9ff2..09421e7a905 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -584,6 +584,16 @@ static struct font_info *console_truetype_find_font(void) return NULL; } +void vidconsole_list_fonts(void) +{ + struct font_info *tab; + + for (tab = font_table; tab->begin; tab++) { + if (abs(tab->begin - tab->end) > 4) + printf("%s\n", tab->name); + } +} + /** * vidconsole_add_metrics() - Add a new font/size combination * @@ -624,6 +634,30 @@ static int vidconsole_add_metrics(struct udevice *dev, const char *font_name, return priv->num_metrics++; } +/** + * find_metrics() - Find the metrics for a given font and size + * + * @dev: Video console device to update + * @name: Name of font + * @size: Size of the font (norminal pixel height) + * @return metrics, if found, else NULL + */ +static struct console_tt_metrics *find_metrics(struct udevice *dev, + const char *name, uint size) +{ + struct console_tt_priv *priv = dev_get_priv(dev); + int i; + + for (i = 0; i < priv->num_metrics; i++) { + struct console_tt_metrics *met = &priv->metrics[i]; + + if (!strcmp(name, met->font_name) && met->font_size == size) + return met; + } + + return NULL; +} + static void select_metrics(struct udevice *dev, struct console_tt_metrics *met) { struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev); @@ -640,6 +674,47 @@ static void select_metrics(struct udevice *dev, struct console_tt_metrics *met) vc_priv->tab_width_frac = VID_TO_POS(met->font_size) * 8 / 2; } +int vidconsole_select_font(struct udevice *dev, const char *name, uint size) +{ + struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met; + struct font_info *tab; + + if (name || size) { + if (!size) + size = CONFIG_CONSOLE_TRUETYPE_SIZE; + if (!name) + name = priv->cur_met->font_name; + + met = find_metrics(dev, name, size); + if (!met) { + for (tab = font_table; tab->begin; tab++) { + if (font_valid(tab) && + !strcmp(name, tab->name)) { + int ret; + + ret = vidconsole_add_metrics(dev, + tab->name, size, tab->begin); + if (ret < 0) + return log_msg_ret("add", ret); + + met = &priv->metrics[ret]; + break; + } + } + } + if (!met) + return log_msg_ret("find", -ENOENT); + } else { + /* Use the default font */ + met = priv->metrics; + } + + select_metrics(dev, met); + + return 0; +} + static int console_truetype_probe(struct udevice *dev) { struct console_tt_priv *priv = dev_get_priv(dev); diff --git a/include/video_console.h b/include/video_console.h index 76c4b10acf6..bef926cd433 100644 --- a/include/video_console.h +++ b/include/video_console.h @@ -231,6 +231,22 @@ void vidconsole_position_cursor(struct udevice *dev, unsigned col, */ void vidconsole_set_cursor_pos(struct udevice *dev, int x, int y); +/** + * vidconsole_list_fonts() - List the available fonts + * + * This shows a list on the console + */ +void vidconsole_list_fonts(void); + +/** + * vidconsole_select_font() - Select a font to use + * + * @dev: vidconsole device + * @name: Font name + * @size: Size of the font (norminal pixel height) or 0 for default + */ +int vidconsole_select_font(struct udevice *dev, const char *name, uint size); + #ifdef CONFIG_VIDEO_COPY /** * vidconsole_sync_copy() - Sync back to the copy framebuffer From 3f425f9ca75c8d1938579044fde37a6f7d5abe16 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:15 -0600 Subject: [PATCH 15/59] video: Enable the cls command by default This is enabled for LCD but not for VIDEO. Enable it since it is useful to be able to clear the screen and adds very little code. Signed-off-by: Simon Glass --- cmd/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/Kconfig b/cmd/Kconfig index 51dbbf85646..54197160116 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1939,7 +1939,7 @@ config CMD_CONITRACE config CMD_CLS bool "Enable clear screen command 'cls'" - default y if LCD + default y if LCD || DM_VIDEO help Enable the 'cls' command which clears the screen contents on video frame buffer. From 430e1676a76bf8b7112c64e19cf64b988c281ee0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:16 -0600 Subject: [PATCH 16/59] video: Add commands to list and change fonts Add a new 'font' command which allows the fonts to be listed as well as selecting a different font and size. Allow the test to run on sandbox, where multiple font/size combinations are supported, as well as sandbox_flattree, where they are not. Signed-off-by: Simon Glass --- cmd/Makefile | 1 + cmd/font.c | 81 ++++++++++++++++++++++++++++++++ configs/sandbox_defconfig | 1 + doc/usage/cmd/font.rst | 52 ++++++++++++++++++++ doc/usage/index.rst | 1 + drivers/video/console_truetype.c | 10 ++++ include/test/suites.h | 1 + include/video_console.h | 9 ++++ test/cmd/Makefile | 1 + test/cmd/font.c | 77 ++++++++++++++++++++++++++++++ test/cmd_ut.c | 6 +++ 11 files changed, 240 insertions(+) create mode 100644 cmd/font.c create mode 100644 doc/usage/cmd/font.rst create mode 100644 test/cmd/font.c diff --git a/cmd/Makefile b/cmd/Makefile index ac9226fd4d2..ca9ed1054d7 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -74,6 +74,7 @@ obj-$(CONFIG_CMD_EXT2) += ext2.o obj-$(CONFIG_CMD_FAT) += fat.o obj-$(CONFIG_CMD_FDT) += fdt.o obj-$(CONFIG_CMD_SQUASHFS) += sqfs.o +obj-$(CONFIG_CONSOLE_TRUETYPE) += font.o obj-$(CONFIG_CMD_FLASH) += flash.o obj-$(CONFIG_CMD_FPGA) += fpga.o obj-$(CONFIG_CMD_FPGAD) += fpgad.o diff --git a/cmd/font.c b/cmd/font.c new file mode 100644 index 00000000000..3e522f3aaa1 --- /dev/null +++ b/cmd/font.c @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * video commands + * + * Copyright 2022 Google LLC + * Written by Simon Glass + */ + +#include +#include +#include +#include +#include + +static int do_font_list(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + vidconsole_list_fonts(); + + return 0; +} + +static int do_font_select(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + struct udevice *dev; + const char *name; + uint size = 0; + int ret; + + if (argc < 2) + return CMD_RET_USAGE; + + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) + return CMD_RET_FAILURE; + name = argv[1]; + if (argc == 3) + size = dectoul(argv[2], NULL); + ret = vidconsole_select_font(dev, name, size); + if (ret) { + printf("Failed (error %d)\n", ret); + return CMD_RET_FAILURE; + } + + return 0; +} +static int do_font_size(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + struct udevice *dev; + uint size; + int ret; + + if (argc != 2) + return CMD_RET_USAGE; + + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) + return CMD_RET_FAILURE; + + size = dectoul(argv[1], NULL); + ret = vidconsole_select_font(dev, NULL, size); + if (ret) { + printf("Failed (error %d)\n", ret); + return CMD_RET_FAILURE; + } + + return 0; +} + + +#ifdef CONFIG_SYS_LONGHELP +static char font_help_text[] = + "list - list available fonts\n" + "font select [] - select font to use\n" + "font size - select font size to"; +#endif + +U_BOOT_CMD_WITH_SUBCMDS(font, "Fonts", font_help_text, + U_BOOT_SUBCMD_MKENT(list, 1, 1, do_font_list), + U_BOOT_SUBCMD_MKENT(select, 3, 1, do_font_select), + U_BOOT_SUBCMD_MKENT(size, 2, 1, do_font_size)); diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 34e90674eec..50d87d33af4 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -298,6 +298,7 @@ CONFIG_DM_VIDEO=y CONFIG_VIDEO_COPY=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y +CONFIG_CONSOLE_TRUETYPE_MAX_METRICS=10 CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y CONFIG_I2C_EDID=y CONFIG_VIDEO_SANDBOX_SDL=y diff --git a/doc/usage/cmd/font.rst b/doc/usage/cmd/font.rst new file mode 100644 index 00000000000..6fb08232703 --- /dev/null +++ b/doc/usage/cmd/font.rst @@ -0,0 +1,52 @@ +.. SPDX-License-Identifier: GPL-2.0+: + +font command +============ + +Synopis +------- + +:: + + font list + font select [] + font size + + +Description +----------- + +The *font* command allows selection of the font to use on the video console. +This is available when the Truetype console is in use. This is the case when +`CONFIG_CONSOLE_TRUETYPE` is enabled. + + +font list +~~~~~~~~~ + +This lists the available fonts, using the name of the font file in the build. + + +font select +~~~~~~~~~~~ + +This selects a new font and optionally changes the size. + + +font size +~~~~~~~~~ + +This changes the font size only. + + +Examples +-------- + +:: + + => font list + nimbus_sans_l_regular + cantoraone_regular + => font size 40 + => font select cantoraone_regular 20 + => diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 90221015ee1..c601d3576d5 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -48,6 +48,7 @@ Shell commands cmd/fatinfo cmd/fatload cmd/fdt + cmd/font cmd/for cmd/gpio cmd/load diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index 09421e7a905..6859c9fa116 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -715,6 +715,16 @@ int vidconsole_select_font(struct udevice *dev, const char *name, uint size) return 0; } +const char *vidconsole_get_font(struct udevice *dev, uint *sizep) +{ + struct console_tt_priv *priv = dev_get_priv(dev); + struct console_tt_metrics *met = priv->cur_met; + + *sizep = met->font_size; + + return met->font_name; +} + static int console_truetype_probe(struct udevice *dev) { struct console_tt_priv *priv = dev_get_priv(dev); diff --git a/include/test/suites.h b/include/test/suites.h index 44025ccecd6..a01000e127b 100644 --- a/include/test/suites.h +++ b/include/test/suites.h @@ -39,6 +39,7 @@ int do_ut_compression(struct cmd_tbl *cmdtp, int flag, int argc, int do_ut_dm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]); int do_ut_env(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]); int do_ut_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]); +int do_ut_font(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]); int do_ut_lib(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]); int do_ut_loadm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]); int do_ut_log(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]); diff --git a/include/video_console.h b/include/video_console.h index bef926cd433..d755eb73cf2 100644 --- a/include/video_console.h +++ b/include/video_console.h @@ -247,6 +247,15 @@ void vidconsole_list_fonts(void); */ int vidconsole_select_font(struct udevice *dev, const char *name, uint size); +/** + * vidconsole_get_font() - get the current font name and size + * + * @dev: vidconsole device + * @sizep: Place to put the font size (nominal height in pixels) + * Returns: Current font name + */ +const char *vidconsole_get_font(struct udevice *dev, uint *sizep); + #ifdef CONFIG_VIDEO_COPY /** * vidconsole_sync_copy() - Sync back to the copy framebuffer diff --git a/test/cmd/Makefile b/test/cmd/Makefile index f2a5f4ed808..6dd6e818757 100644 --- a/test/cmd/Makefile +++ b/test/cmd/Makefile @@ -11,6 +11,7 @@ endif obj-y += mem.o obj-$(CONFIG_CMD_ADDRMAP) += addrmap.o obj-$(CONFIG_CMD_FDT) += fdt.o +obj-$(CONFIG_CONSOLE_TRUETYPE) += font.o obj-$(CONFIG_CMD_LOADM) += loadm.o obj-$(CONFIG_CMD_MEM_SEARCH) += mem_search.o obj-$(CONFIG_CMD_PINMUX) += pinmux.o diff --git a/test/cmd/font.c b/test/cmd/font.c new file mode 100644 index 00000000000..7a4156ade62 --- /dev/null +++ b/test/cmd/font.c @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Tests for font command + * + * Copyright 2022 Google LLC + */ + +#include +#include +#include +#include +#include +#include + +/* Declare a new fdt test */ +#define FONT_TEST(_name, _flags) UNIT_TEST(_name, _flags, font_test) + +/* Test 'fdt addr' resizing an fdt */ +static int font_test_base(struct unit_test_state *uts) +{ + struct udevice *dev; + int max_metrics; + uint size; + int ret; + + ut_assertok(uclass_first_device_err(UCLASS_VIDEO, &dev)); + ut_assertok(uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)); + + ut_assertok(console_record_reset_enable()); + ut_assertok(run_command("font list", 0)); + ut_assert_nextline("nimbus_sans_l_regular"); + ut_assert_nextline("cantoraone_regular"); + ut_assertok(ut_check_console_end(uts)); + + ut_asserteq_str("nimbus_sans_l_regular", + vidconsole_get_font(dev, &size)); + ut_asserteq(18, size); + + max_metrics = 1; + if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE)) + max_metrics = IF_ENABLED_INT(CONFIG_CONSOLE_TRUETYPE, + CONFIG_CONSOLE_TRUETYPE_MAX_METRICS); + + ret = run_command("font select cantoraone_regular 40", 0); + if (max_metrics < 2) { + ut_asserteq(1, ret); + ut_assert_nextline("Failed (error -7)"); + ut_assertok(ut_check_console_end(uts)); + return 0; + } + + ut_assertok(ret); + ut_assertok(ut_check_console_end(uts)); + + ut_asserteq_str("cantoraone_regular", + vidconsole_get_font(dev, &size)); + ut_asserteq(40, size); + + ut_assertok(run_command("font size 30", 0)); + ut_assertok(ut_check_console_end(uts)); + + ut_asserteq_str("cantoraone_regular", + vidconsole_get_font(dev, &size)); + ut_asserteq(30, size); + + return 0; +} +FONT_TEST(font_test_base, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT | + UT_TESTF_CONSOLE_REC | UT_TESTF_DM); + +int do_ut_font(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) +{ + struct unit_test *tests = UNIT_TEST_SUITE_START(font_Test); + const int n_ents = UNIT_TEST_SUITE_COUNT(font_test); + + return cmd_ut_category("font", "font_test_", tests, n_ents, argc, argv); +} diff --git a/test/cmd_ut.c b/test/cmd_ut.c index 99e53dddc15..dc88c5fb88c 100644 --- a/test/cmd_ut.c +++ b/test/cmd_ut.c @@ -49,6 +49,9 @@ static struct cmd_tbl cmd_ut_sub[] = { #ifdef CONFIG_CMD_FDT U_BOOT_CMD_MKENT(fdt, CONFIG_SYS_MAXARGS, 1, do_ut_fdt, "", ""), #endif +#ifdef CONFIG_CONSOLE_TRUETYPE + U_BOOT_CMD_MKENT(font, CONFIG_SYS_MAXARGS, 1, do_ut_font, "", ""), +#endif #ifdef CONFIG_UT_OPTEE U_BOOT_CMD_MKENT(optee, CONFIG_SYS_MAXARGS, 1, do_ut_optee, "", ""), #endif @@ -144,6 +147,9 @@ static char ut_help_text[] = #ifdef CONFIG_CMD_FDT "ut fdt [test-name] - test of the fdt command\n" #endif +#ifdef CONFIG_CONSOLE_TRUETYPE + "ut font [test-name] - test of the font command\n" +#endif #ifdef CONFIG_UT_LIB "ut lib [test-name] - test library functions\n" #endif From e90322f87c97a4829c44fe77435c9faca87cbfc8 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:17 -0600 Subject: [PATCH 17/59] video: Add a function to get the dimensions of a BMP image This is useful for some other users, so break this out into a function. Signed-off-by: Simon Glass --- drivers/video/video_bmp.c | 16 ++++++++++++---- include/video.h | 11 +++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c index 082895a50ec..6188a13e44e 100644 --- a/drivers/video/video_bmp.c +++ b/drivers/video/video_bmp.c @@ -229,6 +229,16 @@ static void video_splash_align_axis(int *axis, unsigned long panel_size, *axis = max(0, (int)axis_alignment); } +void video_bmp_get_info(void *bmp_image, ulong *widthp, ulong *heightp, + uint *bpixp) +{ + struct bmp_image *bmp = bmp_image; + + *widthp = get_unaligned_le32(&bmp->header.width); + *heightp = get_unaligned_le32(&bmp->header.height); + *bpixp = get_unaligned_le16(&bmp->header.bit_count); +} + int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, bool align) { @@ -253,9 +263,7 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, return -EINVAL; } - width = get_unaligned_le32(&bmp->header.width); - height = get_unaligned_le32(&bmp->header.height); - bmp_bpix = get_unaligned_le16(&bmp->header.bit_count); + video_bmp_get_info(bmp, &width, &height, &bmp_bpix); hdr_size = get_unaligned_le16(&bmp->header.size); debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix); palette = (void *)bmp + 14 + hdr_size; @@ -283,7 +291,7 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y, !(bmp_bpix == 24 && bpix == 16) && !(bmp_bpix == 24 && bpix == 32)) { printf("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", - bpix, get_unaligned_le16(&bmp->header.bit_count)); + bpix, colours); return -EPERM; } diff --git a/include/video.h b/include/video.h index 2e68dd717ef..32afb26a45b 100644 --- a/include/video.h +++ b/include/video.h @@ -223,6 +223,17 @@ int video_sync(struct udevice *vid, bool force); */ void video_sync_all(void); +/** + * video_bmp_get_info() - Get information about a bitmap image + * + * @bmp_image: Pointer to BMP image to check + * @widthp: Returns width in pixels + * @heightp: Returns height in pixels + * @bpixp: Returns log2 of bits per pixel + */ +void video_bmp_get_info(void *bmp_image, ulong *widthp, ulong *heightp, + uint *bpixp); + /** * video_bmp_display() - Display a BMP file * From c830e285f475e580eb45290d54e9d174a57a7d71 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 6 Oct 2022 08:36:18 -0600 Subject: [PATCH 18/59] video: Add a way to get the default font height This is not as simple as it seems. Add a function to provide it so that the upcoming menu feature can space lines out correctly. Signed-off-by: Simon Glass --- drivers/video/video-uclass.c | 11 +++++++++++ include/video.h | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index fbe1ad169e9..0ce376ca3f1 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -421,6 +421,17 @@ static int show_splash(struct udevice *dev) return 0; } +int video_default_font_height(struct udevice *dev) +{ + struct vidconsole_priv *vc_priv = dev_get_uclass_priv(dev); + + if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE)) + return IF_ENABLED_INT(CONFIG_CONSOLE_TRUETYPE, + CONFIG_CONSOLE_TRUETYPE_SIZE); + + return vc_priv->y_charsize; +} + /* Set up the display ready for use */ static int video_post_probe(struct udevice *dev) { diff --git a/include/video.h b/include/video.h index 32afb26a45b..529f9685183 100644 --- a/include/video.h +++ b/include/video.h @@ -286,6 +286,15 @@ void video_set_flush_dcache(struct udevice *dev, bool flush); */ void video_set_default_colors(struct udevice *dev, bool invert); +/** + * video_default_font_height() - Get the default font height + * + * @dev: video device + * Returns: Default font height in pixels, which depends on which console driver + * is in use + */ +int video_default_font_height(struct udevice *dev); + #ifdef CONFIG_VIDEO_COPY /** * vidconsole_sync_copy() - Sync back to the copy framebuffer From a638d9a47c8ebc36ded79726e48b46ededc64e59 Mon Sep 17 00:00:00 2001 From: Julien Masson Date: Mon, 17 Oct 2022 10:33:21 +0200 Subject: [PATCH 19/59] splash: support raw image from MMC The user has now the choice to specify the splash location in the MMC as a raw storage. Signed-off-by: Julien Masson Reviewed-by: Simon Glass --- common/splash.c | 6 ++++++ common/splash_source.c | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/common/splash.c b/common/splash.c index 0e520cc1030..5206e35f74d 100644 --- a/common/splash.c +++ b/common/splash.c @@ -39,6 +39,12 @@ static struct splash_location default_splash_locations[] = { .flags = SPLASH_STORAGE_FS, .devpart = "0:1", }, + { + .name = "mmc_raw", + .storage = SPLASH_STORAGE_MMC, + .flags = SPLASH_STORAGE_RAW, + .devpart = "0:1", + }, { .name = "usb_fs", .storage = SPLASH_STORAGE_USB, diff --git a/common/splash_source.c b/common/splash_source.c index 87e55a54f8c..68c9fa371b7 100644 --- a/common/splash_source.c +++ b/common/splash_source.c @@ -65,6 +65,30 @@ static int splash_nand_read_raw(u32 bmp_load_addr, int offset, size_t read_size) } #endif +static int splash_mmc_read_raw(u32 bmp_load_addr, struct splash_location *location, + size_t read_size) +{ + struct disk_partition partition; + struct blk_desc *desc; + lbaint_t blkcnt; + int ret, n; + + if (!IS_ENABLED(CONFIG_CMD_MMC)) { + debug("%s: mmc support not available\n", __func__); + return -ENOSYS; + } + + ret = part_get_info_by_dev_and_name_or_num("mmc", location->devpart, &desc, + &partition, 1); + if (ret < 0) + return ret; + + blkcnt = DIV_ROUND_UP(read_size, partition.blksz); + n = blk_dread(desc, partition.start, blkcnt, (void *)(uintptr_t)bmp_load_addr); + + return (n == blkcnt) ? 0 : -EIO; +} + static int splash_storage_read_raw(struct splash_location *location, u32 bmp_load_addr, size_t read_size) { @@ -75,6 +99,8 @@ static int splash_storage_read_raw(struct splash_location *location, offset = location->offset; switch (location->storage) { + case SPLASH_STORAGE_MMC: + return splash_mmc_read_raw(bmp_load_addr, location, read_size); case SPLASH_STORAGE_NAND: return splash_nand_read_raw(bmp_load_addr, offset, read_size); case SPLASH_STORAGE_SF: From 7fcb30c0e023fcdce59eb28a824faac5d527d99d Mon Sep 17 00:00:00 2001 From: Julien Masson Date: Mon, 17 Oct 2022 10:33:22 +0200 Subject: [PATCH 20/59] splash: get devpart from environment variable By default several types of splash locations are supported and the user can select one of them through environment var (splashsource). However the devpart is still hardcoded and we cannot change it from the environment. This patch add the support of "splashdevpart" which allow the user to set the devpart though this environment variable. Example: image located in splashscreen partition (MMC as raw) ``` splashsource=mmc_raw splashdevpart=0#splashscreen ``` Signed-off-by: Julien Masson Reviewed-by: Simon Glass --- common/splash_source.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/common/splash_source.c b/common/splash_source.c index 68c9fa371b7..a2601376198 100644 --- a/common/splash_source.c +++ b/common/splash_source.c @@ -448,6 +448,7 @@ int splash_source_load(struct splash_location *locations, uint size) { struct splash_location *splash_location; char *env_splashimage_value; + char *devpart; u32 bmp_load_addr; env_splashimage_value = env_get("splashimage"); @@ -464,6 +465,10 @@ int splash_source_load(struct splash_location *locations, uint size) if (!splash_location) return -EINVAL; + devpart = env_get("splashdevpart"); + if (devpart) + splash_location->devpart = devpart; + if (splash_location->flags == SPLASH_STORAGE_RAW) return splash_load_raw(splash_location, bmp_load_addr); else if (splash_location->flags == SPLASH_STORAGE_FS) From 988d19dd5bd38181f3bfcafb2c159f367e39d627 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:24:16 -0600 Subject: [PATCH 21/59] video: Split SPLASH_SCREEN_ALIGN from bmp command The bmp command already has a way to centre the image. Using this CONFIG option to also centre it makes it impossible to control where images are placed on the screen. Drop the extra check. Simplify the Kconfig file we are here. Signed-off-by: Simon Glass --- cmd/bmp.c | 4 +--- drivers/video/Kconfig | 7 ++++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cmd/bmp.c b/cmd/bmp.c index 45f4c1296de..d72a826ae74 100644 --- a/cmd/bmp.c +++ b/cmd/bmp.c @@ -259,9 +259,7 @@ int bmp_display(ulong addr, int x, int y) if (!ret) { bool align = false; - if (CONFIG_IS_ENABLED(SPLASH_SCREEN_ALIGN) || - x == BMP_ALIGN_CENTER || - y == BMP_ALIGN_CENTER) + if (x == BMP_ALIGN_CENTER || y == BMP_ALIGN_CENTER) align = true; ret = video_bmp_display(dev, addr, x, y, align); diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 32938376655..4d6c987df9c 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -838,9 +838,10 @@ config SPLASH_SCREEN image data before it is processed and sent to the frame buffer by U-Boot. Define your own version to use this feature. +if SPLASH_SCREEN + config SPLASHIMAGE_GUARD bool "Support unaligned BMP images" - depends on SPLASH_SCREEN help If this option is set, then U-Boot will prevent the environment variable "splashimage" from being set to a problematic address @@ -854,7 +855,6 @@ config SPLASHIMAGE_GUARD config SPLASH_SCREEN_ALIGN bool "Allow positioning the splash image anywhere on the display" - depends on SPLASH_SCREEN || CMD_BMP help If this option is set the splash image can be freely positioned on the screen. Environment variable "splashpos" specifies the @@ -876,7 +876,6 @@ config SPLASH_SCREEN_ALIGN config SPLASH_SOURCE bool "Control the source of the splash image" - depends on SPLASH_SCREEN help Use the splash_source.c library. This library provides facilities to declare board specific splash image locations, routines for loading @@ -907,6 +906,8 @@ config SPLASH_SOURCE In case the environment variable "splashfile" is not defined the default name 'splash.bmp' will be used. +endif # SPLASH_SCREEN + config VIDEO_BMP_GZIP bool "Gzip compressed BMP image support" depends on CMD_BMP || SPLASH_SCREEN From 4adc28ebc6b2fb9acc6abbb15186de528d502ef7 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:30:56 -0600 Subject: [PATCH 22/59] Convert CONFIG_HIDE_LOGO_VERSION to Kconfig This converts the following to Kconfig: CONFIG_HIDE_LOGO_VERSION Signed-off-by: Simon Glass --- configs/gwventana_emmc_defconfig | 1 + configs/gwventana_gw5904_defconfig | 1 + configs/gwventana_nand_defconfig | 1 + drivers/video/Kconfig | 9 +++++++++ include/configs/ge_b1x5v2.h | 1 - include/configs/ge_bx50v3.h | 1 - include/configs/gw_ventana.h | 1 - scripts/config_whitelist.txt | 1 - 8 files changed, 12 insertions(+), 4 deletions(-) diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig index decbf5fbd60..e1df6c76a35 100644 --- a/configs/gwventana_emmc_defconfig +++ b/configs/gwventana_emmc_defconfig @@ -161,6 +161,7 @@ CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y +CONFIG_HIDE_LOGO_VERSION=y CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 CONFIG_IMX_WATCHDOG=y CONFIG_FDT_FIXUP_PARTITIONS=y diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig index a5b31514ff1..8d1bd9f8a9a 100644 --- a/configs/gwventana_gw5904_defconfig +++ b/configs/gwventana_gw5904_defconfig @@ -165,6 +165,7 @@ CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y +CONFIG_HIDE_LOGO_VERSION=y CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 CONFIG_IMX_WATCHDOG=y CONFIG_FDT_FIXUP_PARTITIONS=y diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig index ff826deb73e..c8701aa1e22 100644 --- a/configs/gwventana_nand_defconfig +++ b/configs/gwventana_nand_defconfig @@ -171,6 +171,7 @@ CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y +CONFIG_HIDE_LOGO_VERSION=y CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 CONFIG_IMX_WATCHDOG=y CONFIG_FDT_FIXUP_PARTITIONS=y diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 4d6c987df9c..3e933ed76c8 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -874,6 +874,15 @@ config SPLASH_SCREEN_ALIGN => vertically centered image at x = dspWidth - bmpWidth - 9 +config HIDE_LOGO_VERSION + bool "Hide the version information on the splash screen" + help + Normally the U-Boot version string is shown on the display when the + splash screen is enabled. This information is not otherwise visible + since video starts up after U-Boot has displayed the initial banner. + + Enable this option to hide this information. + config SPLASH_SOURCE bool "Control the source of the splash image" help diff --git a/include/configs/ge_b1x5v2.h b/include/configs/ge_b1x5v2.h index 95ba20c686b..176f80bb09b 100644 --- a/include/configs/ge_b1x5v2.h +++ b/include/configs/ge_b1x5v2.h @@ -34,7 +34,6 @@ #define CONFIG_USBD_HS /* Video */ -#define CONFIG_HIDE_LOGO_VERSION #define CONFIG_IMX_VIDEO_SKIP /* Memory */ diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h index ad00769bdee..ab8c66f263d 100644 --- a/include/configs/ge_bx50v3.h +++ b/include/configs/ge_bx50v3.h @@ -103,7 +103,6 @@ #define CONFIG_SYS_FSL_USDHC_NUM 3 /* Framebuffer */ -#define CONFIG_HIDE_LOGO_VERSION #define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 82076ff74ff..bba64af2c91 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -47,7 +47,6 @@ /* Framebuffer and LCD */ #define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP -#define CONFIG_HIDE_LOGO_VERSION /* Custom config to hide U-boot version */ /* Miscellaneous configurable options */ #define CONFIG_HWCONFIG diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 4c760fe62c8..e6ee4cfb858 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -64,7 +64,6 @@ CONFIG_G_DNL_THOR_VENDOR_NUM CONFIG_G_DNL_UMS_PRODUCT_NUM CONFIG_G_DNL_UMS_VENDOR_NUM CONFIG_HDMI_ENCODER_I2C_ADDR -CONFIG_HIDE_LOGO_VERSION CONFIG_HIKEY_GPIO CONFIG_HOSTNAME CONFIG_HPS_ALTERAGRP_DBGATCLK From e65500338427b64e83a59432242a1ef295dd95f0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:46:08 -0600 Subject: [PATCH 23/59] video: Rename CONFIG_SYS_VIDEO_LOGO_MAX_SIZE This option should not have the SYS_ in it. Drop it so it fits in with the other video options. Also simplify the alignment code in gunzip_bmp(), since malloc() always returns a 32-bit-aligned pointer. Signed-off-by: Simon Glass --- board/menlo/m53menlo/m53menlo.c | 6 +++--- cmd/bmp.c | 19 ++++++++----------- drivers/video/Kconfig | 3 +++ include/configs/m53menlo.h | 2 +- include/configs/mx23evk.h | 2 +- include/configs/mx28evk.h | 2 +- include/configs/nitrogen6x.h | 2 +- include/configs/s5pc210_universal.h | 2 +- include/configs/trats.h | 2 +- include/configs/trats2.h | 2 +- scripts/config_whitelist.txt | 2 +- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c index 4afc5aaa436..14324c7087d 100644 --- a/board/menlo/m53menlo/m53menlo.c +++ b/board/menlo/m53menlo/m53menlo.c @@ -358,7 +358,7 @@ int board_late_init(void) return 0; addr = hextoul(s, NULL); - dst = malloc(CONFIG_SYS_VIDEO_LOGO_MAX_SIZE); + dst = malloc(CONFIG_VIDEO_LOGO_MAX_SIZE); if (!dst) return -ENOMEM; @@ -366,8 +366,8 @@ int board_late_init(void) if (ret < 0) goto splasherr; - len = CONFIG_SYS_VIDEO_LOGO_MAX_SIZE; - ret = gunzip(dst + 2, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE - 2, + len = CONFIG_VIDEO_LOGO_MAX_SIZE; + ret = gunzip(dst + 2, CONFIG_VIDEO_LOGO_MAX_SIZE - 2, (uchar *)addr, &len); if (ret) { printf("Error: no valid bmp or bmp.gz image at %lx\n", addr); diff --git a/cmd/bmp.c b/cmd/bmp.c index d72a826ae74..5a3c8ddf8c8 100644 --- a/cmd/bmp.c +++ b/cmd/bmp.c @@ -48,27 +48,24 @@ struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp, /* * Decompress bmp image */ - len = CONFIG_SYS_VIDEO_LOGO_MAX_SIZE; + len = CONFIG_VIDEO_LOGO_MAX_SIZE; /* allocate extra 3 bytes for 32-bit-aligned-address + 2 alignment */ - dst = malloc(CONFIG_SYS_VIDEO_LOGO_MAX_SIZE + 3); - if (dst == NULL) { + dst = malloc(CONFIG_VIDEO_LOGO_MAX_SIZE + 3); + if (!dst) { puts("Error: malloc in gunzip failed!\n"); return NULL; } - bmp = dst; - /* align to 32-bit-aligned-address + 2 */ - bmp = (struct bmp_image *)((((uintptr_t)dst + 1) & ~3) + 2); + bmp = dst + 2; - if (gunzip(bmp, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE, map_sysmem(addr, 0), - &len) != 0) { + if (gunzip(bmp, CONFIG_VIDEO_LOGO_MAX_SIZE, map_sysmem(addr, 0), + &len)) { free(dst); return NULL; } - if (len == CONFIG_SYS_VIDEO_LOGO_MAX_SIZE) - puts("Image could be truncated" - " (increase CONFIG_SYS_VIDEO_LOGO_MAX_SIZE)!\n"); + if (len == CONFIG_VIDEO_LOGO_MAX_SIZE) + puts("Image could be truncated (increase CONFIG_VIDEO_LOGO_MAX_SIZE)!\n"); /* * Check for bmp mark 'BM' diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 3e933ed76c8..d160271abeb 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -925,6 +925,9 @@ config VIDEO_BMP_GZIP images, gzipped BMP images can be displayed via the splashscreen support or the bmp command. +config VIDEO_LOGO_MAX_SIZE + bool "Maximum size of the bitmap logo in bytes" + config VIDEO_BMP_RLE8 bool "Run length encoded BMP image (RLE8) support" depends on DM_VIDEO diff --git a/include/configs/m53menlo.h b/include/configs/m53menlo.h index 0499e633512..139919f391e 100644 --- a/include/configs/m53menlo.h +++ b/include/configs/m53menlo.h @@ -81,7 +81,7 @@ /* * LCD */ -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20) +#define CONFIG_VIDEO_LOGO_MAX_SIZE (2 << 20) /* LVDS display */ #define CONFIG_SYS_LDB_CLOCK 33260000 diff --git a/include/configs/mx23evk.h b/include/configs/mx23evk.h index 3507e83fb38..69d4552546f 100644 --- a/include/configs/mx23evk.h +++ b/include/configs/mx23evk.h @@ -23,7 +23,7 @@ /* Framebuffer support */ #ifdef CONFIG_DM_VIDEO -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10) +#define CONFIG_VIDEO_LOGO_MAX_SIZE (512 << 10) #endif /* Extra Environments */ diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h index 9f3ac48b70a..6c2fcbf7645 100644 --- a/include/configs/mx28evk.h +++ b/include/configs/mx28evk.h @@ -26,7 +26,7 @@ /* Framebuffer support */ #ifdef CONFIG_DM_VIDEO -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10) +#define CONFIG_VIDEO_LOGO_MAX_SIZE (512 << 10) #endif /* Extra Environment */ diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h index 26e6de2d2c8..ee3c5e4afa8 100644 --- a/include/configs/nitrogen6x.h +++ b/include/configs/nitrogen6x.h @@ -27,7 +27,7 @@ #define CONFIG_MXC_USB_FLAGS 0 /* Framebuffer and LCD */ -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (6 * 1024 * 1024) +#define CONFIG_VIDEO_LOGO_MAX_SIZE (6 * 1024 * 1024) #define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index 137537d65f6..585c67b7912 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -121,6 +121,6 @@ int universal_spi_read(void); * LCD Settings */ #define CONFIG_LD9040 -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) +#define CONFIG_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) #endif /* __CONFIG_H */ diff --git a/include/configs/trats.h b/include/configs/trats.h index 530b413d5b6..973d15962cd 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -148,6 +148,6 @@ #define LCD_BPP LCD_COLOR16 /* LCD */ -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) +#define CONFIG_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) #endif /* __CONFIG_H */ diff --git a/include/configs/trats2.h b/include/configs/trats2.h index 06c1fcd23e0..24afc220226 100644 --- a/include/configs/trats2.h +++ b/include/configs/trats2.h @@ -138,6 +138,6 @@ #define LCD_BPP LCD_COLOR16 /* LCD */ -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) +#define CONFIG_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) #endif /* __CONFIG_H */ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index e6ee4cfb858..18ccfc60477 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -1279,7 +1279,6 @@ CONFIG_SYS_VCXK_INVERT_PORT CONFIG_SYS_VCXK_REQUEST_DDR CONFIG_SYS_VCXK_REQUEST_PIN CONFIG_SYS_VCXK_REQUEST_PORT -CONFIG_SYS_VIDEO_LOGO_MAX_SIZE CONFIG_SYS_VSC7385_BASE CONFIG_SYS_VSC7385_BASE_PHYS CONFIG_SYS_VSC7385_BR_PRELIM @@ -1347,6 +1346,7 @@ CONFIG_USB_TTY CONFIG_U_BOOT_HDR_SIZE CONFIG_VAR_SIZE_SPL CONFIG_VERY_BIG_RAM +CONFIG_VIDEO_LOGO_MAX_SIZE CONFIG_VSC7385_ENET CONFIG_VSC7385_IMAGE CONFIG_VSC7385_IMAGE_SIZE From 2fd5a57af6cdb256c24d561bd7c6a0d10ccb542e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:49:18 -0600 Subject: [PATCH 24/59] Convert CONFIG_VIDEO_LOGO_MAX_SIZE to Kconfig This converts the following to Kconfig: CONFIG_VIDEO_LOGO_MAX_SIZE Signed-off-by: Simon Glass --- configs/m53menlo_defconfig | 1 + configs/mx6qsabrelite_defconfig | 1 + configs/nitrogen6dl2g_defconfig | 1 + configs/nitrogen6dl_defconfig | 1 + configs/nitrogen6q2g_defconfig | 1 + configs/nitrogen6q_defconfig | 1 + configs/nitrogen6s1g_defconfig | 1 + configs/nitrogen6s_defconfig | 1 + configs/s5pc210_universal_defconfig | 1 + configs/trats2_defconfig | 1 + configs/trats_defconfig | 1 + drivers/video/Kconfig | 7 ++++++- include/configs/m53menlo.h | 5 ----- include/configs/mx23evk.h | 11 ----------- include/configs/mx28evk.h | 7 ------- include/configs/nitrogen6x.h | 1 - include/configs/s5pc210_universal.h | 1 - include/configs/trats.h | 3 --- include/configs/trats2.h | 3 --- scripts/config_whitelist.txt | 1 - 20 files changed, 17 insertions(+), 33 deletions(-) diff --git a/configs/m53menlo_defconfig b/configs/m53menlo_defconfig index 4bd98d235b6..d7e864e83df 100644 --- a/configs/m53menlo_defconfig +++ b/configs/m53menlo_defconfig @@ -126,6 +126,7 @@ CONFIG_SPLASHIMAGE_GUARD=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_SPLASH_SOURCE=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x200000 CONFIG_BMP_16BPP=y CONFIG_WATCHDOG_TIMEOUT_MSECS=8000 CONFIG_IMX_WATCHDOG=y diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig index 2834e479e88..a440bf4dd48 100644 --- a/configs/mx6qsabrelite_defconfig +++ b/configs/mx6qsabrelite_defconfig @@ -92,5 +92,6 @@ CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x600000 CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y diff --git a/configs/nitrogen6dl2g_defconfig b/configs/nitrogen6dl2g_defconfig index 7da9dade3ac..3d7027de141 100644 --- a/configs/nitrogen6dl2g_defconfig +++ b/configs/nitrogen6dl2g_defconfig @@ -97,5 +97,6 @@ CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x600000 CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig index 2e9be9cc66d..dd1f0584a70 100644 --- a/configs/nitrogen6dl_defconfig +++ b/configs/nitrogen6dl_defconfig @@ -97,5 +97,6 @@ CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x600000 CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig index dd513faddca..89a2fb72eb1 100644 --- a/configs/nitrogen6q2g_defconfig +++ b/configs/nitrogen6q2g_defconfig @@ -100,5 +100,6 @@ CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x600000 CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig index 9e4374cae00..176e4fb800f 100644 --- a/configs/nitrogen6q_defconfig +++ b/configs/nitrogen6q_defconfig @@ -100,5 +100,6 @@ CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x600000 CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y diff --git a/configs/nitrogen6s1g_defconfig b/configs/nitrogen6s1g_defconfig index aa28beee345..6522a103f6c 100644 --- a/configs/nitrogen6s1g_defconfig +++ b/configs/nitrogen6s1g_defconfig @@ -97,5 +97,6 @@ CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x600000 CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig index d98c213652d..dc2a8183b83 100644 --- a/configs/nitrogen6s_defconfig +++ b/configs/nitrogen6s_defconfig @@ -97,5 +97,6 @@ CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_GZIP=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x600000 CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig index c2e1b67ce6f..9443be7dfa9 100644 --- a/configs/s5pc210_universal_defconfig +++ b/configs/s5pc210_universal_defconfig @@ -62,3 +62,4 @@ CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_FUNCTION_THOR=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x4e236 diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig index c86c3975ff4..a4417560b1c 100644 --- a/configs/trats2_defconfig +++ b/configs/trats2_defconfig @@ -65,4 +65,5 @@ CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_FUNCTION_THOR=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x4e236 CONFIG_LIB_HW_RAND=y diff --git a/configs/trats_defconfig b/configs/trats_defconfig index 9bded4cb57f..76e2c2644e2 100644 --- a/configs/trats_defconfig +++ b/configs/trats_defconfig @@ -62,4 +62,5 @@ CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_FUNCTION_THOR=y +CONFIG_VIDEO_LOGO_MAX_SIZE=0x4e236 CONFIG_LIB_HW_RAND=y diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index d160271abeb..3a692b8a3c5 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -926,7 +926,12 @@ config VIDEO_BMP_GZIP splashscreen support or the bmp command. config VIDEO_LOGO_MAX_SIZE - bool "Maximum size of the bitmap logo in bytes" + hex "Maximum size of the bitmap logo in bytes" + default 0x100000 + help + Sets the maximum uncompressed size of the logo. This is needed when + decompressing a BMP file using the gzip algorithm, since it cannot + read the size from the bitmap header. config VIDEO_BMP_RLE8 bool "Run length encoded BMP image (RLE8) support" diff --git a/include/configs/m53menlo.h b/include/configs/m53menlo.h index 139919f391e..03e1619c869 100644 --- a/include/configs/m53menlo.h +++ b/include/configs/m53menlo.h @@ -78,11 +78,6 @@ #define CONFIG_MXC_USB_FLAGS 0 #endif -/* - * LCD - */ -#define CONFIG_VIDEO_LOGO_MAX_SIZE (2 << 20) - /* LVDS display */ #define CONFIG_SYS_LDB_CLOCK 33260000 #define CONFIG_IMX_VIDEO_SKIP diff --git a/include/configs/mx23evk.h b/include/configs/mx23evk.h index 69d4552546f..4c0531212ed 100644 --- a/include/configs/mx23evk.h +++ b/include/configs/mx23evk.h @@ -15,17 +15,6 @@ #define PHYS_SDRAM_1_SIZE 0x08000000 /* Max 128 MB RAM */ #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -/* Environment */ - -/* Environment is in MMC */ - -/* USB */ - -/* Framebuffer support */ -#ifdef CONFIG_DM_VIDEO -#define CONFIG_VIDEO_LOGO_MAX_SIZE (512 << 10) -#endif - /* Extra Environments */ #define CONFIG_EXTRA_ENV_SETTINGS \ "update_sd_firmware_filename=u-boot.sd\0" \ diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h index 6c2fcbf7645..140f5e98c52 100644 --- a/include/configs/mx28evk.h +++ b/include/configs/mx28evk.h @@ -22,13 +22,6 @@ #define CONFIG_RTC_MXS #endif -/* USB */ - -/* Framebuffer support */ -#ifdef CONFIG_DM_VIDEO -#define CONFIG_VIDEO_LOGO_MAX_SIZE (512 << 10) -#endif - /* Extra Environment */ #define CONFIG_EXTRA_ENV_SETTINGS \ "ubifs_file=filesystem.ubifs\0" \ diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h index ee3c5e4afa8..d507f8f11c0 100644 --- a/include/configs/nitrogen6x.h +++ b/include/configs/nitrogen6x.h @@ -27,7 +27,6 @@ #define CONFIG_MXC_USB_FLAGS 0 /* Framebuffer and LCD */ -#define CONFIG_VIDEO_LOGO_MAX_SIZE (6 * 1024 * 1024) #define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index 585c67b7912..a2b62f5f6de 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -121,6 +121,5 @@ int universal_spi_read(void); * LCD Settings */ #define CONFIG_LD9040 -#define CONFIG_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) #endif /* __CONFIG_H */ diff --git a/include/configs/trats.h b/include/configs/trats.h index 973d15962cd..daa8cc79b2f 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -147,7 +147,4 @@ /* LCD console */ #define LCD_BPP LCD_COLOR16 -/* LCD */ -#define CONFIG_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) - #endif /* __CONFIG_H */ diff --git a/include/configs/trats2.h b/include/configs/trats2.h index 24afc220226..052045a6014 100644 --- a/include/configs/trats2.h +++ b/include/configs/trats2.h @@ -137,7 +137,4 @@ /* LCD console */ #define LCD_BPP LCD_COLOR16 -/* LCD */ -#define CONFIG_VIDEO_LOGO_MAX_SIZE ((500 * 160 * 4) + 54) - #endif /* __CONFIG_H */ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 18ccfc60477..6e4b02ff37c 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -1346,7 +1346,6 @@ CONFIG_USB_TTY CONFIG_U_BOOT_HDR_SIZE CONFIG_VAR_SIZE_SPL CONFIG_VERY_BIG_RAM -CONFIG_VIDEO_LOGO_MAX_SIZE CONFIG_VSC7385_ENET CONFIG_VSC7385_IMAGE CONFIG_VSC7385_IMAGE_SIZE From b5b1ce8a21b6ff4c92af7e1942b9f97421a7f6df Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:00:37 -0600 Subject: [PATCH 25/59] video: lcd: Drop console rotation This option is not used in U-Boot anymore. Drop it option and the associated implementation. Signed-off-by: Simon Glass --- README | 21 ---- common/Makefile | 1 - common/lcd_console_rotation.c | 194 ---------------------------------- 3 files changed, 216 deletions(-) delete mode 100644 common/lcd_console_rotation.c diff --git a/README b/README index 186f1f9a5ff..ec492f9926c 100644 --- a/README +++ b/README @@ -823,27 +823,6 @@ The following options need to be configured: here, since it is cheaper to change data cache settings on a per-section basis. - - CONFIG_LCD_ROTATION - - Sometimes, for example if the display is mounted in portrait - mode or even if it's mounted landscape but rotated by 180degree, - we need to rotate our content of the display relative to the - framebuffer, so that user can read the messages which are - printed out. - Once CONFIG_LCD_ROTATION is defined, the lcd_console will be - initialized with a given rotation from "vl_rot" out of - "vidinfo_t" which is provided by the board specific code. - The value for vl_rot is coded as following (matching to - fbcon=rotate: linux-kernel commandline): - 0 = no rotation respectively 0 degree - 1 = 90 degree rotation - 2 = 180 degree rotation - 3 = 270 degree rotation - - If CONFIG_LCD_ROTATION is not defined, the console will be - initialized with 0degree rotation. - - MII/PHY support: CONFIG_PHY_CLOCK_FREQ (ppc4xx) diff --git a/common/Makefile b/common/Makefile index 1d56c9f2895..d3175b7a854 100644 --- a/common/Makefile +++ b/common/Makefile @@ -38,7 +38,6 @@ obj-$(CONFIG_SPLASH_SOURCE) += splash_source.o ifndef CONFIG_DM_VIDEO obj-$(CONFIG_LCD) += lcd.o lcd_console.o endif -obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o obj-$(CONFIG_MENU) += menu.o obj-$(CONFIG_UPDATE_COMMON) += update.o obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o diff --git a/common/lcd_console_rotation.c b/common/lcd_console_rotation.c deleted file mode 100644 index a5f5c6da7be..00000000000 --- a/common/lcd_console_rotation.c +++ /dev/null @@ -1,194 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2015 - * Bernecker & Rainer Industrieelektronik GmbH - http://www.br-automation.com - */ - -#include -#include -#include /* Get font data, width and height */ - -static void lcd_putc_xy90(struct console_t *pcons, ushort x, ushort y, char c) -{ - int fg_color = lcd_getfgcolor(); - int bg_color = lcd_getbgcolor(); - int col, i; - - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - (x+1) * pcons->lcdsizex - - y; - - uchar msk = 0x80; - uchar *pfont = video_fontdata + c * VIDEO_FONT_HEIGHT; - for (col = 0; col < VIDEO_FONT_WIDTH; ++col) { - for (i = 0; i < VIDEO_FONT_HEIGHT; ++i) - *dst-- = (*(pfont + i) & msk) ? fg_color : bg_color; - msk >>= 1; - dst += (pcons->lcdsizex + VIDEO_FONT_HEIGHT); - } -} - -static inline void console_setrow90(struct console_t *pcons, u32 row, int clr) -{ - int i, j; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - pcons->lcdsizex - - row*VIDEO_FONT_HEIGHT+1; - - for (j = 0; j < pcons->lcdsizey; j++) { - for (i = 0; i < VIDEO_FONT_HEIGHT; i++) - *dst-- = clr; - dst += (pcons->lcdsizex + VIDEO_FONT_HEIGHT); - } -} - -static inline void console_moverow90(struct console_t *pcons, - u32 rowdst, u32 rowsrc) -{ - int i, j; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - pcons->lcdsizex - - (rowdst*VIDEO_FONT_HEIGHT+1); - - fbptr_t *src = (fbptr_t *)pcons->fbbase + - pcons->lcdsizex - - (rowsrc*VIDEO_FONT_HEIGHT+1); - - for (j = 0; j < pcons->lcdsizey; j++) { - for (i = 0; i < VIDEO_FONT_HEIGHT; i++) - *dst-- = *src--; - src += (pcons->lcdsizex + VIDEO_FONT_HEIGHT); - dst += (pcons->lcdsizex + VIDEO_FONT_HEIGHT); - } -} -static void lcd_putc_xy180(struct console_t *pcons, ushort x, ushort y, char c) -{ - int fg_color = lcd_getfgcolor(); - int bg_color = lcd_getbgcolor(); - int i, row; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - pcons->lcdsizex + - pcons->lcdsizey * pcons->lcdsizex - - y * pcons->lcdsizex - - (x+1); - - for (row = 0; row < VIDEO_FONT_HEIGHT; row++) { - uchar bits = video_fontdata[c * VIDEO_FONT_HEIGHT + row]; - - for (i = 0; i < VIDEO_FONT_WIDTH; ++i) { - *dst-- = (bits & 0x80) ? fg_color : bg_color; - bits <<= 1; - } - dst -= (pcons->lcdsizex - VIDEO_FONT_WIDTH); - } -} - -static inline void console_setrow180(struct console_t *pcons, u32 row, int clr) -{ - int i; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - (pcons->rows-row-1) * VIDEO_FONT_HEIGHT * - pcons->lcdsizex; - - for (i = 0; i < (VIDEO_FONT_HEIGHT * pcons->lcdsizex); i++) - *dst++ = clr; -} - -static inline void console_moverow180(struct console_t *pcons, - u32 rowdst, u32 rowsrc) -{ - int i; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - (pcons->rows-rowdst-1) * VIDEO_FONT_HEIGHT * - pcons->lcdsizex; - - fbptr_t *src = (fbptr_t *)pcons->fbbase + - (pcons->rows-rowsrc-1) * VIDEO_FONT_HEIGHT * - pcons->lcdsizex; - - for (i = 0; i < (VIDEO_FONT_HEIGHT * pcons->lcdsizex); i++) - *dst++ = *src++; -} - -static void lcd_putc_xy270(struct console_t *pcons, ushort x, ushort y, char c) -{ - int fg_color = lcd_getfgcolor(); - int bg_color = lcd_getbgcolor(); - int i, col; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - pcons->lcdsizey * pcons->lcdsizex - - (x+1) * pcons->lcdsizex + - y; - - uchar msk = 0x80; - uchar *pfont = video_fontdata + c * VIDEO_FONT_HEIGHT; - for (col = 0; col < VIDEO_FONT_WIDTH; ++col) { - for (i = 0; i < VIDEO_FONT_HEIGHT; ++i) - *dst++ = (*(pfont + i) & msk) ? fg_color : bg_color; - msk >>= 1; - dst -= (pcons->lcdsizex + VIDEO_FONT_HEIGHT); - } -} - -static inline void console_setrow270(struct console_t *pcons, u32 row, int clr) -{ - int i, j; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - row*VIDEO_FONT_HEIGHT; - - for (j = 0; j < pcons->lcdsizey; j++) { - for (i = 0; i < VIDEO_FONT_HEIGHT; i++) - *dst++ = clr; - dst += (pcons->lcdsizex - VIDEO_FONT_HEIGHT); - } -} - -static inline void console_moverow270(struct console_t *pcons, - u32 rowdst, u32 rowsrc) -{ - int i, j; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - rowdst*VIDEO_FONT_HEIGHT; - - fbptr_t *src = (fbptr_t *)pcons->fbbase + - rowsrc*VIDEO_FONT_HEIGHT; - - for (j = 0; j < pcons->lcdsizey; j++) { - for (i = 0; i < VIDEO_FONT_HEIGHT; i++) - *dst++ = *src++; - src += (pcons->lcdsizex - VIDEO_FONT_HEIGHT); - dst += (pcons->lcdsizex - VIDEO_FONT_HEIGHT); - } -} - -static void console_calc_rowcol_rot(struct console_t *pcons) -{ - if (pcons->lcdrot == 1 || pcons->lcdrot == 3) - console_calc_rowcol(pcons, pcons->lcdsizey, pcons->lcdsizex); - else - console_calc_rowcol(pcons, pcons->lcdsizex, pcons->lcdsizey); -} - -void lcd_init_console_rot(struct console_t *pcons) -{ - if (pcons->lcdrot == 0) { - return; - } else if (pcons->lcdrot == 1) { - pcons->fp_putc_xy = &lcd_putc_xy90; - pcons->fp_console_moverow = &console_moverow90; - pcons->fp_console_setrow = &console_setrow90; - } else if (pcons->lcdrot == 2) { - pcons->fp_putc_xy = &lcd_putc_xy180; - pcons->fp_console_moverow = &console_moverow180; - pcons->fp_console_setrow = &console_setrow180; - } else if (pcons->lcdrot == 3) { - pcons->fp_putc_xy = &lcd_putc_xy270; - pcons->fp_console_moverow = &console_moverow270; - pcons->fp_console_setrow = &console_setrow270; - } else { - printf("%s: invalid framebuffer rotation (%d)!\n", - __func__, pcons->lcdrot); - return; - } - console_calc_rowcol_rot(pcons); -} From 832bcbb083ca66fe102e559b4fd96152e7145411 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:02:58 -0600 Subject: [PATCH 26/59] video: Drop CONFIG_LCD_ALIGNMENT This option is not needed now that the LCD implementation is being removed. Drop it. Signed-off-by: Simon Glass --- README | 8 -------- common/lcd.c | 8 -------- include/configs/nyan-big.h | 5 ----- include/configs/tegra20-common.h | 5 ----- scripts/config_whitelist.txt | 1 - 5 files changed, 27 deletions(-) diff --git a/README b/README index ec492f9926c..d1d4a62947a 100644 --- a/README +++ b/README @@ -815,14 +815,6 @@ The following options need to be configured: 320x240. Black & white. - CONFIG_LCD_ALIGNMENT - - Normally the LCD is page-aligned (typically 4KB). If this is - defined then the LCD will be aligned to this value instead. - For ARM it is sometimes useful to use MMU_SECTION_SIZE - here, since it is cheaper to change data cache settings on - a per-section basis. - - MII/PHY support: CONFIG_PHY_CLOCK_FREQ (ppc4xx) diff --git a/common/lcd.c b/common/lcd.c index a462b22a477..2134e603243 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -35,10 +35,6 @@ #endif #endif -#ifndef CONFIG_LCD_ALIGNMENT -#define CONFIG_LCD_ALIGNMENT PAGE_SIZE -#endif - #if (LCD_BPP != LCD_COLOR8) && (LCD_BPP != LCD_COLOR16) && \ (LCD_BPP != LCD_COLOR32) #error Unsupported LCD BPP. @@ -239,10 +235,6 @@ ulong lcd_setmem(ulong addr) size = lcd_get_size(&line_length); - /* Round up to nearest full page, or MMU section if defined */ - size = ALIGN(size, CONFIG_LCD_ALIGNMENT); - addr = ALIGN(addr - CONFIG_LCD_ALIGNMENT + 1, CONFIG_LCD_ALIGNMENT); - /* Allocate pages for the frame buffer. */ addr -= size; diff --git a/include/configs/nyan-big.h b/include/configs/nyan-big.h index bc5754566bd..c59e1032439 100644 --- a/include/configs/nyan-big.h +++ b/include/configs/nyan-big.h @@ -18,11 +18,6 @@ #define CONFIG_TEGRA_ENABLE_UARTA #define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTA_BASE -/* Environment in eMMC, at the end of 2nd "boot sector" */ - -/* Align LCD to 1MB boundary */ -#define CONFIG_LCD_ALIGNMENT MMU_SECTION_SIZE - /* SPI */ #define CONFIG_SPI_FLASH_SIZE (4 << 20) diff --git a/include/configs/tegra20-common.h b/include/configs/tegra20-common.h index 71867bb6baa..617bfb2197c 100644 --- a/include/configs/tegra20-common.h +++ b/include/configs/tegra20-common.h @@ -54,11 +54,6 @@ "fdt_addr_r=0x03000000\0" \ "ramdisk_addr_r=0x03100000\0" -/* Defines for SPL */ - -/* Align LCD to 1MB boundary */ -#define CONFIG_LCD_ALIGNMENT MMU_SECTION_SIZE - #ifdef CONFIG_TEGRA_LP0 #define TEGRA_LP0_ADDR 0x1C406000 #define TEGRA_LP0_SIZE 0x2000 diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 6e4b02ff37c..af56d445467 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -261,7 +261,6 @@ CONFIG_KSNET_SERDES_SGMII2_BASE CONFIG_KSNET_SERDES_SGMII_BASE CONFIG_L1_INIT_RAM CONFIG_L2_CACHE -CONFIG_LCD_ALIGNMENT CONFIG_LCD_MENU CONFIG_LD9040 CONFIG_LEGACY_BOOTCMD_ENV From 817f93422bf36cafe636cf093a5fce3ebe94d5c6 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:06:52 -0600 Subject: [PATCH 27/59] video: Drop CONFIG_LCD_MENU This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- board/samsung/common/board.c | 4 - board/samsung/common/misc.c | 339 ---------------------------- include/configs/s5pc210_universal.h | 3 - include/configs/trats.h | 3 - include/configs/trats2.h | 3 - include/samsung/misc.h | 15 -- scripts/config_whitelist.txt | 1 - 7 files changed, 368 deletions(-) diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index ff178b7fe67..04cfc5d6358 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -262,10 +262,6 @@ int misc_init_r(void) #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG set_board_info(); #endif -#ifdef CONFIG_LCD_MENU - keys_init(); - check_boot_mode(); -#endif #ifdef CONFIG_CMD_BMP if (panel_info.logo_on) draw_logo(); diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c index b3b1bbcc820..ee6d2d2a0d7 100644 --- a/board/samsung/common/misc.c +++ b/board/samsung/common/misc.c @@ -114,345 +114,6 @@ void set_board_info(void) } #endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */ -#ifdef CONFIG_LCD_MENU -static int power_key_pressed(u32 reg) -{ - struct udevice *dev; - int ret; - u32 status; - u32 mask; - - if (IS_ENABLED(CONFIG_TARGET_TRATS)) - ret = pmic_get("max8997-pmic", &dev); - else if (IS_ENABLED(CONFIG_TARGET_TRATS2)) - ret = pmic_get("max77686-pmic", &dev); - else if (IS_ENABLED(CONFIG_TARGET_S5PC210_UNIVERSAL)) - ret = pmic_get("max8998-pmic", &dev); - else - return 0; - - if (ret) - return ret; - - if (reg == KEY_PWR_STATUS_REG) - mask = KEY_PWR_STATUS_MASK; - else - mask = KEY_PWR_INTERRUPT_MASK; - - status = pmic_reg_read(dev, reg); - if (status < 0) - return status; - - return !!(status & mask); -} - -static int key_pressed(int key) -{ - int value; - - switch (key) { - case KEY_POWER: - value = power_key_pressed(KEY_PWR_INTERRUPT_REG); - break; - case KEY_VOLUMEUP: - value = !gpio_get_value(KEY_VOL_UP_GPIO); - break; - case KEY_VOLUMEDOWN: - value = !gpio_get_value(KEY_VOL_DOWN_GPIO); - break; - default: - value = 0; - break; - } - - return value; -} - -#ifdef CONFIG_LCD -static int check_keys(void) -{ - int keys = 0; - - if (key_pressed(KEY_POWER)) - keys += KEY_POWER; - if (key_pressed(KEY_VOLUMEUP)) - keys += KEY_VOLUMEUP; - if (key_pressed(KEY_VOLUMEDOWN)) - keys += KEY_VOLUMEDOWN; - - return keys; -} - -/* - * 0 BOOT_MODE_INFO - * 1 BOOT_MODE_THOR - * 2 BOOT_MODE_UMS - * 3 BOOT_MODE_DFU - * 4 BOOT_MODE_EXIT - */ -static char * -mode_name[BOOT_MODE_EXIT + 1][2] = { - {"DEVICE", ""}, - {"THOR", "thor"}, - {"UMS", "ums"}, - {"DFU", "dfu"}, - {"GPT", "gpt"}, - {"ENV", "env"}, - {"EXIT", ""}, -}; - -static char * -mode_info[BOOT_MODE_EXIT + 1] = { - "info", - "downloader", - "mass storage", - "firmware update", - "restore", - "default", - "and run normal boot" -}; - -static char * -mode_cmd[BOOT_MODE_EXIT + 1] = { - "", - "thor 0 mmc 0", - "ums 0 mmc 0", - "dfu 0 mmc 0", - "gpt write mmc 0 $partitions", - "env default -a; saveenv", - "", -}; - -static void display_board_info(void) -{ -#ifdef CONFIG_MMC - struct mmc *mmc = find_mmc_device(0); -#endif - vidinfo_t *vid = &panel_info; - - lcd_position_cursor(4, 4); - - lcd_printf("%s\n\t", U_BOOT_VERSION); - lcd_puts("\n\t\tBoard Info:\n"); -#ifdef CONFIG_SYS_BOARD - lcd_printf("\tBoard name: %s\n", CONFIG_SYS_BOARD); -#endif -#ifdef CONFIG_REVISION_TAG - lcd_printf("\tBoard rev: %u\n", get_board_rev()); -#endif - lcd_printf("\tDRAM banks: %u\n", CONFIG_NR_DRAM_BANKS); - lcd_printf("\tDRAM size: %u MB\n", gd->ram_size / SZ_1M); - -#ifdef CONFIG_MMC - if (mmc) { - if (!mmc->capacity) - mmc_init(mmc); - - lcd_printf("\teMMC size: %llu MB\n", mmc->capacity / SZ_1M); - } -#endif - if (vid) - lcd_printf("\tDisplay resolution: %u x % u\n", - vid->vl_col, vid->vl_row); - - lcd_printf("\tDisplay BPP: %u\n", 1 << vid->vl_bpix); -} -#endif - -static int mode_leave_menu(int mode) -{ -#ifdef CONFIG_LCD - char *exit_option; - char *exit_reset = "reset"; - char *exit_back = "back"; - struct cmd_tbl *cmd; - int cmd_result; - int leave; - - lcd_clear(); - - switch (mode) { - case BOOT_MODE_EXIT: - return 1; - case BOOT_MODE_INFO: - display_board_info(); - exit_option = exit_back; - leave = 0; - break; - default: - cmd = find_cmd(mode_name[mode][1]); - if (cmd) { - printf("Enter: %s %s\n", mode_name[mode][0], - mode_info[mode]); - lcd_printf("\n\n\t%s %s\n", mode_name[mode][0], - mode_info[mode]); - lcd_puts("\n\tDo not turn off device before finish!\n"); - - cmd_result = run_command(mode_cmd[mode], 0); - - if (cmd_result == CMD_RET_SUCCESS) { - printf("Command finished\n"); - lcd_clear(); - lcd_printf("\n\n\t%s finished\n", - mode_name[mode][0]); - - exit_option = exit_reset; - leave = 1; - } else { - printf("Command error\n"); - lcd_clear(); - lcd_printf("\n\n\t%s command error\n", - mode_name[mode][0]); - - exit_option = exit_back; - leave = 0; - } - } else { - lcd_puts("\n\n\tThis mode is not supported.\n"); - exit_option = exit_back; - leave = 0; - } - } - - lcd_printf("\n\n\tPress POWER KEY to %s\n", exit_option); - - /* Clear PWR button Rising edge interrupt status flag */ - power_key_pressed(KEY_PWR_INTERRUPT_REG); - - /* Wait for PWR key */ - while (!key_pressed(KEY_POWER)) - mdelay(1); - - lcd_clear(); - return leave; -#else - return 0; -#endif -} - -#ifdef CONFIG_LCD -static void display_download_menu(int mode) -{ - char *selection[BOOT_MODE_EXIT + 1]; - int i; - - for (i = 0; i <= BOOT_MODE_EXIT; i++) - selection[i] = "[ ]"; - - selection[mode] = "[=>]"; - - lcd_clear(); - lcd_printf("\n\n\t\tDownload Mode Menu\n\n"); - - for (i = 0; i <= BOOT_MODE_EXIT; i++) - lcd_printf("\t%s %s - %s\n\n", selection[i], - mode_name[i][0], mode_info[i]); -} -#endif - -static void download_menu(void) -{ -#ifdef CONFIG_LCD - int mode = 0; - int last_mode = 0; - int run; - int key = 0; - int timeout = 15; /* sec */ - int i; - - display_download_menu(mode); - - lcd_puts("\n"); - - /* Start count if no key is pressed */ - while (check_keys()) - continue; - - while (timeout--) { - lcd_printf("\r\tNormal boot will start in: %2.d seconds.", - timeout); - - /* about 1000 ms in for loop */ - for (i = 0; i < 10; i++) { - mdelay(100); - key = check_keys(); - if (key) - break; - } - if (key) - break; - } - - if (!key) { - lcd_clear(); - return; - } - - while (1) { - run = 0; - - if (mode != last_mode) - display_download_menu(mode); - - last_mode = mode; - mdelay(200); - - key = check_keys(); - switch (key) { - case KEY_POWER: - run = 1; - break; - case KEY_VOLUMEUP: - if (mode > 0) - mode--; - break; - case KEY_VOLUMEDOWN: - if (mode < BOOT_MODE_EXIT) - mode++; - break; - default: - break; - } - - if (run) { - if (mode_leave_menu(mode)) - run_command("reset", 0); - - display_download_menu(mode); - } - } - - lcd_clear(); -#endif -} - -void check_boot_mode(void) -{ - int pwr_key; - - pwr_key = power_key_pressed(KEY_PWR_STATUS_REG); - if (!pwr_key) - return; - - /* Clear PWR button Rising edge interrupt status flag */ - power_key_pressed(KEY_PWR_INTERRUPT_REG); - - if (key_pressed(KEY_VOLUMEUP)) - download_menu(); - else if (key_pressed(KEY_VOLUMEDOWN)) - mode_leave_menu(BOOT_MODE_THOR); -} - -void keys_init(void) -{ - /* Set direction to input */ - gpio_request(KEY_VOL_UP_GPIO, "volume-up"); - gpio_request(KEY_VOL_DOWN_GPIO, "volume-down"); - gpio_direction_input(KEY_VOL_UP_GPIO); - gpio_direction_input(KEY_VOL_DOWN_GPIO); -} -#endif /* CONFIG_LCD_MENU */ - #ifdef CONFIG_CMD_BMP void draw_logo(void) { diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index a2b62f5f6de..f94135355ab 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -98,9 +98,6 @@ int universal_spi_read(void); /* Common misc for Samsung */ #define CONFIG_MISC_COMMON -/* Download menu - Samsung common */ -#define CONFIG_LCD_MENU - /* Download menu - definitions for check keys */ #ifndef __ASSEMBLY__ diff --git a/include/configs/trats.h b/include/configs/trats.h index daa8cc79b2f..9e4cd6794cc 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -128,9 +128,6 @@ /* Common misc for Samsung */ #define CONFIG_MISC_COMMON -/* Download menu - Samsung common */ -#define CONFIG_LCD_MENU - /* Download menu - definitions for check keys */ #ifndef __ASSEMBLY__ diff --git a/include/configs/trats2.h b/include/configs/trats2.h index 052045a6014..dc28ded9825 100644 --- a/include/configs/trats2.h +++ b/include/configs/trats2.h @@ -118,9 +118,6 @@ /* Common misc for Samsung */ #define CONFIG_MISC_COMMON -/* Download menu - Samsung common */ -#define CONFIG_LCD_MENU - /* Download menu - definitions for check keys */ #ifndef __ASSEMBLY__ diff --git a/include/samsung/misc.h b/include/samsung/misc.h index 4ff28a1df0e..89546a1cbcc 100644 --- a/include/samsung/misc.h +++ b/include/samsung/misc.h @@ -9,21 +9,6 @@ u32 get_board_rev(void); void set_board_info(void); #endif -#ifdef CONFIG_LCD_MENU -enum { - BOOT_MODE_INFO, - BOOT_MODE_THOR, - BOOT_MODE_UMS, - BOOT_MODE_DFU, - BOOT_MODE_GPT, - BOOT_MODE_ENV, - BOOT_MODE_EXIT, -}; - -void keys_init(void); -void check_boot_mode(void); -#endif /* CONFIG_LCD_MENU */ - #ifdef CONFIG_CMD_BMP void draw_logo(void); #endif diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index af56d445467..1b1cd524cb5 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -261,7 +261,6 @@ CONFIG_KSNET_SERDES_SGMII2_BASE CONFIG_KSNET_SERDES_SGMII_BASE CONFIG_L1_INIT_RAM CONFIG_L2_CACHE -CONFIG_LCD_MENU CONFIG_LD9040 CONFIG_LEGACY_BOOTCMD_ENV CONFIG_LOADS_ECHO From 816605652dd062a655a077778ed0f5c9724646fd Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:08:59 -0600 Subject: [PATCH 28/59] video: Drop CONFIG_LCD_INFO_BELOW_LOGO This option is not used anymore since the LCD implementation is being removed. Drop it. Signed-off-by: Simon Glass --- api/api_display.c | 2 +- common/lcd.c | 6 +----- common/lcd_console.c | 2 +- drivers/video/Kconfig | 4 ---- include/lcd.h | 5 +---- 5 files changed, 4 insertions(+), 15 deletions(-) diff --git a/api/api_display.c b/api/api_display.c index 4f2cdd7330e..84debac48af 100644 --- a/api/api_display.c +++ b/api/api_display.c @@ -10,7 +10,7 @@ #include /* Get font width and height */ /* lcd.h needs BMP_LOGO_HEIGHT to calculate CONSOLE_ROWS */ -#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO) +#if defined(CONFIG_LCD_LOGO) #include #endif diff --git a/common/lcd.c b/common/lcd.c index 2134e603243..53ff8dd7444 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -178,7 +178,7 @@ void lcd_clear(void) } lcd_logo(); -#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO) +#if defined(CONFIG_LCD_LOGO) addr = (ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length; lcd_init_console((void *)addr, panel_info.vl_col, panel_info.vl_row, panel_info.vl_rot); @@ -209,11 +209,7 @@ static int lcd_init(void *lcdbase) /* Initialize the console */ lcd_set_col(0); -#ifdef CONFIG_LCD_INFO_BELOW_LOGO - lcd_set_row(7 + BMP_LOGO_HEIGHT / VIDEO_FONT_HEIGHT); -#else lcd_set_row(1); /* leave 1 blank line below logo */ -#endif return 0; } diff --git a/common/lcd_console.c b/common/lcd_console.c index ed36c78440c..cde96deb3c2 100644 --- a/common/lcd_console.c +++ b/common/lcd_console.c @@ -125,7 +125,7 @@ static inline void console_newline(void) void console_calc_rowcol(struct console_t *pcons, u32 sizex, u32 sizey) { pcons->cols = sizex / VIDEO_FONT_WIDTH; -#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO) +#if defined(CONFIG_LCD_LOGO) pcons->rows = (pcons->lcdsizey - BMP_LOGO_HEIGHT); pcons->rows /= VIDEO_FONT_HEIGHT; #else diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 3a692b8a3c5..9083267d007 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -736,10 +736,6 @@ config LCD_LOGO bool "Show a logo on screen" depends on LCD -config LCD_INFO_BELOW_LOGO - bool "Show LCD info below the on-screen logo" - depends on LCD_INFO && LCD_LOGO - config VIDEO_DW_HDMI bool help diff --git a/include/lcd.h b/include/lcd.h index 4f180692781..751b0032efc 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -144,10 +144,7 @@ void lcd_sync(void); #define LCD_COLOR16 4 #define LCD_COLOR32 5 -#if defined(CONFIG_LCD_INFO_BELOW_LOGO) -#define LCD_INFO_X 0 -#define LCD_INFO_Y (BMP_LOGO_HEIGHT + VIDEO_FONT_HEIGHT) -#elif defined(CONFIG_LCD_LOGO) +#if defined(CONFIG_LCD_LOGO) #define LCD_INFO_X (BMP_LOGO_WIDTH + 4 * VIDEO_FONT_WIDTH) #define LCD_INFO_Y VIDEO_FONT_HEIGHT #else From ba97899349a2a90e8799c79fdc1ab906bf439db4 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:11:32 -0600 Subject: [PATCH 29/59] video: Drop CONFIG_LCD_INFO This option is not used anymore since the LCD implementation is being removed. Drop it. Signed-off-by: Simon Glass --- board/atmel/at91sam9261ek/at91sam9261ek.c | 28 ------------ board/atmel/at91sam9263ek/at91sam9263ek.c | 45 ------------------- .../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 28 ------------ board/atmel/at91sam9n12ek/at91sam9n12ek.c | 30 ------------- board/atmel/at91sam9rlek/at91sam9rlek.c | 28 ------------ common/lcd.c | 5 --- configs/pm9261_defconfig | 1 - configs/pm9263_defconfig | 1 - drivers/video/Kconfig | 4 -- include/lcd.h | 8 ---- 10 files changed, 178 deletions(-) diff --git a/board/atmel/at91sam9261ek/at91sam9261ek.c b/board/atmel/at91sam9261ek/at91sam9261ek.c index 8a7a960c26b..e5fdf383996 100644 --- a/board/atmel/at91sam9261ek/at91sam9261ek.c +++ b/board/atmel/at91sam9261ek/at91sam9261ek.c @@ -194,34 +194,6 @@ static void at91sam9261ek_lcd_hw_init(void) #endif } -#ifdef CONFIG_LCD_INFO -#include -#include - -void lcd_show_board_info(void) -{ - ulong dram_size, nand_size; - int i; - char temp[32]; - - lcd_printf ("%s\n", U_BOOT_VERSION); - lcd_printf ("(C) 2008 ATMEL Corp\n"); - lcd_printf ("at91support@atmel.com\n"); - lcd_printf ("%s CPU at %s MHz\n", - ATMEL_CPU_NAME, - strmhz(temp, get_cpu_clk_rate())); - - dram_size = 0; - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) - dram_size += gd->bd->bi_dram[i].size; - nand_size = 0; - for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) - nand_size += get_nand_dev_by_index(i)->size; - lcd_printf (" %ld MB SDRAM, %ld MB NAND\n", - dram_size >> 20, - nand_size >> 20 ); -} -#endif /* CONFIG_LCD_INFO */ #endif #ifdef CONFIG_DEBUG_UART_BOARD_INIT diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c index 86b4050c4c1..7c15a76587d 100644 --- a/board/atmel/at91sam9263ek/at91sam9263ek.c +++ b/board/atmel/at91sam9263ek/at91sam9263ek.c @@ -134,51 +134,6 @@ static void at91sam9263ek_lcd_hw_init(void) gd->fb_base = ATMEL_BASE_SRAM0; } -#ifdef CONFIG_LCD_INFO -#include -#include - -#ifdef CONFIG_MTD_NOR_FLASH -#include -#endif - -void lcd_show_board_info(void) -{ - ulong dram_size, nand_size; -#ifdef CONFIG_MTD_NOR_FLASH - ulong flash_size; -#endif - int i; - char temp[32]; - - lcd_printf ("%s\n", U_BOOT_VERSION); - lcd_printf ("(C) 2008 ATMEL Corp\n"); - lcd_printf ("at91support@atmel.com\n"); - lcd_printf ("%s CPU at %s MHz\n", - ATMEL_CPU_NAME, - strmhz(temp, get_cpu_clk_rate())); - - dram_size = 0; - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) - dram_size += gd->bd->bi_dram[i].size; - nand_size = 0; - for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) - nand_size += get_nand_dev_by_index(i)->size; -#ifdef CONFIG_MTD_NOR_FLASH - flash_size = 0; - for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; i++) - flash_size += flash_info[i].size; -#endif - lcd_printf (" %ld MB SDRAM, %ld MB NAND", - dram_size >> 20, - nand_size >> 20 ); -#ifdef CONFIG_MTD_NOR_FLASH - lcd_printf (",\n %ld MB NOR", - flash_size >> 20); -#endif - lcd_puts ("\n"); -} -#endif /* CONFIG_LCD_INFO */ #endif #ifdef CONFIG_DEBUG_UART_BOARD_INIT diff --git a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c index 347197a6067..3ab9fb321a7 100644 --- a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c +++ b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c @@ -218,34 +218,6 @@ static void at91sam9m10g45ek_lcd_hw_init(void) gd->fb_base = 0x73E00000; } -#ifdef CONFIG_LCD_INFO -#include -#include - -void lcd_show_board_info(void) -{ - ulong dram_size, nand_size; - int i; - char temp[32]; - - lcd_printf ("%s\n", U_BOOT_VERSION); - lcd_printf ("(C) 2008 ATMEL Corp\n"); - lcd_printf ("at91support@atmel.com\n"); - lcd_printf ("%s CPU at %s MHz\n", - ATMEL_CPU_NAME, - strmhz(temp, get_cpu_clk_rate())); - - dram_size = 0; - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) - dram_size += gd->bd->bi_dram[i].size; - nand_size = 0; - for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) - nand_size += get_nand_dev_by_index(i)->size; - lcd_printf (" %ld MB SDRAM, %ld MB NAND\n", - dram_size >> 20, - nand_size >> 20 ); -} -#endif /* CONFIG_LCD_INFO */ #endif #ifdef CONFIG_DEBUG_UART_BOARD_INIT diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c index a337db4efc6..5825ef85871 100644 --- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c +++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c @@ -21,11 +21,6 @@ #include #include -#ifdef CONFIG_LCD_INFO -#include -#include -#endif - DECLARE_GLOBAL_DATA_PTR; /* ------------------------------------------------------------------------- */ @@ -108,31 +103,6 @@ void lcd_disable(void) at91_set_pio_output(AT91_PIO_PORTC, 25, 1); /* power down */ } -#ifdef CONFIG_LCD_INFO -void lcd_show_board_info(void) -{ - ulong dram_size, nand_size; - int i; - char temp[32]; - - lcd_printf("%s\n", U_BOOT_VERSION); - lcd_printf("ATMEL Corp\n"); - lcd_printf("at91@atmel.com\n"); - lcd_printf("%s CPU at %s MHz\n", - ATMEL_CPU_NAME, - strmhz(temp, get_cpu_clk_rate())); - - dram_size = 0; - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) - dram_size += gd->bd->bi_dram[i].size; - nand_size = 0; - for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) - nand_size += get_nand_dev_by_index(i)->size; - lcd_printf(" %ld MB SDRAM, %ld MB NAND\n", - dram_size >> 20, - nand_size >> 20); -} -#endif /* CONFIG_LCD_INFO */ #endif /* CONFIG_LCD */ #ifdef CONFIG_USB_ATMEL diff --git a/board/atmel/at91sam9rlek/at91sam9rlek.c b/board/atmel/at91sam9rlek/at91sam9rlek.c index af59620d0c0..45dfaa5f3ec 100644 --- a/board/atmel/at91sam9rlek/at91sam9rlek.c +++ b/board/atmel/at91sam9rlek/at91sam9rlek.c @@ -129,34 +129,6 @@ static void at91sam9rlek_lcd_hw_init(void) at91_periph_clk_enable(ATMEL_ID_LCDC); } -#ifdef CONFIG_LCD_INFO -#include -#include - -void lcd_show_board_info(void) -{ - ulong dram_size, nand_size; - int i; - char temp[32]; - - lcd_printf ("%s\n", U_BOOT_VERSION); - lcd_printf ("(C) 2008 ATMEL Corp\n"); - lcd_printf ("at91support@atmel.com\n"); - lcd_printf ("%s CPU at %s MHz\n", - ATMEL_CPU_NAME, - strmhz(temp, get_cpu_clk_rate())); - - dram_size = 0; - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) - dram_size += gd->bd->bi_dram[i].size; - nand_size = 0; - for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) - nand_size += get_nand_dev_by_index(i)->size; - lcd_printf (" %ld MB SDRAM, %ld MB NAND\n", - dram_size >> 20, - nand_size >> 20 ); -} -#endif /* CONFIG_LCD_INFO */ #endif #ifdef CONFIG_DEBUG_UART_BOARD_INIT diff --git a/common/lcd.c b/common/lcd.c index 53ff8dd7444..36c97df5ff5 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -524,11 +524,6 @@ static void lcd_logo(void) { lcd_logo_plot(0, 0); -#ifdef CONFIG_LCD_INFO - lcd_set_col(LCD_INFO_X / VIDEO_FONT_WIDTH); - lcd_set_row(LCD_INFO_Y / VIDEO_FONT_HEIGHT); - lcd_show_board_info(); -#endif /* CONFIG_LCD_INFO */ } #ifdef CONFIG_SPLASHIMAGE_GUARD diff --git a/configs/pm9261_defconfig b/configs/pm9261_defconfig index 0e9cb5d0369..ddb8173693f 100644 --- a/configs/pm9261_defconfig +++ b/configs/pm9261_defconfig @@ -68,6 +68,5 @@ CONFIG_DM_VIDEO=y CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y CONFIG_LCD=y -CONFIG_LCD_INFO=y CONFIG_LCD_LOGO=y CONFIG_REGEX=y diff --git a/configs/pm9263_defconfig b/configs/pm9263_defconfig index 2a16c833aec..9515c4c0498 100644 --- a/configs/pm9263_defconfig +++ b/configs/pm9263_defconfig @@ -71,6 +71,5 @@ CONFIG_DM_VIDEO=y CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y CONFIG_LCD=y -CONFIG_LCD_INFO=y CONFIG_LCD_LOGO=y CONFIG_JFFS2_NAND=y diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 9083267d007..7213d9ccc5c 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -728,10 +728,6 @@ config LCD CONFIG option. See the README for details. Drives which have been converted to driver model will instead used CONFIG_DM_VIDEO. -config LCD_INFO - bool "Show LCD info on-screen" - depends on LCD - config LCD_LOGO bool "Show a logo on screen" depends on LCD diff --git a/include/lcd.h b/include/lcd.h index 751b0032efc..b4820037b2a 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -144,14 +144,6 @@ void lcd_sync(void); #define LCD_COLOR16 4 #define LCD_COLOR32 5 -#if defined(CONFIG_LCD_LOGO) -#define LCD_INFO_X (BMP_LOGO_WIDTH + 4 * VIDEO_FONT_WIDTH) -#define LCD_INFO_Y VIDEO_FONT_HEIGHT -#else -#define LCD_INFO_X VIDEO_FONT_WIDTH -#define LCD_INFO_Y VIDEO_FONT_HEIGHT -#endif - /* Default to 8bpp if bit depth not specified */ #ifndef LCD_BPP #define LCD_BPP LCD_COLOR8 From f24404d85f2d226110a3fd9aa169f25f9f454e35 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:41:14 -0600 Subject: [PATCH 30/59] video: Move bmp_display() prototype to video.h The lcd.h header is about to be deleted, so move this prototype. Signed-off-by: Simon Glass --- cmd/bmp.c | 10 ---------- include/video.h | 9 +++++++++ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/cmd/bmp.c b/cmd/bmp.c index 5a3c8ddf8c8..880edad8898 100644 --- a/cmd/bmp.c +++ b/cmd/bmp.c @@ -221,16 +221,6 @@ static int bmp_info(ulong addr) return(0); } -/* - * Subroutine: bmp_display - * - * Description: Display bmp file located in memory - * - * Inputs: addr address of the bmp file - * - * Return: None - * - */ int bmp_display(ulong addr, int x, int y) { #ifdef CONFIG_DM_VIDEO diff --git a/include/video.h b/include/video.h index 529f9685183..43f2e2c02f0 100644 --- a/include/video.h +++ b/include/video.h @@ -346,4 +346,13 @@ bool video_is_active(void); */ void *video_get_u_boot_logo(void); +/* + * bmp_display() - Display BMP (bitmap) data located in memory + * + * @addr: address of the bmp data + * @x: Position of bitmap from the left side, in pixels + * @y: Position of bitmap from the top, in pixels + */ +int bmp_display(ulong addr, int x, int y); + #endif From 3c4d848085f7fcf782b9ce821c6f217369a456c9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:16:43 -0600 Subject: [PATCH 31/59] api: Drop LCD implementation This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- api/api_display.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/api/api_display.c b/api/api_display.c index 84debac48af..2e877a85d14 100644 --- a/api/api_display.c +++ b/api/api_display.c @@ -5,14 +5,7 @@ #include #include -#include #include -#include /* Get font width and height */ - -/* lcd.h needs BMP_LOGO_HEIGHT to calculate CONSOLE_ROWS */ -#if defined(CONFIG_LCD_LOGO) -#include -#endif /* TODO(clchiou): add support of video device */ @@ -26,14 +19,6 @@ int display_get_info(int type, struct display_info *di) debug("%s: unsupport display device type: %d\n", __FILE__, type); return API_ENODEV; -#ifdef CONFIG_LCD - case DISPLAY_TYPE_LCD: - di->pixel_width = panel_info.vl_col; - di->pixel_height = panel_info.vl_row; - di->screen_rows = lcd_get_screen_rows(); - di->screen_cols = lcd_get_screen_columns(); - break; -#endif } di->type = type; @@ -44,16 +29,9 @@ int display_draw_bitmap(ulong bitmap, int x, int y) { if (!bitmap) return API_EINVAL; -#ifdef CONFIG_LCD - return lcd_display_bitmap(bitmap, x, y); -#else return API_ENODEV; -#endif } void display_clear(void) { -#ifdef CONFIG_LCD - lcd_clear(); -#endif } From 1dc6517649f294ca5b3ae71b98209cee55753b7c Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:19:04 -0600 Subject: [PATCH 32/59] Drop CONFIG_LCD_LOGO This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- common/lcd.c | 66 ------------------------------------ common/lcd_console.c | 8 ----- configs/pm9261_defconfig | 1 - configs/pm9263_defconfig | 1 - drivers/video/Kconfig | 4 --- drivers/video/atmel_hlcdfb.c | 13 ------- drivers/video/atmel_lcdfb.c | 26 -------------- tools/Makefile | 4 --- 8 files changed, 123 deletions(-) diff --git a/common/lcd.c b/common/lcd.c index 36c97df5ff5..b6fba2e010d 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -27,14 +27,6 @@ #include #include -#ifdef CONFIG_LCD_LOGO -#include -#include -#if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP != LCD_COLOR16) -#error Default Color Map overlaps with Logo Color Map -#endif -#endif - #if (LCD_BPP != LCD_COLOR8) && (LCD_BPP != LCD_COLOR16) && \ (LCD_BPP != LCD_COLOR32) #error Unsupported LCD BPP. @@ -178,11 +170,6 @@ void lcd_clear(void) } lcd_logo(); -#if defined(CONFIG_LCD_LOGO) - addr = (ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length; - lcd_init_console((void *)addr, panel_info.vl_col, - panel_info.vl_row, panel_info.vl_rot); -#endif lcd_sync(); } @@ -260,60 +247,7 @@ int lcd_getbgcolor(void) return lcd_color_bg; } -#ifdef CONFIG_LCD_LOGO -__weak void lcd_logo_set_cmap(void) -{ - int i; - ushort *cmap = configuration_get_cmap(); - - for (i = 0; i < ARRAY_SIZE(bmp_logo_palette); ++i) - *cmap++ = bmp_logo_palette[i]; -} - -void lcd_logo_plot(int x, int y) -{ - ushort i, j; - uchar *bmap = &bmp_logo_bitmap[0]; - unsigned bpix = NBITS(panel_info.vl_bpix); - uchar *fb = (uchar *)(lcd_base + y * lcd_line_length + x * bpix / 8); - ushort *fb16; - - debug("Logo: width %d height %d colors %d\n", - BMP_LOGO_WIDTH, BMP_LOGO_HEIGHT, BMP_LOGO_COLORS); - - if (bpix < 12) { - schedule(); - lcd_logo_set_cmap(); - schedule(); - - for (i = 0; i < BMP_LOGO_HEIGHT; ++i) { - memcpy(fb, bmap, BMP_LOGO_WIDTH); - bmap += BMP_LOGO_WIDTH; - fb += panel_info.vl_col; - } - } - else { /* true color mode */ - u16 col16; - fb16 = (ushort *)fb; - for (i = 0; i < BMP_LOGO_HEIGHT; ++i) { - for (j = 0; j < BMP_LOGO_WIDTH; j++) { - col16 = bmp_logo_palette[(bmap[j]-16)]; - fb16[j] = - ((col16 & 0x000F) << 1) | - ((col16 & 0x00F0) << 3) | - ((col16 & 0x0F00) << 4); - } - bmap += BMP_LOGO_WIDTH; - fb16 += panel_info.vl_col; - } - } - - schedule(); - lcd_sync(); -} -#else static inline void lcd_logo_plot(int x, int y) {} -#endif /* CONFIG_LCD_LOGO */ #if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN) #ifdef CONFIG_SPLASH_SCREEN_ALIGN diff --git a/common/lcd_console.c b/common/lcd_console.c index cde96deb3c2..82befae902f 100644 --- a/common/lcd_console.c +++ b/common/lcd_console.c @@ -12,9 +12,6 @@ #include #include #include /* Get font data, width and height */ -#if defined(CONFIG_LCD_LOGO) -#include -#endif static struct console_t cons; @@ -125,12 +122,7 @@ static inline void console_newline(void) void console_calc_rowcol(struct console_t *pcons, u32 sizex, u32 sizey) { pcons->cols = sizex / VIDEO_FONT_WIDTH; -#if defined(CONFIG_LCD_LOGO) - pcons->rows = (pcons->lcdsizey - BMP_LOGO_HEIGHT); - pcons->rows /= VIDEO_FONT_HEIGHT; -#else pcons->rows = sizey / VIDEO_FONT_HEIGHT; -#endif } void __weak lcd_init_console_rot(struct console_t *pcons) diff --git a/configs/pm9261_defconfig b/configs/pm9261_defconfig index ddb8173693f..79e0dce2d47 100644 --- a/configs/pm9261_defconfig +++ b/configs/pm9261_defconfig @@ -68,5 +68,4 @@ CONFIG_DM_VIDEO=y CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y CONFIG_LCD=y -CONFIG_LCD_LOGO=y CONFIG_REGEX=y diff --git a/configs/pm9263_defconfig b/configs/pm9263_defconfig index 9515c4c0498..124ed0130db 100644 --- a/configs/pm9263_defconfig +++ b/configs/pm9263_defconfig @@ -71,5 +71,4 @@ CONFIG_DM_VIDEO=y CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y CONFIG_LCD=y -CONFIG_LCD_LOGO=y CONFIG_JFFS2_NAND=y diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 7213d9ccc5c..2d25a64c8c5 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -728,10 +728,6 @@ config LCD CONFIG option. See the README for details. Drives which have been converted to driver model will instead used CONFIG_DM_VIDEO. -config LCD_LOGO - bool "Show a logo on screen" - depends on LCD - config VIDEO_DW_HDMI bool help diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c index c7b59b71e1d..caf65741f2e 100644 --- a/drivers/video/atmel_hlcdfb.c +++ b/drivers/video/atmel_hlcdfb.c @@ -23,10 +23,6 @@ #include #include -#if defined(CONFIG_LCD_LOGO) -#include -#endif - DECLARE_GLOBAL_DATA_PTR; #ifndef CONFIG_DM_VIDEO @@ -52,15 +48,6 @@ void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue) | ((blue << LCDC_BASECLUT_BCLUT_Pos) & LCDC_BASECLUT_BCLUT_Msk)); } -ushort *configuration_get_cmap(void) -{ -#if defined(CONFIG_LCD_LOGO) - return bmp_logo_palette; -#else - return NULL; -#endif -} - void lcd_ctrl_init(void *lcdbase) { unsigned long value; diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index c38cac174ab..7ac3c7cff4a 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c @@ -67,32 +67,6 @@ void fb_put_word(uchar **fb, uchar **from) } #endif -#ifdef CONFIG_LCD_LOGO -#include -void lcd_logo_set_cmap(void) -{ - int i; - uint lut_entry; - ushort colreg; - uint *cmap = (uint *)configuration_get_cmap(); - - for (i = 0; i < BMP_LOGO_COLORS; ++i) { - colreg = bmp_logo_palette[i]; -#ifdef CONFIG_ATMEL_LCD_BGR555 - lut_entry = ((colreg & 0x000F) << 11) | - ((colreg & 0x00F0) << 2) | - ((colreg & 0x0F00) >> 7); -#else - lut_entry = ((colreg & 0x000F) << 1) | - ((colreg & 0x00F0) << 3) | - ((colreg & 0x0F00) << 4); -#endif - *(cmap + BMP_LOGO_OFFSET) = lut_entry; - cmap++; - } -} -#endif - void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue) { #if defined(CONFIG_ATMEL_LCD_BGR555) diff --git a/tools/Makefile b/tools/Makefile index 34a1aa7a8b7..e8e1d279bba 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -25,7 +25,6 @@ # Enable all the config-independent tools ifneq ($(HOST_TOOLS_ALL),) CONFIG_ARCH_KIRKWOOD = y -CONFIG_LCD_LOGO = y CONFIG_CMD_LOADS = y CONFIG_CMD_NET = y CONFIG_XWAY_SWAP_BYTES = y @@ -48,7 +47,6 @@ CONFIG_BUILD_ENVCRC ?= $(ENVCRC-y) hostprogs-$(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER) += atmel_pmecc_params -hostprogs-$(CONFIG_LCD_LOGO) += bmp_logo hostprogs-$(CONFIG_VIDEO_LOGO) += bmp_logo HOSTCFLAGS_bmp_logo.o := -pedantic @@ -278,8 +276,6 @@ always := $(hostprogs-y) # Generated LCD/video logo LOGO_H = $(objtree)/include/bmp_logo.h LOGO_DATA_H = $(objtree)/include/bmp_logo_data.h -LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_H) -LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_DATA_H) LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_H) LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_DATA_H) From 2285864a3e9b5fe14fb1ec99847fd499b4fe2b76 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:26:52 -0600 Subject: [PATCH 33/59] video: Drop VCXK video controller This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- board/BuS/eb_cpu5282/eb_cpu5282.c | 82 ----- common/stdio.c | 2 - configs/eb_cpu5282_defconfig | 1 - configs/eb_cpu5282_internal_defconfig | 1 - doc/README.bus_vcxk | 67 ---- drivers/video/Kconfig | 6 - drivers/video/Makefile | 1 - drivers/video/bus_vcxk.c | 426 -------------------------- 8 files changed, 586 deletions(-) delete mode 100644 doc/README.bus_vcxk delete mode 100644 drivers/video/bus_vcxk.c diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c b/board/BuS/eb_cpu5282/eb_cpu5282.c index b739bc3ca6a..173350b7061 100644 --- a/board/BuS/eb_cpu5282/eb_cpu5282.c +++ b/board/BuS/eb_cpu5282/eb_cpu5282.c @@ -21,11 +21,6 @@ DECLARE_GLOBAL_DATA_PTR; -#if IS_ENABLED(CONFIG_VIDEO_VCXK) -extern unsigned long display_width; -extern unsigned long display_height; -#endif - /*---------------------------------------------------------------------------*/ int checkboard (void) @@ -184,84 +179,7 @@ void __led_set(led_id_t mask, int state) MCFGPTA_GPTPORT &= ~(1 << 3); } -#if IS_ENABLED(CONFIG_VIDEO_VCXK) -int drv_video_init(void) -{ - char *s; -#ifdef CONFIG_SPLASH_SCREEN - unsigned long splash; -#endif - printf("Init Video as "); - s = env_get("displaywidth"); - if (s != NULL) - display_width = dectoul(s, NULL); - else - display_width = 256; - - s = env_get("displayheight"); - if (s != NULL) - display_height = dectoul(s, NULL); - else - display_height = 256; - - printf("%lu x %lu pixel matrix\n", display_width, display_height); - - MCFCCM_CCR &= ~MCFCCM_CCR_SZEN; - MCFGPIO_PEPAR &= ~MCFGPIO_PEPAR_PEPA2; - - vcxk_init(display_width, display_height); - -#ifdef CONFIG_SPLASH_SCREEN - s = env_get("splashimage"); - if (s != NULL) { - splash = hextoul(s, NULL); - vcxk_acknowledge_wait(); - video_display_bitmap(splash, 0, 0); - } -#endif - return 0; -} -#endif - /*---------------------------------------------------------------------------*/ -#if IS_ENABLED(CONFIG_VIDEO_VCXK) -int do_brightness(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) -{ - int rcode = 0; - ulong side; - ulong bright; - - switch (argc) { - case 3: - side = dectoul(argv[1], NULL); - bright = dectoul(argv[2], NULL); - if ((side >= 0) && (side <= 3) && - (bright >= 0) && (bright <= 1000)) { - vcxk_setbrightness(side, bright); - rcode = 0; - } else { - printf("parameters out of range\n"); - printf("Usage:\n%s\n", cmdtp->usage); - rcode = 1; - } - break; - default: - printf("Usage:\n%s\n", cmdtp->usage); - rcode = 1; - break; - } - return rcode; -} - -/*---------------------------------------------------------------------------*/ - -U_BOOT_CMD( - bright, 3, 0, do_brightness, - "sets the display brightness\n", - " <0..1000>\n side: 0/3=both; 1=first; 2=second\n" -); - -#endif /* EOF EB+MCF-EV123.c */ diff --git a/common/stdio.c b/common/stdio.c index 92811badb88..10016e237b3 100644 --- a/common/stdio.c +++ b/common/stdio.c @@ -369,8 +369,6 @@ int stdio_add_devices(void) } else { if (IS_ENABLED(CONFIG_LCD)) drv_lcd_init(); - if (IS_ENABLED(CONFIG_VIDEO_VCXK)) - drv_video_init(); } drv_system_init(); diff --git a/configs/eb_cpu5282_defconfig b/configs/eb_cpu5282_defconfig index b46d1637716..f74139de332 100644 --- a/configs/eb_cpu5282_defconfig +++ b/configs/eb_cpu5282_defconfig @@ -53,4 +53,3 @@ CONFIG_MCFFEC=y CONFIG_MII=y CONFIG_MCFUART=y CONFIG_SPLASH_SCREEN=y -CONFIG_VIDEO_VCXK=y diff --git a/configs/eb_cpu5282_internal_defconfig b/configs/eb_cpu5282_internal_defconfig index cd0fe911108..6cae31cfa95 100644 --- a/configs/eb_cpu5282_internal_defconfig +++ b/configs/eb_cpu5282_internal_defconfig @@ -51,4 +51,3 @@ CONFIG_MCFFEC=y CONFIG_MII=y CONFIG_MCFUART=y CONFIG_SPLASH_SCREEN=y -CONFIG_VIDEO_VCXK=y diff --git a/doc/README.bus_vcxk b/doc/README.bus_vcxk deleted file mode 100644 index aaa1565ddec..00000000000 --- a/doc/README.bus_vcxk +++ /dev/null @@ -1,67 +0,0 @@ -SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2008-2009 - * BuS Elektronik GmbH & Co. KG - * Jens Scharsig - */ - -U-Boot vcxk video controller driver -====================================== - -By defining CONFIG_VIDEO_VCXK this driver can be used with VC2K, VC4K and -VC8K devices on following boards: - -board | ARCH | Vendor ------------------------------------------------------------------------ -EB+CPU5282-T1 | MCF5282 | BuS Elektronik GmbH & Co. KG -EB+MCF-EVB123 | MCF5282 | BuS Elektronik GmbH & Co. KG -EB+CPUx9K2 | AT91RM9200 | BuS Elektronik GmbH & Co. KG -ZLSA | AT91RM9200 | Ruf Telematik AG - -Driver configuration --------------------- - -The driver needs some defines to describe the target hardware: - -CONFIG_SYS_VCXK_BASE - - base address of VCxK hardware memory - -CONFIG_SYS_VCXK_DEFAULT_LINEALIGN - - defines the physical alignment of a pixel row - -CONFIG_SYS_VCXK_DOUBLEBUFFERED - - some boards that use vcxk prevent read from framebuffer memory. - define this option to enable double buffering (needs 16KiB RAM) - -CONFIG_SYS_VCXK__PIN - - defines the number of the I/O line PIN in the port - valid values for are: - - ACKNOWLEDGE - describes the acknowledge line from vcxk hardware - - ENABLE - describes the enable line to vcxk hardware - - INVERT - describes the invert line to vcxk hardware - - RESET - describes the reset line to vcxk hardware - - REQUEST - describes the request line to vcxk hardware - -CONFIG_SYS_VCXK__PORT - - defines the I/O port which is connected with the line - for valid values for see CONFIG_SYS_VCXK__PIN - -CONFIG_SYS_VCXK__DDR - - defines the register which configures the direction - for valid values for see CONFIG_SYS_VCXK__PIN diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 2d25a64c8c5..29eae5105a7 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -946,10 +946,4 @@ config BMP_32BPP help Support display of bitmaps file with 32-bit-per-pixel. -config VIDEO_VCXK - bool "Enable VCXK video controller driver support" - help - This enables VCXK driver which can be used with VC2K, VC4K - and VC8K devices on various boards from BuS Elektronik GmbH. - endmenu diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 5a673549321..45001a3c017 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -64,7 +64,6 @@ obj-$(CONFIG_VIDEO_DSI_HOST_SANDBOX) += sandbox_dsi_host.o obj-$(CONFIG_VIDEO_SANDBOX_SDL) += sandbox_sdl.o obj-$(CONFIG_VIDEO_SIMPLE) += simplefb.o obj-$(CONFIG_VIDEO_TEGRA20) += tegra.o -obj-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o obj-$(CONFIG_VIDEO_VESA) += vesa.o obj-$(CONFIG_VIDEO_SEPS525) += seps525.o obj-$(CONFIG_VIDEO_ZYNQMP_DPSUB) += zynqmp_dpsub.o diff --git a/drivers/video/bus_vcxk.c b/drivers/video/bus_vcxk.c deleted file mode 100644 index 3863662d9f6..00000000000 --- a/drivers/video/bus_vcxk.c +++ /dev/null @@ -1,426 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2005-2009 - * Jens Scharsig @ BuS Elektronik GmbH & Co. KG, - */ - -#include -#include -#include -#include - -vu_char *vcxk_bws = ((vu_char *) (CONFIG_SYS_VCXK_BASE)); -vu_short *vcxk_bws_word = ((vu_short *)(CONFIG_SYS_VCXK_BASE)); -vu_long *vcxk_bws_long = ((vu_long *) (CONFIG_SYS_VCXK_BASE)); - -#ifdef CONFIG_AT91RM9200 - #include - #include - - #ifndef VCBITMASK - #define VCBITMASK(bitno) (0x0001 << (bitno % 16)) - #endif -at91_pio_t *pio = (at91_pio_t *) AT91_PIO_BASE; -#define VCXK_INIT_PIN(PORT, PIN, DDR, I0O1) \ - do { \ - writel(PIN, &pio->PORT.per); \ - writel(PIN, &pio->PORT.DDR); \ - writel(PIN, &pio->PORT.mddr); \ - if (!I0O1) \ - writel(PIN, &pio->PORT.puer); \ - } while (0); - -#define VCXK_SET_PIN(PORT, PIN) writel(PIN, &pio->PORT.sodr); -#define VCXK_CLR_PIN(PORT, PIN) writel(PIN, &pio->PORT.codr); - -#define VCXK_ACKNOWLEDGE \ - (!(readl(&pio->CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT.pdsr) & \ - CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN)) -#elif defined(CONFIG_MCF52x2) - #include - #ifndef VCBITMASK - #define VCBITMASK(bitno) (0x8000 >> (bitno % 16)) - #endif - - #define VCXK_INIT_PIN(PORT, PIN, DDR, I0O1) \ - if (I0O1) DDR |= PIN; else DDR &= ~PIN; - - #define VCXK_SET_PIN(PORT, PIN) PORT |= PIN; - #define VCXK_CLR_PIN(PORT, PIN) PORT &= ~PIN; - - #define VCXK_ACKNOWLEDGE \ - (!(CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT & \ - CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN)) - -#else - #error no vcxk support for selected ARCH -#endif - -#define VCXK_DISABLE\ - VCXK_SET_PIN(CONFIG_SYS_VCXK_ENABLE_PORT, CONFIG_SYS_VCXK_ENABLE_PIN) -#define VCXK_ENABLE\ - VCXK_CLR_PIN(CONFIG_SYS_VCXK_ENABLE_PORT, CONFIG_SYS_VCXK_ENABLE_PIN) - -#ifndef CONFIG_SYS_VCXK_DOUBLEBUFFERED - #define VCXK_BWS(x, data) vcxk_bws[x] = data; - #define VCXK_BWS_WORD_SET(x, mask) vcxk_bws_word[x] |= mask; - #define VCXK_BWS_WORD_CLEAR(x, mask) vcxk_bws_word[x] &= ~mask; - #define VCXK_BWS_LONG(x, data) vcxk_bws_long[x] = data; -#else - u_char double_bws[16384]; - u_short *double_bws_word; - u_long *double_bws_long; - #define VCXK_BWS(x,data) \ - double_bws[x] = data; vcxk_bws[x] = data; - #define VCXK_BWS_WORD_SET(x,mask) \ - double_bws_word[x] |= mask; \ - vcxk_bws_word[x] = double_bws_word[x]; - #define VCXK_BWS_WORD_CLEAR(x,mask) \ - double_bws_word[x] &= ~mask; \ - vcxk_bws_word[x] = double_bws_word[x]; - #define VCXK_BWS_LONG(x,data) \ - double_bws_long[x] = data; vcxk_bws_long[x] = data; -#endif - -#define VC4K16_Bright1 vcxk_bws_word[0x20004 / 2] -#define VC4K16_Bright2 vcxk_bws_word[0x20006 / 2] -#define VC2K_Bright vcxk_bws[0x8000] -#define VC8K_BrightH vcxk_bws[0xC000] -#define VC8K_BrightL vcxk_bws[0xC001] - -vu_char VC4K16; - -u_long display_width; -u_long display_height; -u_long display_bwidth; - -ulong search_vcxk_driver(void); -void vcxk_cls(void); -void vcxk_setbrightness(unsigned int side, short brightness); -int vcxk_request(void); -int vcxk_acknowledge_wait(void); -void vcxk_clear(void); - -/* - ****f* bus_vcxk/vcxk_init - * FUNCTION - * initialalize Video Controller - * PARAMETERS - * width visible display width in pixel - * height visible display height in pixel - *** - */ - -int vcxk_init(unsigned long width, unsigned long height) -{ -#ifdef CONFIG_SYS_VCXK_RESET_PORT - VCXK_INIT_PIN(CONFIG_SYS_VCXK_RESET_PORT, - CONFIG_SYS_VCXK_RESET_PIN, CONFIG_SYS_VCXK_RESET_DDR, 1) - VCXK_SET_PIN(CONFIG_SYS_VCXK_RESET_PORT, CONFIG_SYS_VCXK_RESET_PIN); -#endif - -#ifdef CONFIG_SYS_VCXK_DOUBLEBUFFERED - double_bws_word = (u_short *)double_bws; - double_bws_long = (u_long *)double_bws; - debug("%px %px %px\n", double_bws, double_bws_word, double_bws_long); -#endif - display_width = width; - display_height = height; -#if (CONFIG_SYS_VCXK_DEFAULT_LINEALIGN == 4) - display_bwidth = ((width + 31) / 8) & ~0x3; -#elif (CONFIG_SYS_VCXK_DEFAULT_LINEALIGN == 2) - display_bwidth = ((width + 15) / 8) & ~0x1; -#else - #error CONFIG_SYS_VCXK_DEFAULT_LINEALIGN is invalid -#endif - debug("linesize ((%ld + 15) / 8 & ~0x1) = %ld\n", - display_width, display_bwidth); - -#ifdef CONFIG_SYS_VCXK_AUTODETECT - VC4K16 = 0; - vcxk_bws_long[1] = 0x0; - vcxk_bws_long[1] = 0x55AAAA55; - vcxk_bws_long[5] = 0x0; - if (vcxk_bws_long[1] == 0x55AAAA55) - VC4K16 = 1; -#else - VC4K16 = 1; - debug("No autodetect: use vc4k\n"); -#endif - - VCXK_INIT_PIN(CONFIG_SYS_VCXK_INVERT_PORT, - CONFIG_SYS_VCXK_INVERT_PIN, CONFIG_SYS_VCXK_INVERT_DDR, 1) - VCXK_SET_PIN(CONFIG_SYS_VCXK_INVERT_PORT, CONFIG_SYS_VCXK_INVERT_PIN) - - VCXK_SET_PIN(CONFIG_SYS_VCXK_REQUEST_PORT, CONFIG_SYS_VCXK_REQUEST_PIN); - VCXK_INIT_PIN(CONFIG_SYS_VCXK_REQUEST_PORT, - CONFIG_SYS_VCXK_REQUEST_PIN, CONFIG_SYS_VCXK_REQUEST_DDR, 1) - - VCXK_INIT_PIN(CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT, - CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN, - CONFIG_SYS_VCXK_ACKNOWLEDGE_DDR, 0) - - VCXK_DISABLE; - VCXK_INIT_PIN(CONFIG_SYS_VCXK_ENABLE_PORT, - CONFIG_SYS_VCXK_ENABLE_PIN, CONFIG_SYS_VCXK_ENABLE_DDR, 1) - - vcxk_cls(); - vcxk_cls(); /* clear second/hidden page */ - - vcxk_setbrightness(3, 1000); - VCXK_ENABLE; - return 1; -} - -/* - ****f* bus_vcxk/vcxk_setpixel - * FUNCTION - * set the pixel[x,y] with the given color - * PARAMETER - * x pixel colum - * y pixel row - * color <0x40 off/black - * >0x40 on - *** - */ - -void vcxk_setpixel(int x, int y, unsigned long color) -{ - vu_short dataptr; - - if ((x < display_width) && (y < display_height)) { - dataptr = ((x / 16)) + (y * (display_bwidth >> 1)); - - color = ((color >> 16) & 0xFF) | - ((color >> 8) & 0xFF) | (color & 0xFF); - - if (color > 0x40) { - VCXK_BWS_WORD_SET(dataptr, VCBITMASK(x)); - } else { - VCXK_BWS_WORD_CLEAR(dataptr, VCBITMASK(x)); - } - } -} - -/* - ****f* bus_vcxk/vcxk_loadimage - * FUNCTION - * copies a binary image to display memory - *** - */ - -void vcxk_loadimage(ulong source) -{ - int cnt; - vcxk_acknowledge_wait(); - if (VC4K16) { - for (cnt = 0; cnt < (16384 / 4); cnt++) { - VCXK_BWS_LONG(cnt, (*(ulong *) source)); - source = source + 4; - } - } else { - for (cnt = 0; cnt < 16384; cnt++) { - VCXK_BWS_LONG(cnt*2, (*(vu_char *) source)); - source++; - } - } - vcxk_request(); -} - -/* - ****f* bus_vcxk/vcxk_cls - * FUNCTION - * clear the display - *** - */ - -void vcxk_cls(void) -{ - vcxk_acknowledge_wait(); - vcxk_clear(); - vcxk_request(); -} - -/* - ****f* bus_vcxk/vcxk_clear(void) - * FUNCTION - * clear the display memory - *** - */ - -void vcxk_clear(void) -{ - int cnt; - - for (cnt = 0; cnt < (16384 / 4); cnt++) { - VCXK_BWS_LONG(cnt, 0) - } -} - -/* - ****f* bus_vcxk/vcxk_setbrightness - * FUNCTION - * set the display brightness - * PARAMETER - * side 1 set front side brightness - * 2 set back side brightness - * 3 set brightness for both sides - * brightness 0..1000 - *** - */ - -void vcxk_setbrightness(unsigned int side, short brightness) -{ - if (VC4K16) { - if ((side == 0) || (side & 0x1)) - VC4K16_Bright1 = brightness + 23; - if ((side == 0) || (side & 0x2)) - VC4K16_Bright2 = brightness + 23; - } else { - VC2K_Bright = (brightness >> 4) + 2; - VC8K_BrightH = (brightness + 23) >> 8; - VC8K_BrightL = (brightness + 23) & 0xFF; - } -} - -/* - ****f* bus_vcxk/vcxk_request - * FUNCTION - * requests viewing of display memory - *** - */ - -int vcxk_request(void) -{ - VCXK_CLR_PIN(CONFIG_SYS_VCXK_REQUEST_PORT, - CONFIG_SYS_VCXK_REQUEST_PIN) - VCXK_SET_PIN(CONFIG_SYS_VCXK_REQUEST_PORT, - CONFIG_SYS_VCXK_REQUEST_PIN); - return 1; -} - -/* - ****f* bus_vcxk/vcxk_acknowledge_wait - * FUNCTION - * wait for acknowledge viewing requests - *** - */ - -int vcxk_acknowledge_wait(void) -{ - while (VCXK_ACKNOWLEDGE) - ; - return 1; -} - -/* - ****f* bus_vcxk/vcxk_draw_mono - * FUNCTION - * copies a monochrom bitmap (BMP-Format) from given memory - * PARAMETER - * dataptr pointer to bitmap - * x output bitmap @ columne - * y output bitmap @ row - *** - */ - -void vcxk_draw_mono(unsigned char *dataptr, unsigned long linewidth, - unsigned long cp_width, unsigned long cp_height) -{ - unsigned char *lineptr; - unsigned long xcnt, ycnt; - - for (ycnt = cp_height; ycnt > 0; ycnt--) { - lineptr = dataptr; - for (xcnt = 0; xcnt < cp_width; xcnt++) { - if ((*lineptr << (xcnt % 8)) & 0x80) - vcxk_setpixel(xcnt, ycnt - 1, 0xFFFFFF); - else - vcxk_setpixel(xcnt, ycnt-1, 0); - - if ((xcnt % 8) == 7) - lineptr++; - } /* endfor xcnt */ - dataptr = dataptr + linewidth; - } /* endfor ycnt */ -} - -/* - ****f* bus_vcxk/vcxk_display_bitmap - * FUNCTION - * copies a bitmap (BMP-Format) to the given position - * PARAMETER - * addr pointer to bitmap - * x output bitmap @ columne - * y output bitmap @ row - *** - */ - -int vcxk_display_bitmap(ulong addr, int x, int y) -{ - struct bmp_image *bmp; - unsigned long width; - unsigned long height; - unsigned long bpp; - - unsigned long lw; - - unsigned long c_width; - unsigned long c_height; - unsigned char *dataptr; - - bmp = (struct bmp_image *)addr; - if ((bmp->header.signature[0] == 'B') && - (bmp->header.signature[1] == 'M')) { - width = le32_to_cpu(bmp->header.width); - height = le32_to_cpu(bmp->header.height); - bpp = le16_to_cpu(bmp->header.bit_count); - - dataptr = (unsigned char *) bmp + - le32_to_cpu(bmp->header.data_offset); - - if (display_width < (width + x)) - c_width = display_width - x; - else - c_width = width; - if (display_height < (height + y)) - c_height = display_height - y; - else - c_height = height; - - lw = (((width + 7) / 8) + 3) & ~0x3; - - if (c_height < height) - dataptr = dataptr + lw * (height - c_height); - switch (bpp) { - case 1: - vcxk_draw_mono(dataptr, lw, c_width, c_height); - break; - default: - printf("Error: %ld bit per pixel " - "not supported by VCxK\n", bpp); - return 0; - } - } else { - printf("Error: no valid bmp at %lx\n", (ulong) bmp); - return 0; - } - return 1; -} - -/* - ****f* bus_vcxk/video_display_bitmap - *** - */ - -int video_display_bitmap(ulong addr, int x, int y) -{ - vcxk_acknowledge_wait(); - if (vcxk_display_bitmap(addr, x, y)) { - vcxk_request(); - return 0; - } - return 1; -} - -/* EOF */ From 0852d5836161d7584f1c2603e3a44ce354555682 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:13:24 -0600 Subject: [PATCH 34/59] BuR: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- board/BuR/brxre1/board.c | 9 -- board/BuR/common/br_resetc.c | 6 - board/BuR/common/bur_common.h | 6 - board/BuR/common/common.c | 224 ---------------------------------- 4 files changed, 245 deletions(-) diff --git a/board/BuR/brxre1/board.c b/board/BuR/brxre1/board.c index 544e09f447c..a909104df4a 100644 --- a/board/BuR/brxre1/board.c +++ b/board/BuR/brxre1/board.c @@ -164,21 +164,12 @@ int board_late_init(void) br_resetc_bmode(); /* setup othbootargs for bootvx-command (vxWorks bootline) */ -#ifdef CONFIG_LCD - snprintf(othbootargs, sizeof(othbootargs), - "u=vxWorksFTP pw=vxWorks o=0x%08x;0x%08x;0x%08x;0x%08x", - (u32)gd->fb_base - 0x20, - (u32)env_get_ulong("vx_memtop", 16, gd->fb_base - 0x20), - (u32)env_get_ulong("vx_romfsbase", 16, 0), - (u32)env_get_ulong("vx_romfssize", 16, 0)); -#else snprintf(othbootargs, sizeof(othbootargs), "u=vxWorksFTP pw=vxWorks o=0x%08x;0x%08x;0x%08x;0x%08x", (u32)gd->relocaddr, (u32)env_get_ulong("vx_memtop", 16, gd->relocaddr), (u32)env_get_ulong("vx_romfsbase", 16, 0), (u32)env_get_ulong("vx_romfssize", 16, 0)); -#endif env_set("othbootargs", othbootargs); /* * reset VBAR registers to its reset location, VxWorks 6.9.3.2 does diff --git a/board/BuR/common/br_resetc.c b/board/BuR/common/br_resetc.c index 5006687fbf0..32f32b65e9d 100644 --- a/board/BuR/common/br_resetc.c +++ b/board/BuR/common/br_resetc.c @@ -23,14 +23,8 @@ #define BMODE_PME 12 #define BMODE_DIAG 15 -#if CONFIG_IS_ENABLED(LCD) && !CONFIG_IS_ENABLED(DM_VIDEO) -#include -#define LCD_SETCURSOR(x, y) lcd_position_cursor(x, y) -#define LCD_PUTS(x) lcd_puts(x) -#else #define LCD_SETCURSOR(x, y) #define LCD_PUTS(x) -#endif /* CONFIG_LCD */ static const char *bootmodeascii[16] = { "BOOT", "reserved", "reserved", "reserved", diff --git a/board/BuR/common/bur_common.h b/board/BuR/common/bur_common.h index 79c9af1466b..55d14c2a6b0 100644 --- a/board/BuR/common/bur_common.h +++ b/board/BuR/common/bur_common.h @@ -11,12 +11,6 @@ #ifndef _BUR_COMMON_H_ #define _BUR_COMMON_H_ -#if !CONFIG_IS_ENABLED(DM_VIDEO) -#include <../../../drivers/video/ti/am335x-fb.h> - -int load_lcdtiming(struct am335x_lcdpanel *panel); -#endif - void br_summaryscreen(void); void pmicsetup(u32 mpupll, unsigned int bus); void enable_uart0_pin_mux(void); diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c index 78bf7d62288..c6126e251ec 100644 --- a/board/BuR/common/common.c +++ b/board/BuR/common/common.c @@ -22,230 +22,6 @@ DECLARE_GLOBAL_DATA_PTR; /* --------------------------------------------------------------------------*/ -#if defined(CONFIG_LCD) && defined(CONFIG_AM335X_LCD) && \ - !defined(CONFIG_DM_VIDEO) && !defined(CONFIG_SPL_BUILD) -#include -#include -#include -#include -#include "../../../drivers/video/ti/am335x-fb.h" - -void lcdbacklight(int on) -{ - unsigned int driver = env_get_ulong("ds1_bright_drv", 16, 0UL); - unsigned int bright = env_get_ulong("ds1_bright_def", 10, 50); - unsigned int pwmfrq = env_get_ulong("ds1_pwmfreq", 10, ~0UL); - unsigned int tmp; - struct gptimer *timerhw; - - if (on) - bright = bright != ~0UL ? bright : 50; - else - bright = 0; - - switch (driver) { - case 2: - timerhw = (struct gptimer *)DM_TIMER5_BASE; - break; - default: - timerhw = (struct gptimer *)DM_TIMER6_BASE; - } - - switch (driver) { - case 0: /* PMIC LED-Driver */ - /* brightness level */ - tps65217_reg_write(TPS65217_PROT_LEVEL_NONE, - TPS65217_WLEDCTRL2, bright, 0xFF); - /* current sink */ - tps65217_reg_write(TPS65217_PROT_LEVEL_NONE, - TPS65217_WLEDCTRL1, - bright != 0 ? 0x0A : 0x02, - 0xFF); - break; - case 1: - case 2: /* PWM using timer */ - if (pwmfrq != ~0UL) { - timerhw->tiocp_cfg = TCFG_RESET; - udelay(10); - while (timerhw->tiocp_cfg & TCFG_RESET) - ; - tmp = ~0UL-(V_OSCK/pwmfrq); /* bottom value */ - timerhw->tldr = tmp; - timerhw->tcrr = tmp; - tmp = tmp + ((V_OSCK/pwmfrq)/100) * bright; - timerhw->tmar = tmp; - timerhw->tclr = (TCLR_PT | (2 << TCLR_TRG_SHIFT) | - TCLR_CE | TCLR_AR | TCLR_ST); - } else { - puts("invalid pwmfrq in env/dtb! skip PWM-setup.\n"); - } - break; - default: - puts("no suitable backlightdriver in env/dtb!\n"); - break; - } -} - -int load_lcdtiming(struct am335x_lcdpanel *panel) -{ - struct am335x_lcdpanel pnltmp; - - pnltmp.hactive = env_get_ulong("ds1_hactive", 10, ~0UL); - pnltmp.vactive = env_get_ulong("ds1_vactive", 10, ~0UL); - pnltmp.bpp = env_get_ulong("ds1_bpp", 10, ~0UL); - pnltmp.hfp = env_get_ulong("ds1_hfp", 10, ~0UL); - pnltmp.hbp = env_get_ulong("ds1_hbp", 10, ~0UL); - pnltmp.hsw = env_get_ulong("ds1_hsw", 10, ~0UL); - pnltmp.vfp = env_get_ulong("ds1_vfp", 10, ~0UL); - pnltmp.vbp = env_get_ulong("ds1_vbp", 10, ~0UL); - pnltmp.vsw = env_get_ulong("ds1_vsw", 10, ~0UL); - pnltmp.pxl_clk = env_get_ulong("ds1_pxlclk", 10, ~0UL); - pnltmp.pol = env_get_ulong("ds1_pol", 16, ~0UL); - pnltmp.pup_delay = env_get_ulong("ds1_pupdelay", 10, ~0UL); - pnltmp.pon_delay = env_get_ulong("ds1_tondelay", 10, ~0UL); - panel_info.vl_rot = env_get_ulong("ds1_rotation", 10, 0); - - if ( - ~0UL == (pnltmp.hactive) || - ~0UL == (pnltmp.vactive) || - ~0UL == (pnltmp.bpp) || - ~0UL == (pnltmp.hfp) || - ~0UL == (pnltmp.hbp) || - ~0UL == (pnltmp.hsw) || - ~0UL == (pnltmp.vfp) || - ~0UL == (pnltmp.vbp) || - ~0UL == (pnltmp.vsw) || - ~0UL == (pnltmp.pxl_clk) || - ~0UL == (pnltmp.pol) || - ~0UL == (pnltmp.pup_delay) || - ~0UL == (pnltmp.pon_delay) - ) { - puts("lcd-settings in env/dtb incomplete!\n"); - printf("display-timings:\n" - "================\n" - "hactive: %d\n" - "vactive: %d\n" - "bpp : %d\n" - "hfp : %d\n" - "hbp : %d\n" - "hsw : %d\n" - "vfp : %d\n" - "vbp : %d\n" - "vsw : %d\n" - "pxlclk : %d\n" - "pol : 0x%08x\n" - "pondly : %d\n", - pnltmp.hactive, pnltmp.vactive, pnltmp.bpp, - pnltmp.hfp, pnltmp.hbp, pnltmp.hsw, - pnltmp.vfp, pnltmp.vbp, pnltmp.vsw, - pnltmp.pxl_clk, pnltmp.pol, pnltmp.pon_delay); - - return -1; - } - debug("lcd-settings in env complete, taking over.\n"); - memcpy((void *)panel, - (void *)&pnltmp, - sizeof(struct am335x_lcdpanel)); - - return 0; -} - -static void br_summaryscreen_printenv(char *prefix, - char *name, char *altname, - char *suffix) -{ - char *envval = env_get(name); - if (0 != envval) { - lcd_printf("%s %s %s", prefix, envval, suffix); - } else if (0 != altname) { - envval = env_get(altname); - if (0 != envval) - lcd_printf("%s %s %s", prefix, envval, suffix); - } else { - lcd_printf("\n"); - } -} - -void br_summaryscreen(void) -{ - br_summaryscreen_printenv(" - B&R -", "br_orderno", 0, "-\n"); - br_summaryscreen_printenv(" Serial/Rev :", "br_serial", 0, "\n"); - br_summaryscreen_printenv(" MAC1 :", "br_mac1", "ethaddr", "\n"); - br_summaryscreen_printenv(" MAC2 :", "br_mac2", 0, "\n"); - lcd_puts(" Bootloader : " PLAIN_VERSION "\n"); - lcd_puts("\n"); -} - -void lcdpower(int on) -{ - u32 pin, swval, i; - char buf[16] = { 0 }; - - pin = env_get_ulong("ds1_pwr", 16, ~0UL); - - if (pin == ~0UL) { - puts("no pwrpin in dtb/env, cannot powerup display!\n"); - return; - } - - for (i = 0; i < 3; i++) { - if (pin != 0) { - snprintf(buf, sizeof(buf), "ds1_pwr#%d", i); - if (gpio_request(pin & 0x7F, buf) != 0) { - printf("%s: not able to request gpio %s", - __func__, buf); - continue; - } - swval = pin & 0x80 ? 0 : 1; - if (on) - gpio_direction_output(pin & 0x7F, swval); - else - gpio_direction_output(pin & 0x7F, !swval); - - debug("switched pin %d to %d\n", pin & 0x7F, swval); - } - pin >>= 8; - } -} - -vidinfo_t panel_info = { - .vl_col = 1366, /* - * give full resolution for allocating enough - * memory - */ - .vl_row = 768, - .vl_bpix = 5, - .priv = 0 -}; - -void lcd_ctrl_init(void *lcdbase) -{ - struct am335x_lcdpanel lcd_panel; - - memset(&lcd_panel, 0, sizeof(struct am335x_lcdpanel)); - if (load_lcdtiming(&lcd_panel) != 0) - return; - - lcd_panel.panel_power_ctrl = &lcdpower; - - if (0 != am335xfb_init(&lcd_panel)) - printf("ERROR: failed to initialize video!"); - /* - * modifiy panel info to 'real' resolution, to operate correct with - * lcd-framework. - */ - panel_info.vl_col = lcd_panel.hactive; - panel_info.vl_row = lcd_panel.vactive; - - lcd_set_flush_dcache(1); -} - -void lcd_enable(void) -{ - br_summaryscreen(); - lcdbacklight(1); -} -#endif /* CONFIG_LCD */ int ft_board_setup(void *blob, struct bd_info *bd) { From 82f7b869f5d7aad246a4621a18a5ad04475815ba Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:31:47 -0600 Subject: [PATCH 35/59] video: Drop CONFIG_AM335X_LCD This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- arch/arm/mach-omap2/am33xx/clock_am33xx.c | 4 - board/bosch/guardian/board.c | 70 ---- configs/am335x_guardian_defconfig | 1 - drivers/video/Kconfig | 2 - drivers/video/Makefile | 1 - drivers/video/ti/Kconfig | 8 - drivers/video/ti/Makefile | 10 - drivers/video/ti/am335x-fb.c | 318 ---------------- drivers/video/ti/am335x-fb.h | 71 ---- drivers/video/ti/tilcdc-panel.c | 172 --------- drivers/video/ti/tilcdc-panel.h | 14 - drivers/video/ti/tilcdc.c | 426 ---------------------- drivers/video/ti/tilcdc.h | 38 -- 13 files changed, 1135 deletions(-) delete mode 100644 drivers/video/ti/Kconfig delete mode 100644 drivers/video/ti/Makefile delete mode 100644 drivers/video/ti/am335x-fb.c delete mode 100644 drivers/video/ti/am335x-fb.h delete mode 100644 drivers/video/ti/tilcdc-panel.c delete mode 100644 drivers/video/ti/tilcdc-panel.h delete mode 100644 drivers/video/ti/tilcdc.c delete mode 100644 drivers/video/ti/tilcdc.h diff --git a/arch/arm/mach-omap2/am33xx/clock_am33xx.c b/arch/arm/mach-omap2/am33xx/clock_am33xx.c index 3a7ac602640..cd3b34bf56b 100644 --- a/arch/arm/mach-omap2/am33xx/clock_am33xx.c +++ b/arch/arm/mach-omap2/am33xx/clock_am33xx.c @@ -227,10 +227,6 @@ void enable_basic_clocks(void) &cmper->usb0clkctrl, &cmper->emiffwclkctrl, &cmper->emifclkctrl, -#if CONFIG_IS_ENABLED(AM335X_LCD) && !CONFIG_IS_ENABLED(DM_VIDEO) - &cmper->lcdclkctrl, - &cmper->lcdcclkstctrl, -#endif 0 }; diff --git a/board/bosch/guardian/board.c b/board/bosch/guardian/board.c index 7d1064a3fc7..bdf8d06add8 100644 --- a/board/bosch/guardian/board.c +++ b/board/bosch/guardian/board.c @@ -254,74 +254,6 @@ void lcdbacklight_en(void) brightness != 0 ? 0x0A : 0x02, 0xFF); } -#if IS_ENABLED(CONFIG_AM335X_LCD) -static void splash_screen(void) -{ - struct udevice *video_dev; - struct udevice *console_dev; - struct video_priv *vid_priv; - struct mtd_info *mtd; - size_t len; - int ret; - - struct mtd_device *mtd_dev; - struct part_info *part; - u8 pnum; - - ret = uclass_get_device(UCLASS_VIDEO, 0, &video_dev); - if (ret != 0) { - debug("video device not found\n"); - goto exit; - } - - vid_priv = dev_get_uclass_priv(video_dev); - mtdparts_init(); - - if (find_dev_and_part(SPLASH_SCREEN_NAND_PART, &mtd_dev, &pnum, &part)) { - debug("Could not find nand partition\n"); - goto splash_screen_text; - } - - mtd = get_nand_dev_by_index(mtd_dev->id->num); - if (!mtd) { - debug("MTD partition is not valid\n"); - goto splash_screen_text; - } - - len = SPLASH_SCREEN_BMP_FILE_SIZE; - ret = nand_read_skip_bad(mtd, part->offset, &len, NULL, - SPLASH_SCREEN_BMP_FILE_SIZE, - (u_char *)SPLASH_SCREEN_BMP_LOAD_ADDR); - if (ret != 0) { - debug("Reading NAND partition failed\n"); - goto splash_screen_text; - } - - ret = video_bmp_display(video_dev, SPLASH_SCREEN_BMP_LOAD_ADDR, 0, 0, false); - if (ret != 0) { - debug("No valid bmp image found!!\n"); - goto splash_screen_text; - } else { - goto exit; - } - -splash_screen_text: - vid_priv->colour_fg = CONSOLE_COLOR_RED; - vid_priv->colour_bg = CONSOLE_COLOR_BLACK; - - if (!uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &console_dev)) { - debug("Found console\n"); - vidconsole_position_cursor(console_dev, 17, 7); - vidconsole_put_string(console_dev, SPLASH_SCREEN_TEXT); - } else { - debug("No console device found\n"); - } - -exit: - return; -} -#endif /* CONFIG_AM335X_LCD */ - int board_late_init(void) { int ret; @@ -340,8 +272,6 @@ int board_late_init(void) return 0; lcdbacklight_en(); - if (IS_ENABLED(CONFIG_AM335X_LCD)) - splash_screen(); return 0; } diff --git a/configs/am335x_guardian_defconfig b/configs/am335x_guardian_defconfig index 8eeb8555312..fef4fd15510 100644 --- a/configs/am335x_guardian_defconfig +++ b/configs/am335x_guardian_defconfig @@ -131,7 +131,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0451 CONFIG_USB_GADGET_PRODUCT_NUM=0xd022 CONFIG_USB_ETHER=y CONFIG_SYS_WHITE_ON_BLACK=y -CONFIG_AM335X_LCD=y CONFIG_BMP_16BPP=y CONFIG_SPL_WDT=y # CONFIG_SPL_USE_TINY_PRINTF is not set diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 29eae5105a7..64e086cd276 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -588,8 +588,6 @@ config ATMEL_HLCD help HLCDC supports video output to an attached LCD panel. -source "drivers/video/ti/Kconfig" - source "drivers/video/exynos/Kconfig" config LOGICORE_DP_TX diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 45001a3c017..48237f04cbb 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -26,7 +26,6 @@ obj-${CONFIG_EXYNOS_FB} += exynos/ obj-${CONFIG_VIDEO_ROCKCHIP} += rockchip/ obj-${CONFIG_VIDEO_STM32} += stm32/ obj-${CONFIG_VIDEO_TEGRA124} += tegra124/ -obj-y += ti/ obj-$(CONFIG_ATMEL_HLCD) += atmel_hlcdfb.o obj-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o diff --git a/drivers/video/ti/Kconfig b/drivers/video/ti/Kconfig deleted file mode 100644 index 3081e9e8c09..00000000000 --- a/drivers/video/ti/Kconfig +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright (C) 2020 Dario Binacchi -# -config AM335X_LCD - bool "Enable AM335x video support" - help - Supports video output to an attached LCD panel. diff --git a/drivers/video/ti/Makefile b/drivers/video/ti/Makefile deleted file mode 100644 index ddddd592167..00000000000 --- a/drivers/video/ti/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright (C) 2020 Dario Binacchi -# - -ifdef CONFIG_DM_VIDEO -obj-$(CONFIG_AM335X_LCD) += tilcdc.o tilcdc-panel.o -else -obj-$(CONFIG_AM335X_LCD) += am335x-fb.o -endif diff --git a/drivers/video/ti/am335x-fb.c b/drivers/video/ti/am335x-fb.c deleted file mode 100644 index 680ea47998d..00000000000 --- a/drivers/video/ti/am335x-fb.c +++ /dev/null @@ -1,318 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2013-2018 Hannes Schmelzer - * B&R Industrial Automation GmbH - http://www.br-automation.com - * Copyright (C) 2020 Dario Binacchi - * - * minimal framebuffer driver for TI's AM335x SoC to be compatible with - * Wolfgang Denk's LCD-Framework (CONFIG_LCD, common/lcd.c) - * - * - supporting 16/24/32bit RGB/TFT raster Mode (not using palette) - * - sets up LCD controller as in 'am335x_lcdpanel' struct given - * - starts output DMA from gd->fb_base buffer - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "am335x-fb.h" - -#define LCDC_FMAX 200000000 - -/* LCD Control Register */ -#define LCDC_CTRL_CLK_DIVISOR_MASK GENMASK(15, 8) -#define LCDC_CTRL_RASTER_MODE BIT(0) -#define LCDC_CTRL_CLK_DIVISOR(x) (((x) & GENMASK(7, 0)) << 8) -/* LCD Clock Enable Register */ -#define LCDC_CLKC_ENABLE_CORECLKEN BIT(0) -#define LCDC_CLKC_ENABLE_LIDDCLKEN BIT(1) -#define LCDC_CLKC_ENABLE_DMACLKEN BIT(2) -/* LCD DMA Control Register */ -#define LCDC_DMA_CTRL_BURST_SIZE(x) (((x) & GENMASK(2, 0)) << 4) -#define LCDC_DMA_CTRL_BURST_1 0x0 -#define LCDC_DMA_CTRL_BURST_2 0x1 -#define LCDC_DMA_CTRL_BURST_4 0x2 -#define LCDC_DMA_CTRL_BURST_8 0x3 -#define LCDC_DMA_CTRL_BURST_16 0x4 -#define LCDC_DMA_CTRL_FIFO_TH(x) (((x) & GENMASK(2, 0)) << 8) -/* LCD Timing_0 Register */ -#define LCDC_RASTER_TIMING_0_HORMSB(x) ((((x) - 1) & BIT(10)) >> 7) -#define LCDC_RASTER_TIMING_0_HORLSB(x) (((((x) >> 4) - 1) & GENMASK(5, 0)) << 4) -#define LCDC_RASTER_TIMING_0_HSWLSB(x) ((((x) - 1) & GENMASK(5, 0)) << 10) -#define LCDC_RASTER_TIMING_0_HFPLSB(x) ((((x) - 1) & GENMASK(7, 0)) << 16) -#define LCDC_RASTER_TIMING_0_HBPLSB(x) ((((x) - 1) & GENMASK(7, 0)) << 24) -/* LCD Timing_1 Register */ -#define LCDC_RASTER_TIMING_1_VERLSB(x) (((x) - 1) & GENMASK(9, 0)) -#define LCDC_RASTER_TIMING_1_VSW(x) ((((x) - 1) & GENMASK(5, 0)) << 10) -#define LCDC_RASTER_TIMING_1_VFP(x) (((x) & GENMASK(7, 0)) << 16) -#define LCDC_RASTER_TIMING_1_VBP(x) (((x) & GENMASK(7, 0)) << 24) -/* LCD Timing_2 Register */ -#define LCDC_RASTER_TIMING_2_HFPMSB(x) ((((x) - 1) & GENMASK(9, 8)) >> 8) -#define LCDC_RASTER_TIMING_2_HBPMSB(x) ((((x) - 1) & GENMASK(9, 8)) >> 4) -#define LCDC_RASTER_TIMING_2_ACB(x) (((x) & GENMASK(7, 0)) << 8) -#define LCDC_RASTER_TIMING_2_ACBI(x) (((x) & GENMASK(3, 0)) << 16) -#define LCDC_RASTER_TIMING_2_VSYNC_INVERT BIT(20) -#define LCDC_RASTER_TIMING_2_HSYNC_INVERT BIT(21) -#define LCDC_RASTER_TIMING_2_PXCLK_INVERT BIT(22) -#define LCDC_RASTER_TIMING_2_DE_INVERT BIT(23) -#define LCDC_RASTER_TIMING_2_HSVS_RISEFALL BIT(24) -#define LCDC_RASTER_TIMING_2_HSVS_CONTROL BIT(25) -#define LCDC_RASTER_TIMING_2_VERMSB(x) ((((x) - 1) & BIT(10)) << 16) -#define LCDC_RASTER_TIMING_2_HSWMSB(x) ((((x) - 1) & GENMASK(9, 6)) << 21) -/* LCD Raster Ctrl Register */ -#define LCDC_RASTER_CTRL_ENABLE BIT(0) -#define LCDC_RASTER_CTRL_TFT_MODE BIT(7) -#define LCDC_RASTER_CTRL_DATA_ORDER BIT(8) -#define LCDC_RASTER_CTRL_REQDLY(x) (((x) & GENMASK(7, 0)) << 12) -#define LCDC_RASTER_CTRL_PALMODE_RAWDATA (0x02 << 20) -#define LCDC_RASTER_CTRL_TFT_ALT_ENABLE BIT(23) -#define LCDC_RASTER_CTRL_TFT_24BPP_MODE BIT(25) -#define LCDC_RASTER_CTRL_TFT_24BPP_UNPACK BIT(26) - -struct am335x_lcdhw { - unsigned int pid; /* 0x00 */ - unsigned int ctrl; /* 0x04 */ - unsigned int gap0; /* 0x08 */ - unsigned int lidd_ctrl; /* 0x0C */ - unsigned int lidd_cs0_conf; /* 0x10 */ - unsigned int lidd_cs0_addr; /* 0x14 */ - unsigned int lidd_cs0_data; /* 0x18 */ - unsigned int lidd_cs1_conf; /* 0x1C */ - unsigned int lidd_cs1_addr; /* 0x20 */ - unsigned int lidd_cs1_data; /* 0x24 */ - unsigned int raster_ctrl; /* 0x28 */ - unsigned int raster_timing0; /* 0x2C */ - unsigned int raster_timing1; /* 0x30 */ - unsigned int raster_timing2; /* 0x34 */ - unsigned int raster_subpanel; /* 0x38 */ - unsigned int raster_subpanel2; /* 0x3C */ - unsigned int lcddma_ctrl; /* 0x40 */ - unsigned int lcddma_fb0_base; /* 0x44 */ - unsigned int lcddma_fb0_ceiling; /* 0x48 */ - unsigned int lcddma_fb1_base; /* 0x4C */ - unsigned int lcddma_fb1_ceiling; /* 0x50 */ - unsigned int sysconfig; /* 0x54 */ - unsigned int irqstatus_raw; /* 0x58 */ - unsigned int irqstatus; /* 0x5C */ - unsigned int irqenable_set; /* 0x60 */ - unsigned int irqenable_clear; /* 0x64 */ - unsigned int gap1; /* 0x68 */ - unsigned int clkc_enable; /* 0x6C */ - unsigned int clkc_reset; /* 0x70 */ -}; - -DECLARE_GLOBAL_DATA_PTR; - -#if !defined(LCD_CNTL_BASE) -#error "hw-base address of LCD-Controller (LCD_CNTL_BASE) not defined!" -#endif - -/* Macro definitions */ -#define FBSIZE(x) (((x)->hactive * (x)->vactive * (x)->bpp) >> 3) - -#define LCDC_RASTER_TIMING_2_INVMASK(x) ((x) & GENMASK(25, 20)) - -static struct am335x_lcdhw *lcdhw = (void *)LCD_CNTL_BASE; - -int lcd_get_size(int *line_length) -{ - *line_length = (panel_info.vl_col * NBITS(panel_info.vl_bpix)) / 8; - return *line_length * panel_info.vl_row + 0x20; -} - -struct dpll_data { - unsigned long rounded_rate; - u16 rounded_m; - u8 rounded_n; - u8 rounded_div; -}; - -/** - * am335x_dpll_round_rate() - Round a target rate for an OMAP DPLL - * - * @dpll_data: struct dpll_data pointer for the DPLL - * @rate: New DPLL clock rate - * Return: rounded rate and the computed m, n and div values in the dpll_data - * structure, or -ve error code. - */ -static ulong am335x_dpll_round_rate(struct dpll_data *dd, ulong rate) -{ - unsigned int m, n, d; - unsigned long rounded_rate; - int err, err_r; - - dd->rounded_rate = -EFAULT; - err = rate; - err_r = err; - - for (d = 2; err && d < 255; d++) { - for (m = 2; m < 2047; m++) { - if ((V_OSCK * m) < (rate * d)) - continue; - - n = (V_OSCK * m) / (rate * d); - if (n > 127) - break; - - if (((V_OSCK * m) / n) > LCDC_FMAX) - break; - - rounded_rate = (V_OSCK * m) / n / d; - err = abs(rounded_rate - rate); - if (err < err_r) { - err_r = err; - dd->rounded_rate = rounded_rate; - dd->rounded_m = m; - dd->rounded_n = n; - dd->rounded_div = d; - if (err == 0) - break; - } - } - } - - debug("DPLL display: best error %d Hz (M %d, N %d, DIV %d)\n", - err_r, dd->rounded_m, dd->rounded_n, dd->rounded_div); - - return dd->rounded_rate; -} - -/** - * am335x_fb_set_pixel_clk_rate() - Set pixel clock rate. - * - * @am335x_lcdhw: Base address of the LCD controller registers. - * @rate: New clock rate in Hz. - * Return: new rate, or -ve error code. - */ -static ulong am335x_fb_set_pixel_clk_rate(struct am335x_lcdhw *regs, ulong rate) -{ - struct dpll_params dpll_disp = { 1, 0, 1, -1, -1, -1, -1 }; - struct dpll_data dd; - ulong round_rate; - u32 reg; - - round_rate = am335x_dpll_round_rate(&dd, rate); - if (IS_ERR_VALUE(round_rate)) - return round_rate; - - dpll_disp.m = dd.rounded_m; - dpll_disp.n = dd.rounded_n; - do_setup_dpll(&dpll_disp_regs, &dpll_disp); - - reg = readl(®s->ctrl) & ~LCDC_CTRL_CLK_DIVISOR_MASK; - reg |= LCDC_CTRL_CLK_DIVISOR(dd.rounded_div); - writel(reg, ®s->ctrl); - return round_rate; -} - -int am335xfb_init(struct am335x_lcdpanel *panel) -{ - u32 raster_ctrl = 0; - struct cm_dpll *const cmdpll = (struct cm_dpll *)CM_DPLL; - ulong rate; - u32 reg; - - if (gd->fb_base == 0) { - printf("ERROR: no valid fb_base stored in GLOBAL_DATA_PTR!\n"); - return -1; - } - if (panel == NULL) { - printf("ERROR: missing ptr to am335x_lcdpanel!\n"); - return -1; - } - - /* We can already set the bits for the raster_ctrl in this check */ - switch (panel->bpp) { - case 16: - break; - case 32: - raster_ctrl |= LCDC_RASTER_CTRL_TFT_24BPP_UNPACK; - /* fallthrough */ - case 24: - raster_ctrl |= LCDC_RASTER_CTRL_TFT_24BPP_MODE; - break; - default: - pr_err("am335x-fb: invalid bpp value: %d\n", panel->bpp); - return -1; - } - - /* check given clock-frequency */ - if (panel->pxl_clk > (LCDC_FMAX / 2)) { - pr_err("am335x-fb: requested pxl-clk: %d not supported!\n", - panel->pxl_clk); - return -1; - } - - debug("setting up LCD-Controller for %dx%dx%d (hfp=%d,hbp=%d,hsw=%d / ", - panel->hactive, panel->vactive, panel->bpp, - panel->hfp, panel->hbp, panel->hsw); - debug("vfp=%d,vbp=%d,vsw=%d / clk=%d)\n", - panel->vfp, panel->vfp, panel->vsw, panel->pxl_clk); - debug("using frambuffer at 0x%08x with size %d.\n", - (unsigned int)gd->fb_base, FBSIZE(panel)); - - rate = am335x_fb_set_pixel_clk_rate(lcdhw, panel->pxl_clk); - if (IS_ERR_VALUE(rate)) - return rate; - - /* clock source for LCDC from dispPLL M2 */ - writel(0x0, &cmdpll->clklcdcpixelclk); - - /* palette default entry */ - memset((void *)gd->fb_base, 0, 0x20); - *(unsigned int *)gd->fb_base = 0x4000; - /* point fb behind palette */ - gd->fb_base += 0x20; - - /* turn ON display through powercontrol function if accessible */ - if (panel->panel_power_ctrl != NULL) - panel->panel_power_ctrl(1); - - debug("am335x-fb: wait for stable power ...\n"); - mdelay(panel->pup_delay); - lcdhw->clkc_enable = LCDC_CLKC_ENABLE_CORECLKEN | - LCDC_CLKC_ENABLE_LIDDCLKEN | LCDC_CLKC_ENABLE_DMACLKEN; - lcdhw->raster_ctrl = 0; - - reg = lcdhw->ctrl & LCDC_CTRL_CLK_DIVISOR_MASK; - reg |= LCDC_CTRL_RASTER_MODE; - lcdhw->ctrl = reg; - - lcdhw->lcddma_fb0_base = gd->fb_base; - lcdhw->lcddma_fb0_ceiling = gd->fb_base + FBSIZE(panel); - lcdhw->lcddma_fb1_base = gd->fb_base; - lcdhw->lcddma_fb1_ceiling = gd->fb_base + FBSIZE(panel); - lcdhw->lcddma_ctrl = LCDC_DMA_CTRL_BURST_SIZE(LCDC_DMA_CTRL_BURST_16); - - lcdhw->raster_timing0 = LCDC_RASTER_TIMING_0_HORLSB(panel->hactive) | - LCDC_RASTER_TIMING_0_HORMSB(panel->hactive) | - LCDC_RASTER_TIMING_0_HFPLSB(panel->hfp) | - LCDC_RASTER_TIMING_0_HBPLSB(panel->hbp) | - LCDC_RASTER_TIMING_0_HSWLSB(panel->hsw); - lcdhw->raster_timing1 = LCDC_RASTER_TIMING_1_VBP(panel->vbp) | - LCDC_RASTER_TIMING_1_VFP(panel->vfp) | - LCDC_RASTER_TIMING_1_VSW(panel->vsw) | - LCDC_RASTER_TIMING_1_VERLSB(panel->vactive); - lcdhw->raster_timing2 = LCDC_RASTER_TIMING_2_HSWMSB(panel->hsw) | - LCDC_RASTER_TIMING_2_VERMSB(panel->vactive) | - LCDC_RASTER_TIMING_2_INVMASK(panel->pol) | - LCDC_RASTER_TIMING_2_HBPMSB(panel->hbp) | - LCDC_RASTER_TIMING_2_HFPMSB(panel->hfp) | - 0x0000FF00; /* clk cycles for ac-bias */ - lcdhw->raster_ctrl = raster_ctrl | - LCDC_RASTER_CTRL_PALMODE_RAWDATA | - LCDC_RASTER_CTRL_TFT_MODE | - LCDC_RASTER_CTRL_ENABLE; - - debug("am335x-fb: waiting picture to be stable.\n."); - mdelay(panel->pon_delay); - - return 0; -} diff --git a/drivers/video/ti/am335x-fb.h b/drivers/video/ti/am335x-fb.h deleted file mode 100644 index ad9b015e090..00000000000 --- a/drivers/video/ti/am335x-fb.h +++ /dev/null @@ -1,71 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2013-2018 Hannes Schmelzer - - * B&R Industrial Automation GmbH - http://www.br-automation.com - */ - -#ifndef AM335X_FB_H -#define AM335X_FB_H - -#define HSVS_CONTROL BIT(25) /* - * 0 = lcd_lp and lcd_fp are driven on - * opposite edges of pixel clock than - * the lcd_pixel_o - * 1 = lcd_lp and lcd_fp are driven - * according to bit 24 Note that this - * bit MUST be set to '0' for Passive - * Matrix displays the edge timing is - * fixed - */ -#define HSVS_RISEFALL BIT(24) /* - * 0 = lcd_lp and lcd_fp are driven on - * the rising edge of pixel clock (bit - * 25 must be set to 1) - * 1 = lcd_lp and lcd_fp are driven on - * the falling edge of pixel clock (bit - * 25 must be set to 1) - */ -#define DE_INVERT BIT(23) /* - * 0 = DE is low-active - * 1 = DE is high-active - */ -#define PXCLK_INVERT BIT(22) /* - * 0 = pix-clk is high-active - * 1 = pic-clk is low-active - */ -#define HSYNC_INVERT BIT(21) /* - * 0 = HSYNC is active high - * 1 = HSYNC is avtive low - */ -#define VSYNC_INVERT BIT(20) /* - * 0 = VSYNC is active high - * 1 = VSYNC is active low - */ - -struct am335x_lcdpanel { - unsigned int hactive; /* Horizontal active area */ - unsigned int vactive; /* Vertical active area */ - unsigned int bpp; /* bits per pixel */ - unsigned int hfp; /* Horizontal front porch */ - unsigned int hbp; /* Horizontal back porch */ - unsigned int hsw; /* Horizontal Sync Pulse Width */ - unsigned int vfp; /* Vertical front porch */ - unsigned int vbp; /* Vertical back porch */ - unsigned int vsw; /* Vertical Sync Pulse Width */ - unsigned int pxl_clk; /* Pixel clock */ - unsigned int pol; /* polarity of sync, clock signals */ - unsigned int pup_delay; /* - * time in ms after power on to - * initialization of lcd-controller - * (VCC ramp up time) - */ - unsigned int pon_delay; /* - * time in ms after initialization of - * lcd-controller (pic stabilization) - */ - void (*panel_power_ctrl)(int); /* fp for power on/off display */ -}; - -int am335xfb_init(struct am335x_lcdpanel *panel); - -#endif /* AM335X_FB_H */ diff --git a/drivers/video/ti/tilcdc-panel.c b/drivers/video/ti/tilcdc-panel.c deleted file mode 100644 index df95086a515..00000000000 --- a/drivers/video/ti/tilcdc-panel.c +++ /dev/null @@ -1,172 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * OMAP panel support - * - * Copyright (C) 2020 Dario Binacchi - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "tilcdc.h" - -struct tilcdc_panel_priv { - struct tilcdc_panel_info info; - struct display_timing timing; - struct udevice *backlight; - struct gpio_desc enable; -}; - -static int tilcdc_panel_enable_backlight(struct udevice *dev) -{ - struct tilcdc_panel_priv *priv = dev_get_priv(dev); - - if (dm_gpio_is_valid(&priv->enable)) - dm_gpio_set_value(&priv->enable, 1); - - if (priv->backlight) - return backlight_enable(priv->backlight); - - return 0; -} - -static int tilcdc_panel_set_backlight(struct udevice *dev, int percent) -{ - struct tilcdc_panel_priv *priv = dev_get_priv(dev); - - if (dm_gpio_is_valid(&priv->enable)) - dm_gpio_set_value(&priv->enable, 1); - - if (priv->backlight) - return backlight_set_brightness(priv->backlight, percent); - - return 0; -} - -int tilcdc_panel_get_display_info(struct udevice *dev, - struct tilcdc_panel_info *info) -{ - struct tilcdc_panel_priv *priv = dev_get_priv(dev); - - memcpy(info, &priv->info, sizeof(*info)); - return 0; -} - -static int tilcdc_panel_get_display_timing(struct udevice *dev, - struct display_timing *timing) -{ - struct tilcdc_panel_priv *priv = dev_get_priv(dev); - - memcpy(timing, &priv->timing, sizeof(*timing)); - return 0; -} - -static int tilcdc_panel_remove(struct udevice *dev) -{ - struct tilcdc_panel_priv *priv = dev_get_priv(dev); - - if (dm_gpio_is_valid(&priv->enable)) - dm_gpio_free(dev, &priv->enable); - - return 0; -} - -static int tilcdc_panel_probe(struct udevice *dev) -{ - struct tilcdc_panel_priv *priv = dev_get_priv(dev); - int err; - - err = uclass_get_device_by_phandle(UCLASS_PANEL_BACKLIGHT, dev, - "backlight", &priv->backlight); - if (err) - dev_warn(dev, "failed to get backlight\n"); - - err = gpio_request_by_name(dev, "enable-gpios", 0, &priv->enable, - GPIOD_IS_OUT); - if (err) { - dev_warn(dev, "failed to get enable GPIO\n"); - if (err != -ENOENT) - return err; - } - - return 0; -} - -static int tilcdc_panel_of_to_plat(struct udevice *dev) -{ - struct tilcdc_panel_priv *priv = dev_get_priv(dev); - ofnode node; - int err; - - err = ofnode_decode_display_timing(dev_ofnode(dev), 0, &priv->timing); - if (err) { - dev_err(dev, "failed to get display timing\n"); - return err; - } - - node = dev_read_subnode(dev, "panel-info"); - if (!ofnode_valid(node)) { - dev_err(dev, "missing 'panel-info' node\n"); - return -ENXIO; - } - - err |= ofnode_read_u32(node, "ac-bias", &priv->info.ac_bias); - err |= ofnode_read_u32(node, "ac-bias-intrpt", - &priv->info.ac_bias_intrpt); - err |= ofnode_read_u32(node, "dma-burst-sz", &priv->info.dma_burst_sz); - err |= ofnode_read_u32(node, "bpp", &priv->info.bpp); - err |= ofnode_read_u32(node, "fdd", &priv->info.fdd); - err |= ofnode_read_u32(node, "sync-edge", &priv->info.sync_edge); - err |= ofnode_read_u32(node, "sync-ctrl", &priv->info.sync_ctrl); - err |= ofnode_read_u32(node, "raster-order", &priv->info.raster_order); - err |= ofnode_read_u32(node, "fifo-th", &priv->info.fifo_th); - if (err) { - dev_err(dev, "failed to get panel info\n"); - return err; - } - - /* optional */ - priv->info.tft_alt_mode = ofnode_read_bool(node, "tft-alt-mode"); - priv->info.invert_pxl_clk = ofnode_read_bool(node, "invert-pxl-clk"); - - dev_dbg(dev, "LCD: %dx%d, bpp=%d, clk=%d Hz\n", - priv->timing.hactive.typ, priv->timing.vactive.typ, - priv->info.bpp, priv->timing.pixelclock.typ); - dev_dbg(dev, " hbp=%d, hfp=%d, hsw=%d\n", - priv->timing.hback_porch.typ, priv->timing.hfront_porch.typ, - priv->timing.hsync_len.typ); - dev_dbg(dev, " vbp=%d, vfp=%d, vsw=%d\n", - priv->timing.vback_porch.typ, priv->timing.vfront_porch.typ, - priv->timing.vsync_len.typ); - - return 0; -} - -static const struct panel_ops tilcdc_panel_ops = { - .enable_backlight = tilcdc_panel_enable_backlight, - .set_backlight = tilcdc_panel_set_backlight, - .get_display_timing = tilcdc_panel_get_display_timing, -}; - -static const struct udevice_id tilcdc_panel_ids[] = { - {.compatible = "ti,tilcdc,panel"}, - {} -}; - -U_BOOT_DRIVER(tilcdc_panel) = { - .name = "tilcdc_panel", - .id = UCLASS_PANEL, - .of_match = tilcdc_panel_ids, - .ops = &tilcdc_panel_ops, - .of_to_plat = tilcdc_panel_of_to_plat, - .probe = tilcdc_panel_probe, - .remove = tilcdc_panel_remove, - .priv_auto = sizeof(struct tilcdc_panel_priv), -}; diff --git a/drivers/video/ti/tilcdc-panel.h b/drivers/video/ti/tilcdc-panel.h deleted file mode 100644 index 6bcfbf8a8b4..00000000000 --- a/drivers/video/ti/tilcdc-panel.h +++ /dev/null @@ -1,14 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2020 Dario Binacchi - */ - -#ifndef _TILCDC_PANEL_H -#define _TILCDC_PANEL_H - -#include "tilcdc.h" - -int tilcdc_panel_get_display_info(struct udevice *dev, - struct tilcdc_panel_info *info); - -#endif /* _TILCDC_PANEL_H */ diff --git a/drivers/video/ti/tilcdc.c b/drivers/video/ti/tilcdc.c deleted file mode 100644 index 90c1edd87e6..00000000000 --- a/drivers/video/ti/tilcdc.c +++ /dev/null @@ -1,426 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2020 Dario Binacchi - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "tilcdc.h" -#include "tilcdc-panel.h" - -#define LCDC_FMAX 200000000 - -/* LCD Control Register */ -#define LCDC_CTRL_CLK_DIVISOR_MASK GENMASK(15, 8) -#define LCDC_CTRL_RASTER_MODE BIT(0) -#define LCDC_CTRL_CLK_DIVISOR(x) (((x) & GENMASK(7, 0)) << 8) -/* LCD Clock Enable Register */ -#define LCDC_CLKC_ENABLE_CORECLKEN BIT(0) -#define LCDC_CLKC_ENABLE_LIDDCLKEN BIT(1) -#define LCDC_CLKC_ENABLE_DMACLKEN BIT(2) -/* LCD DMA Control Register */ -#define LCDC_DMA_CTRL_BURST_SIZE(x) (((x) & GENMASK(2, 0)) << 4) -#define LCDC_DMA_CTRL_BURST_1 0x0 -#define LCDC_DMA_CTRL_BURST_2 0x1 -#define LCDC_DMA_CTRL_BURST_4 0x2 -#define LCDC_DMA_CTRL_BURST_8 0x3 -#define LCDC_DMA_CTRL_BURST_16 0x4 -#define LCDC_DMA_CTRL_FIFO_TH(x) (((x) & GENMASK(2, 0)) << 8) -/* LCD Timing_0 Register */ -#define LCDC_RASTER_TIMING_0_HORMSB(x) ((((x) - 1) & BIT(10)) >> 7) -#define LCDC_RASTER_TIMING_0_HORLSB(x) (((((x) >> 4) - 1) & GENMASK(5, 0)) << 4) -#define LCDC_RASTER_TIMING_0_HSWLSB(x) ((((x) - 1) & GENMASK(5, 0)) << 10) -#define LCDC_RASTER_TIMING_0_HFPLSB(x) ((((x) - 1) & GENMASK(7, 0)) << 16) -#define LCDC_RASTER_TIMING_0_HBPLSB(x) ((((x) - 1) & GENMASK(7, 0)) << 24) -/* LCD Timing_1 Register */ -#define LCDC_RASTER_TIMING_1_VERLSB(x) (((x) - 1) & GENMASK(9, 0)) -#define LCDC_RASTER_TIMING_1_VSW(x) ((((x) - 1) & GENMASK(5, 0)) << 10) -#define LCDC_RASTER_TIMING_1_VFP(x) (((x) & GENMASK(7, 0)) << 16) -#define LCDC_RASTER_TIMING_1_VBP(x) (((x) & GENMASK(7, 0)) << 24) -/* LCD Timing_2 Register */ -#define LCDC_RASTER_TIMING_2_HFPMSB(x) ((((x) - 1) & GENMASK(9, 8)) >> 8) -#define LCDC_RASTER_TIMING_2_HBPMSB(x) ((((x) - 1) & GENMASK(9, 8)) >> 4) -#define LCDC_RASTER_TIMING_2_ACB(x) (((x) & GENMASK(7, 0)) << 8) -#define LCDC_RASTER_TIMING_2_ACBI(x) (((x) & GENMASK(3, 0)) << 16) -#define LCDC_RASTER_TIMING_2_VSYNC_INVERT BIT(20) -#define LCDC_RASTER_TIMING_2_HSYNC_INVERT BIT(21) -#define LCDC_RASTER_TIMING_2_PXCLK_INVERT BIT(22) -#define LCDC_RASTER_TIMING_2_DE_INVERT BIT(23) -#define LCDC_RASTER_TIMING_2_HSVS_RISEFALL BIT(24) -#define LCDC_RASTER_TIMING_2_HSVS_CONTROL BIT(25) -#define LCDC_RASTER_TIMING_2_VERMSB(x) ((((x) - 1) & BIT(10)) << 16) -#define LCDC_RASTER_TIMING_2_HSWMSB(x) ((((x) - 1) & GENMASK(9, 6)) << 21) -/* LCD Raster Ctrl Register */ -#define LCDC_RASTER_CTRL_ENABLE BIT(0) -#define LCDC_RASTER_CTRL_TFT_MODE BIT(7) -#define LCDC_RASTER_CTRL_DATA_ORDER BIT(8) -#define LCDC_RASTER_CTRL_REQDLY(x) (((x) & GENMASK(7, 0)) << 12) -#define LCDC_RASTER_CTRL_PALMODE_RAWDATA (0x02 << 20) -#define LCDC_RASTER_CTRL_TFT_ALT_ENABLE BIT(23) -#define LCDC_RASTER_CTRL_TFT_24BPP_MODE BIT(25) -#define LCDC_RASTER_CTRL_TFT_24BPP_UNPACK BIT(26) - -enum { - LCDC_MAX_WIDTH = 2048, - LCDC_MAX_HEIGHT = 2048, - LCDC_MAX_LOG2_BPP = VIDEO_BPP32, -}; - -struct tilcdc_regs { - u32 pid; - u32 ctrl; - u32 gap0; - u32 lidd_ctrl; - u32 lidd_cs0_conf; - u32 lidd_cs0_addr; - u32 lidd_cs0_data; - u32 lidd_cs1_conf; - u32 lidd_cs1_addr; - u32 lidd_cs1_data; - u32 raster_ctrl; - u32 raster_timing0; - u32 raster_timing1; - u32 raster_timing2; - u32 raster_subpanel; - u32 raster_subpanel2; - u32 lcddma_ctrl; - u32 lcddma_fb0_base; - u32 lcddma_fb0_ceiling; - u32 lcddma_fb1_base; - u32 lcddma_fb1_ceiling; - u32 sysconfig; - u32 irqstatus_raw; - u32 irqstatus; - u32 irqenable_set; - u32 irqenable_clear; - u32 gap1; - u32 clkc_enable; - u32 clkc_reset; -}; - -struct tilcdc_priv { - struct tilcdc_regs *regs; - struct clk gclk; - struct clk dpll_m2_clk; -}; - -DECLARE_GLOBAL_DATA_PTR; - -static ulong tilcdc_set_pixel_clk_rate(struct udevice *dev, ulong rate) -{ - struct tilcdc_priv *priv = dev_get_priv(dev); - struct tilcdc_regs *regs = priv->regs; - ulong mult_rate, mult_round_rate, best_err, err; - u32 v; - int div, i; - - best_err = rate; - div = 0; - for (i = 2; i <= 255; i++) { - mult_rate = rate * i; - mult_round_rate = clk_round_rate(&priv->gclk, mult_rate); - if (IS_ERR_VALUE(mult_round_rate)) - return mult_round_rate; - - err = mult_rate - mult_round_rate; - if (err < best_err) { - best_err = err; - div = i; - if (err == 0) - break; - } - } - - if (div == 0) { - dev_err(dev, "failed to find a divisor\n"); - return -EFAULT; - } - - mult_rate = clk_set_rate(&priv->gclk, rate * div); - v = readl(®s->ctrl) & ~LCDC_CTRL_CLK_DIVISOR_MASK; - v |= LCDC_CTRL_CLK_DIVISOR(div); - writel(v, ®s->ctrl); - rate = mult_rate / div; - dev_dbg(dev, "rate=%ld, div=%d, err=%ld\n", rate, div, err); - return rate; -} - -static int tilcdc_remove(struct udevice *dev) -{ - struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev); - struct tilcdc_priv *priv = dev_get_priv(dev); - - uc_plat->base -= 0x20; - uc_plat->size += 0x20; - clk_release_all(&priv->gclk, 1); - clk_release_all(&priv->dpll_m2_clk, 1); - return 0; -} - -static int tilcdc_probe(struct udevice *dev) -{ - struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev); - struct video_priv *uc_priv = dev_get_uclass_priv(dev); - struct tilcdc_priv *priv = dev_get_priv(dev); - struct tilcdc_regs *regs = priv->regs; - struct udevice *panel, *clk_dev; - struct tilcdc_panel_info info; - struct display_timing timing; - ulong rate; - u32 reg; - int err; - - /* Before relocation we don't need to do anything */ - if (!(gd->flags & GD_FLG_RELOC)) - return 0; - - err = uclass_get_device(UCLASS_PANEL, 0, &panel); - if (err) { - dev_err(dev, "failed to get panel\n"); - return err; - } - - err = panel_get_display_timing(panel, &timing); - if (err) { - dev_err(dev, "failed to get display timing\n"); - return err; - } - - if (timing.pixelclock.typ > (LCDC_FMAX / 2)) { - dev_err(dev, "invalid display clock-frequency: %d Hz\n", - timing.pixelclock.typ); - return -EINVAL; - } - - if (timing.hactive.typ > LCDC_MAX_WIDTH) - timing.hactive.typ = LCDC_MAX_WIDTH; - - if (timing.vactive.typ > LCDC_MAX_HEIGHT) - timing.vactive.typ = LCDC_MAX_HEIGHT; - - err = tilcdc_panel_get_display_info(panel, &info); - if (err) { - dev_err(dev, "failed to get panel info\n"); - return err; - } - - switch (info.bpp) { - case 16: - case 24: - case 32: - break; - default: - dev_err(dev, "invalid seting, bpp: %d\n", info.bpp); - return -EINVAL; - } - - switch (info.dma_burst_sz) { - case 1: - case 2: - case 4: - case 8: - case 16: - break; - default: - dev_err(dev, "invalid setting, dma-burst-sz: %d\n", - info.dma_burst_sz); - return -EINVAL; - } - - err = uclass_get_device_by_name(UCLASS_CLK, "lcd_gclk@534", &clk_dev); - if (err) { - dev_err(dev, "failed to get lcd_gclk device\n"); - return err; - } - - err = clk_request(clk_dev, &priv->gclk); - if (err) { - dev_err(dev, "failed to get %s clock\n", clk_dev->name); - return err; - } - - rate = tilcdc_set_pixel_clk_rate(dev, timing.pixelclock.typ); - if (IS_ERR_VALUE(rate)) { - dev_err(dev, "failed to set pixel clock rate\n"); - return rate; - } - - err = uclass_get_device_by_name(UCLASS_CLK, "dpll_disp_m2_ck@4a4", - &clk_dev); - if (err) { - dev_err(dev, "failed to get dpll_disp_m2 clock device\n"); - return err; - } - - err = clk_request(clk_dev, &priv->dpll_m2_clk); - if (err) { - dev_err(dev, "failed to get %s clock\n", clk_dev->name); - return err; - } - - err = clk_set_parent(&priv->gclk, &priv->dpll_m2_clk); - if (err) { - dev_err(dev, "failed to set %s clock as %s's parent\n", - priv->dpll_m2_clk.dev->name, priv->gclk.dev->name); - return err; - } - - /* palette default entry */ - memset((void *)uc_plat->base, 0, 0x20); - *(unsigned int *)uc_plat->base = 0x4000; - /* point fb behind palette */ - uc_plat->base += 0x20; - uc_plat->size -= 0x20; - - writel(LCDC_CLKC_ENABLE_CORECLKEN | LCDC_CLKC_ENABLE_LIDDCLKEN | - LCDC_CLKC_ENABLE_DMACLKEN, ®s->clkc_enable); - writel(0, ®s->raster_ctrl); - - reg = readl(®s->ctrl) & LCDC_CTRL_CLK_DIVISOR_MASK; - reg |= LCDC_CTRL_RASTER_MODE; - writel(reg, ®s->ctrl); - - reg = (timing.hactive.typ * timing.vactive.typ * info.bpp) >> 3; - reg += uc_plat->base; - writel(uc_plat->base, ®s->lcddma_fb0_base); - writel(reg, ®s->lcddma_fb0_ceiling); - writel(uc_plat->base, ®s->lcddma_fb1_base); - writel(reg, ®s->lcddma_fb1_ceiling); - - reg = LCDC_DMA_CTRL_FIFO_TH(info.fifo_th); - switch (info.dma_burst_sz) { - case 1: - reg |= LCDC_DMA_CTRL_BURST_SIZE(LCDC_DMA_CTRL_BURST_1); - break; - case 2: - reg |= LCDC_DMA_CTRL_BURST_SIZE(LCDC_DMA_CTRL_BURST_2); - break; - case 4: - reg |= LCDC_DMA_CTRL_BURST_SIZE(LCDC_DMA_CTRL_BURST_4); - break; - case 8: - reg |= LCDC_DMA_CTRL_BURST_SIZE(LCDC_DMA_CTRL_BURST_8); - break; - case 16: - reg |= LCDC_DMA_CTRL_BURST_SIZE(LCDC_DMA_CTRL_BURST_16); - break; - } - - writel(reg, ®s->lcddma_ctrl); - - writel(LCDC_RASTER_TIMING_0_HORLSB(timing.hactive.typ) | - LCDC_RASTER_TIMING_0_HORMSB(timing.hactive.typ) | - LCDC_RASTER_TIMING_0_HFPLSB(timing.hfront_porch.typ) | - LCDC_RASTER_TIMING_0_HBPLSB(timing.hback_porch.typ) | - LCDC_RASTER_TIMING_0_HSWLSB(timing.hsync_len.typ), - ®s->raster_timing0); - - writel(LCDC_RASTER_TIMING_1_VBP(timing.vback_porch.typ) | - LCDC_RASTER_TIMING_1_VFP(timing.vfront_porch.typ) | - LCDC_RASTER_TIMING_1_VSW(timing.vsync_len.typ) | - LCDC_RASTER_TIMING_1_VERLSB(timing.vactive.typ), - ®s->raster_timing1); - - reg = LCDC_RASTER_TIMING_2_ACB(info.ac_bias) | - LCDC_RASTER_TIMING_2_ACBI(info.ac_bias_intrpt) | - LCDC_RASTER_TIMING_2_HSWMSB(timing.hsync_len.typ) | - LCDC_RASTER_TIMING_2_VERMSB(timing.vactive.typ) | - LCDC_RASTER_TIMING_2_HBPMSB(timing.hback_porch.typ) | - LCDC_RASTER_TIMING_2_HFPMSB(timing.hfront_porch.typ); - - if (timing.flags & DISPLAY_FLAGS_VSYNC_LOW) - reg |= LCDC_RASTER_TIMING_2_VSYNC_INVERT; - - if (timing.flags & DISPLAY_FLAGS_HSYNC_LOW) - reg |= LCDC_RASTER_TIMING_2_HSYNC_INVERT; - - if (info.invert_pxl_clk) - reg |= LCDC_RASTER_TIMING_2_PXCLK_INVERT; - - if (info.sync_edge) - reg |= LCDC_RASTER_TIMING_2_HSVS_RISEFALL; - - if (info.sync_ctrl) - reg |= LCDC_RASTER_TIMING_2_HSVS_CONTROL; - - writel(reg, ®s->raster_timing2); - - reg = LCDC_RASTER_CTRL_PALMODE_RAWDATA | LCDC_RASTER_CTRL_TFT_MODE | - LCDC_RASTER_CTRL_ENABLE | LCDC_RASTER_CTRL_REQDLY(info.fdd); - - if (info.tft_alt_mode) - reg |= LCDC_RASTER_CTRL_TFT_ALT_ENABLE; - - if (info.bpp == 24) - reg |= LCDC_RASTER_CTRL_TFT_24BPP_MODE; - else if (info.bpp == 32) - reg |= LCDC_RASTER_CTRL_TFT_24BPP_MODE | - LCDC_RASTER_CTRL_TFT_24BPP_UNPACK; - - if (info.raster_order) - reg |= LCDC_RASTER_CTRL_DATA_ORDER; - - writel(reg, ®s->raster_ctrl); - - uc_priv->xsize = timing.hactive.typ; - uc_priv->ysize = timing.vactive.typ; - uc_priv->bpix = log_2_n_round_up(info.bpp); - - err = panel_enable_backlight(panel); - if (err) { - dev_err(dev, "failed to enable panel backlight\n"); - return err; - } - - return 0; -} - -static int tilcdc_of_to_plat(struct udevice *dev) -{ - struct tilcdc_priv *priv = dev_get_priv(dev); - - priv->regs = (struct tilcdc_regs *)dev_read_addr(dev); - if ((fdt_addr_t)priv->regs == FDT_ADDR_T_NONE) { - dev_err(dev, "failed to get base address\n"); - return -EINVAL; - } - - dev_dbg(dev, "LCD: base address=0x%x\n", (unsigned int)priv->regs); - return 0; -} - -static int tilcdc_bind(struct udevice *dev) -{ - struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev); - - uc_plat->size = ((LCDC_MAX_WIDTH * LCDC_MAX_HEIGHT * - (1 << LCDC_MAX_LOG2_BPP)) >> 3) + 0x20; - - dev_dbg(dev, "frame buffer size 0x%x\n", uc_plat->size); - return 0; -} - -static const struct udevice_id tilcdc_ids[] = { - {.compatible = "ti,am33xx-tilcdc"}, - {} -}; - -U_BOOT_DRIVER(tilcdc) = { - .name = "tilcdc", - .id = UCLASS_VIDEO, - .of_match = tilcdc_ids, - .bind = tilcdc_bind, - .of_to_plat = tilcdc_of_to_plat, - .probe = tilcdc_probe, - .remove = tilcdc_remove, - .priv_auto = sizeof(struct tilcdc_priv) -}; diff --git a/drivers/video/ti/tilcdc.h b/drivers/video/ti/tilcdc.h deleted file mode 100644 index 2645921df65..00000000000 --- a/drivers/video/ti/tilcdc.h +++ /dev/null @@ -1,38 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2020 Dario Binacchi - */ - -#ifndef _TILCDC_H -#define _TILCDC_H - -/** - * tilcdc_panel_info: Panel parameters - * - * @ac_bias: AC Bias Pin Frequency - * @ac_bias_intrpt: AC Bias Pin Transitions per Interrupt - * @dma_burst_sz: DMA burst size - * @bpp: Bits per pixel - * @fdd: FIFO DMA Request Delay - * @tft_alt_mode: TFT Alternative Signal Mapping (Only for active) - * @invert_pxl_clk: Invert pixel clock - * @sync_edge: Horizontal and Vertical Sync Edge: 0=rising 1=falling - * @sync_ctrl: Horizontal and Vertical Sync: Control: 0=ignore - * @raster_order: Raster Data Order Select: 1=Most-to-least 0=Least-to-most - * @fifo_th: DMA FIFO threshold - */ -struct tilcdc_panel_info { - u32 ac_bias; - u32 ac_bias_intrpt; - u32 dma_burst_sz; - u32 bpp; - u32 fdd; - bool tft_alt_mode; - bool invert_pxl_clk; - u32 sync_edge; - u32 sync_ctrl; - u32 raster_order; - u32 fifo_th; -}; - -#endif /* _TILCDC_H */ From be5fadaaf6b5838cdd020a34f47a4980a4a297f0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:38:01 -0600 Subject: [PATCH 36/59] video: atmel: Drop pre-DM parts of video driver This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- drivers/video/Kconfig | 3 +- drivers/video/atmel_hlcdfb.c | 213 ----------------------------------- drivers/video/atmel_lcdfb.c | 75 ------------ 3 files changed, 2 insertions(+), 289 deletions(-) diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 64e086cd276..b537b367761 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -430,7 +430,7 @@ config VIDEO_LCD_ANX9804 config ATMEL_LCD bool "Atmel LCD panel support" - depends on LCD && ARCH_AT91 + depends on DM_VIDEO && ARCH_AT91 config ATMEL_LCD_BGR555 bool "Display in BGR555 mode" @@ -585,6 +585,7 @@ config NXP_TDA19988 config ATMEL_HLCD bool "Enable ATMEL video support using HLCDC" + depends on DM_VIDEO help HLCDC supports video output to an attached LCD panel. diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c index caf65741f2e..6e6704c141e 100644 --- a/drivers/video/atmel_hlcdfb.c +++ b/drivers/video/atmel_hlcdfb.c @@ -25,217 +25,6 @@ DECLARE_GLOBAL_DATA_PTR; -#ifndef CONFIG_DM_VIDEO - -/* configurable parameters */ -#define ATMEL_LCDC_CVAL_DEFAULT 0xc8 -#define ATMEL_LCDC_DMA_BURST_LEN 8 -#ifndef ATMEL_LCDC_GUARD_TIME -#define ATMEL_LCDC_GUARD_TIME 1 -#endif - -#define ATMEL_LCDC_FIFO_SIZE 512 - -/* - * the CLUT register map as following - * RCLUT(24 ~ 16), GCLUT(15 ~ 8), BCLUT(7 ~ 0) - */ -void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue) -{ - writel(panel_info.mmio + ATMEL_LCDC_LUT(regno), - ((red << LCDC_BASECLUT_RCLUT_Pos) & LCDC_BASECLUT_RCLUT_Msk) - | ((green << LCDC_BASECLUT_GCLUT_Pos) & LCDC_BASECLUT_GCLUT_Msk) - | ((blue << LCDC_BASECLUT_BCLUT_Pos) & LCDC_BASECLUT_BCLUT_Msk)); -} - -void lcd_ctrl_init(void *lcdbase) -{ - unsigned long value; - struct lcd_dma_desc *desc; - struct atmel_hlcd_regs *regs; - int ret; - - if (!has_lcdc()) - return; /* No lcdc */ - - regs = (struct atmel_hlcd_regs *)panel_info.mmio; - - /* Disable DISP signal */ - writel(LCDC_LCDDIS_DISPDIS, ®s->lcdc_lcddis); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_DISPSTS, - false, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - /* Disable synchronization */ - writel(LCDC_LCDDIS_SYNCDIS, ®s->lcdc_lcddis); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_LCDSTS, - false, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - /* Disable pixel clock */ - writel(LCDC_LCDDIS_CLKDIS, ®s->lcdc_lcddis); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_CLKSTS, - false, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - /* Disable PWM */ - writel(LCDC_LCDDIS_PWMDIS, ®s->lcdc_lcddis); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_PWMSTS, - false, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - - /* Set pixel clock */ - value = get_lcdc_clk_rate(0) / panel_info.vl_clk; - if (get_lcdc_clk_rate(0) % panel_info.vl_clk) - value++; - - if (value < 1) { - /* Using system clock as pixel clock */ - writel(LCDC_LCDCFG0_CLKDIV(0) - | LCDC_LCDCFG0_CGDISHCR - | LCDC_LCDCFG0_CGDISHEO - | LCDC_LCDCFG0_CGDISOVR1 - | LCDC_LCDCFG0_CGDISBASE - | panel_info.vl_clk_pol - | LCDC_LCDCFG0_CLKSEL, - ®s->lcdc_lcdcfg0); - - } else { - writel(LCDC_LCDCFG0_CLKDIV(value - 2) - | LCDC_LCDCFG0_CGDISHCR - | LCDC_LCDCFG0_CGDISHEO - | LCDC_LCDCFG0_CGDISOVR1 - | LCDC_LCDCFG0_CGDISBASE - | panel_info.vl_clk_pol, - ®s->lcdc_lcdcfg0); - } - - /* Initialize control register 5 */ - value = 0; - - value |= panel_info.vl_sync; - -#ifndef LCD_OUTPUT_BPP - /* Output is 24bpp */ - value |= LCDC_LCDCFG5_MODE_OUTPUT_24BPP; -#else - switch (LCD_OUTPUT_BPP) { - case 12: - value |= LCDC_LCDCFG5_MODE_OUTPUT_12BPP; - break; - case 16: - value |= LCDC_LCDCFG5_MODE_OUTPUT_16BPP; - break; - case 18: - value |= LCDC_LCDCFG5_MODE_OUTPUT_18BPP; - break; - case 24: - value |= LCDC_LCDCFG5_MODE_OUTPUT_24BPP; - break; - default: - BUG(); - break; - } -#endif - - value |= LCDC_LCDCFG5_GUARDTIME(ATMEL_LCDC_GUARD_TIME); - value |= (LCDC_LCDCFG5_DISPDLY | LCDC_LCDCFG5_VSPDLYS); - writel(value, ®s->lcdc_lcdcfg5); - - /* Vertical & Horizontal Timing */ - value = LCDC_LCDCFG1_VSPW(panel_info.vl_vsync_len - 1); - value |= LCDC_LCDCFG1_HSPW(panel_info.vl_hsync_len - 1); - writel(value, ®s->lcdc_lcdcfg1); - - value = LCDC_LCDCFG2_VBPW(panel_info.vl_upper_margin); - value |= LCDC_LCDCFG2_VFPW(panel_info.vl_lower_margin - 1); - writel(value, ®s->lcdc_lcdcfg2); - - value = LCDC_LCDCFG3_HBPW(panel_info.vl_left_margin - 1); - value |= LCDC_LCDCFG3_HFPW(panel_info.vl_right_margin - 1); - writel(value, ®s->lcdc_lcdcfg3); - - /* Display size */ - value = LCDC_LCDCFG4_RPF(panel_info.vl_row - 1); - value |= LCDC_LCDCFG4_PPL(panel_info.vl_col - 1); - writel(value, ®s->lcdc_lcdcfg4); - - writel(LCDC_BASECFG0_BLEN_AHB_INCR4 | LCDC_BASECFG0_DLBO, - ®s->lcdc_basecfg0); - - switch (NBITS(panel_info.vl_bpix)) { - case 16: - writel(LCDC_BASECFG1_RGBMODE_16BPP_RGB_565, - ®s->lcdc_basecfg1); - break; - case 32: - writel(LCDC_BASECFG1_RGBMODE_24BPP_RGB_888, - ®s->lcdc_basecfg1); - break; - default: - BUG(); - break; - } - - writel(LCDC_BASECFG2_XSTRIDE(0), ®s->lcdc_basecfg2); - writel(0, ®s->lcdc_basecfg3); - writel(LCDC_BASECFG4_DMA, ®s->lcdc_basecfg4); - - /* Disable all interrupts */ - writel(~0UL, ®s->lcdc_lcdidr); - writel(~0UL, ®s->lcdc_baseidr); - - /* Setup the DMA descriptor, this descriptor will loop to itself */ - desc = (struct lcd_dma_desc *)(lcdbase - 16); - - desc->address = (u32)lcdbase; - /* Disable DMA transfer interrupt & descriptor loaded interrupt. */ - desc->control = LCDC_BASECTRL_ADDIEN | LCDC_BASECTRL_DSCRIEN - | LCDC_BASECTRL_DMAIEN | LCDC_BASECTRL_DFETCH; - desc->next = (u32)desc; - - /* Flush the DMA descriptor if we enabled dcache */ - flush_dcache_range((u32)desc, (u32)desc + sizeof(*desc)); - - writel(desc->address, ®s->lcdc_baseaddr); - writel(desc->control, ®s->lcdc_basectrl); - writel(desc->next, ®s->lcdc_basenext); - writel(LCDC_BASECHER_CHEN | LCDC_BASECHER_UPDATEEN, - ®s->lcdc_basecher); - - /* Enable LCD */ - value = readl(®s->lcdc_lcden); - writel(value | LCDC_LCDEN_CLKEN, ®s->lcdc_lcden); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_CLKSTS, - true, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - value = readl(®s->lcdc_lcden); - writel(value | LCDC_LCDEN_SYNCEN, ®s->lcdc_lcden); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_LCDSTS, - true, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - value = readl(®s->lcdc_lcden); - writel(value | LCDC_LCDEN_DISPEN, ®s->lcdc_lcden); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_DISPSTS, - true, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - value = readl(®s->lcdc_lcden); - writel(value | LCDC_LCDEN_PWMEN, ®s->lcdc_lcden); - ret = wait_for_bit_le32(®s->lcdc_lcdsr, LCDC_LCDSR_PWMSTS, - true, 1000, false); - if (ret) - printf("%s: %d: Timeout!\n", __func__, __LINE__); - - /* Enable flushing if we enabled dcache */ - lcd_set_flush_dcache(1); -} - -#else - enum { LCD_MAX_WIDTH = 1024, LCD_MAX_HEIGHT = 768, @@ -552,5 +341,3 @@ U_BOOT_DRIVER(atmel_hlcdfb) = { .of_to_plat = atmel_hlcdc_of_to_plat, .priv_auto = sizeof(struct atmel_hlcdc_priv), }; - -#endif diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index 7ac3c7cff4a..f0db193ede7 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c @@ -23,14 +23,12 @@ DECLARE_GLOBAL_DATA_PTR; -#ifdef CONFIG_DM_VIDEO enum { /* Maximum LCD size we support */ LCD_MAX_WIDTH = 1366, LCD_MAX_HEIGHT = 768, LCD_MAX_LOG2_BPP = VIDEO_BPP16, }; -#endif struct atmel_fb_priv { struct display_timing timing; @@ -52,43 +50,6 @@ struct atmel_fb_priv { #define lcdc_readl(mmio, reg) __raw_readl((mmio)+(reg)) #define lcdc_writel(mmio, reg, val) __raw_writel((val), (mmio)+(reg)) -#ifndef CONFIG_DM_VIDEO -ushort *configuration_get_cmap(void) -{ - return (ushort *)(panel_info.mmio + ATMEL_LCDC_LUT(0)); -} - -#if defined(CONFIG_BMP_16BPP) && defined(CONFIG_ATMEL_LCD_BGR555) -void fb_put_word(uchar **fb, uchar **from) -{ - *(*fb)++ = (((*from)[0] & 0x1f) << 2) | ((*from)[1] & 0x03); - *(*fb)++ = ((*from)[0] & 0xe0) | (((*from)[1] & 0x7c) >> 2); - *from += 2; -} -#endif - -void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue) -{ -#if defined(CONFIG_ATMEL_LCD_BGR555) - lcdc_writel(panel_info.mmio, ATMEL_LCDC_LUT(regno), - (red >> 3) | ((green & 0xf8) << 2) | ((blue & 0xf8) << 7)); -#else - lcdc_writel(panel_info.mmio, ATMEL_LCDC_LUT(regno), - (blue >> 3) | ((green & 0xfc) << 3) | ((red & 0xf8) << 8)); -#endif -} - -void lcd_set_cmap(struct bmp_image *bmp, unsigned colors) -{ - int i; - - for (i = 0; i < colors; ++i) { - struct bmp_color_table_entry cte = bmp->color_table[i]; - lcd_setcolreg(i, cte.red, cte.green, cte.blue); - } -} -#endif - static void atmel_fb_init(ulong addr, struct display_timing *timing, int bpix, bool tft, bool cont_pol_low, ulong lcdbase) { @@ -183,41 +144,6 @@ static void atmel_fb_init(ulong addr, struct display_timing *timing, int bpix, (ATMEL_LCDC_GUARD_TIME << ATMEL_LCDC_GUARDT_OFFSET) | ATMEL_LCDC_PWR); } -#ifndef CONFIG_DM_VIDEO -void lcd_ctrl_init(void *lcdbase) -{ - struct display_timing timing; - - timing.flags = 0; - if (!(panel_info.vl_sync & ATMEL_LCDC_INVLINE_INVERTED)) - timing.flags |= DISPLAY_FLAGS_HSYNC_HIGH; - if (!(panel_info.vl_sync & ATMEL_LCDC_INVFRAME_INVERTED)) - timing.flags |= DISPLAY_FLAGS_VSYNC_LOW; - timing.pixelclock.typ = panel_info.vl_clk; - - timing.hactive.typ = panel_info.vl_col; - timing.hfront_porch.typ = panel_info.vl_right_margin; - timing.hback_porch.typ = panel_info.vl_left_margin; - timing.hsync_len.typ = panel_info.vl_hsync_len; - - timing.vactive.typ = panel_info.vl_row; - timing.vfront_porch.typ = panel_info.vl_clk; - timing.vback_porch.typ = panel_info.vl_clk; - timing.vsync_len.typ = panel_info.vl_clk; - - atmel_fb_init(panel_info.mmio, &timing, panel_info.vl_bpix, - panel_info.vl_tft, panel_info.vl_cont_pol_low, - (ulong)lcdbase); -} - -ulong calc_fbsize(void) -{ - return ((panel_info.vl_col * panel_info.vl_row * - NBITS(panel_info.vl_bpix)) / 8) + PAGE_SIZE; -} -#endif - -#ifdef CONFIG_DM_VIDEO static int atmel_fb_lcd_probe(struct udevice *dev) { struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev); @@ -284,4 +210,3 @@ U_BOOT_DRIVER(atmel_fb) = { .plat_auto = sizeof(struct atmel_lcd_plat), .priv_auto = sizeof(struct atmel_fb_priv), }; -#endif From 26cf75f92d2e569651ffcfad455748e513fd257a Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:46:15 -0600 Subject: [PATCH 37/59] video: Drop ld9040 driver This is not used anymore. Drop it. Signed-off-by: Simon Glass --- board/samsung/universal_c210/universal.c | 1 - drivers/video/Makefile | 1 - drivers/video/ld9040.c | 112 ----------------------- include/configs/s5pc210_universal.h | 5 - include/ld9040.h | 15 --- scripts/config_whitelist.txt | 1 - 6 files changed, 135 deletions(-) delete mode 100644 drivers/video/ld9040.c delete mode 100644 include/ld9040.h diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index 1dde2f799b5..078db0c0c4e 100644 --- a/board/samsung/universal_c210/universal.c +++ b/board/samsung/universal_c210/universal.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 48237f04cbb..1b2edc1d3df 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -30,7 +30,6 @@ obj-${CONFIG_VIDEO_TEGRA124} += tegra124/ obj-$(CONFIG_ATMEL_HLCD) += atmel_hlcdfb.o obj-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o obj-$(CONFIG_IHS_VIDEO_OUT) += ihs_video_out.o -obj-$(CONFIG_LD9040) += ld9040.o obj-$(CONFIG_LG4573) += lg4573.o obj-$(CONFIG_LOGICORE_DP_TX) += logicore_dp_tx.o obj-$(CONFIG_NXP_TDA19988) += tda19988.o diff --git a/drivers/video/ld9040.c b/drivers/video/ld9040.c deleted file mode 100644 index a36bc2f06cb..00000000000 --- a/drivers/video/ld9040.c +++ /dev/null @@ -1,112 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * ld9040 AMOLED LCD panel driver. - * - * Copyright (C) 2012 Samsung Electronics - * Donghwa Lee - */ - -#include -#include -#include - -static const unsigned char SEQ_USER_SETTING[] = { - 0xF0, 0x5A, 0x5A -}; - -static const unsigned char SEQ_ELVSS_ON[] = { - 0xB1, 0x0D, 0x00, 0x16, -}; - -static const unsigned char SEQ_GTCON[] = { - 0xF7, 0x09, 0x00, 0x00, -}; - -static const unsigned char SEQ_PANEL_CONDITION[] = { - 0xF8, 0x05, 0x65, 0x96, 0x71, 0x7D, 0x19, 0x3B, - 0x0D, 0x19, 0x7E, 0x0D, 0xE2, 0x00, 0x00, 0x7E, - 0x7D, 0x07, 0x07, 0x20, 0x20, 0x20, 0x02, 0x02, -}; - -static const unsigned char SEQ_GAMMA_SET1[] = { - 0xF9, 0x00, 0xA7, 0xB4, 0xAE, 0xBF, 0x00, 0x91, - 0x00, 0xB2, 0xB4, 0xAA, 0xBB, 0x00, 0xAC, 0x00, - 0xB3, 0xB1, 0xAA, 0xBC, 0x00, 0xB3, -}; - -static const unsigned char SEQ_GAMMA_CTRL[] = { - 0xFB, 0x02, 0x5A, -}; - -static const unsigned char SEQ_DISPCTL[] = { - 0xF2, 0x02, 0x08, 0x08, 0x10, 0x10, -}; - -static const unsigned char SEQ_MANPWR[] = { - 0xB0, 0x04, -}; - -static const unsigned char SEQ_PWR_CTRL[] = { - 0xF4, 0x0A, 0x87, 0x25, 0x6A, 0x44, 0x02, 0x88, -}; - -static const unsigned char SEQ_SLPOUT[] = { - 0x11, -}; - -static const unsigned char SEQ_DISPON[] = { - 0x29, -}; - -static const unsigned char SEQ_DISPOFF[] = { - 0x28, -}; - -static void ld9040_spi_write(const unsigned char *wbuf, unsigned int size_cmd) -{ - int i = 0; - - /* - * Data are transmitted in 9-bit words: - * the first bit is command/parameter, the other are the value. - * The value's LSB is shifted to MSB position, to be sent as 9th bit - */ - - unsigned int data_out = 0, data_in = 0; - for (i = 0; i < size_cmd; i++) { - data_out = wbuf[i] >> 1; - if (i != 0) - data_out += 0x0080; - if (wbuf[i] & 0x01) - data_out += 0x8000; - spi_xfer(NULL, 9, &data_out, &data_in, SPI_XFER_BEGIN); - } -} - -void ld9040_cfg_ldo(void) -{ - udelay(10); - - ld9040_spi_write(SEQ_USER_SETTING, - ARRAY_SIZE(SEQ_USER_SETTING)); - ld9040_spi_write(SEQ_PANEL_CONDITION, - ARRAY_SIZE(SEQ_PANEL_CONDITION)); - ld9040_spi_write(SEQ_DISPCTL, ARRAY_SIZE(SEQ_DISPCTL)); - ld9040_spi_write(SEQ_MANPWR, ARRAY_SIZE(SEQ_MANPWR)); - ld9040_spi_write(SEQ_PWR_CTRL, ARRAY_SIZE(SEQ_PWR_CTRL)); - ld9040_spi_write(SEQ_ELVSS_ON, ARRAY_SIZE(SEQ_ELVSS_ON)); - ld9040_spi_write(SEQ_GTCON, ARRAY_SIZE(SEQ_GTCON)); - ld9040_spi_write(SEQ_GAMMA_SET1, ARRAY_SIZE(SEQ_GAMMA_SET1)); - ld9040_spi_write(SEQ_GAMMA_CTRL, ARRAY_SIZE(SEQ_GAMMA_CTRL)); - ld9040_spi_write(SEQ_SLPOUT, ARRAY_SIZE(SEQ_SLPOUT)); - - udelay(120); -} - -void ld9040_enable_ldo(unsigned int onoff) -{ - if (onoff) - ld9040_spi_write(SEQ_DISPON, ARRAY_SIZE(SEQ_DISPON)); - else - ld9040_spi_write(SEQ_DISPOFF, ARRAY_SIZE(SEQ_DISPOFF)); -} diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index f94135355ab..000dc388ac0 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -114,9 +114,4 @@ int universal_spi_read(void); /* LCD console */ #define LCD_BPP LCD_COLOR16 -/* - * LCD Settings - */ -#define CONFIG_LD9040 - #endif /* __CONFIG_H */ diff --git a/include/ld9040.h b/include/ld9040.h deleted file mode 100644 index 58413d0a3de..00000000000 --- a/include/ld9040.h +++ /dev/null @@ -1,15 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * ld9040 AMOLED LCD panel driver. - * - * Copyright (C) 2012 Samsung Electronics - * Donghwa Lee - */ - -#ifndef __LD9040_H_ -#define __LD9040_H_ - -void ld9040_cfg_ldo(void); -void ld9040_enable_ldo(unsigned int onoff); - -#endif /* __LD9040_H_ */ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 1b1cd524cb5..c922d0c6c39 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -261,7 +261,6 @@ CONFIG_KSNET_SERDES_SGMII2_BASE CONFIG_KSNET_SERDES_SGMII_BASE CONFIG_L1_INIT_RAM CONFIG_L2_CACHE -CONFIG_LD9040 CONFIG_LEGACY_BOOTCMD_ENV CONFIG_LOADS_ECHO CONFIG_LOWPOWER_ADDR From 65039696f7c5219ba2830268cfb7d7e702f0b2c9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:49:00 -0600 Subject: [PATCH 38/59] video: atmel: Drop CONFIG_LCD_IN_PSRAM This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- board/ronetix/pm9263/pm9263.c | 95 ----------------------------------- 1 file changed, 95 deletions(-) diff --git a/board/ronetix/pm9263/pm9263.c b/board/ronetix/pm9263/pm9263.c index 6dc080ac2c3..8684e5229d8 100644 --- a/board/ronetix/pm9263/pm9263.c +++ b/board/ronetix/pm9263/pm9263.c @@ -71,108 +71,13 @@ static void pm9263_nand_hw_init(void) #ifdef CONFIG_LCD -#ifdef CONFIG_LCD_IN_PSRAM - -#define PSRAM_CRE_PIN AT91_PIO_PORTB, 29 -#define PSRAM_CTRL_REG (PHYS_PSRAM + PHYS_PSRAM_SIZE - 2) - -/* Initialize the PSRAM memory */ -static int pm9263_lcd_hw_psram_init(void) -{ - unsigned long csa; - struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC1; - struct at91_matrix *matrix = (struct at91_matrix *)ATMEL_BASE_MATRIX; - - /* Enable CS3 3.3v, no pull-ups */ - csa = readl(&matrix->csa[1]) | AT91_MATRIX_CSA_DBPUC | - AT91_MATRIX_CSA_VDDIOMSEL_3_3V; - - writel(csa, &matrix->csa[1]); - - /* Configure SMC1 CS0 for PSRAM - 16-bit */ - writel(AT91_SMC_SETUP_NWE(0) | AT91_SMC_SETUP_NCS_WR(0) | - AT91_SMC_SETUP_NRD(0) | AT91_SMC_SETUP_NCS_RD(0), - &smc->cs[0].setup); - - writel(AT91_SMC_PULSE_NWE(7) | AT91_SMC_PULSE_NCS_WR(7) | - AT91_SMC_PULSE_NRD(2) | AT91_SMC_PULSE_NCS_RD(7), - &smc->cs[0].pulse); - - writel(AT91_SMC_CYCLE_NWE(8) | AT91_SMC_CYCLE_NRD(8), - &smc->cs[0].cycle); - - writel(AT91_SMC_MODE_DBW_16 | AT91_SMC_MODE_PMEN | AT91_SMC_MODE_PS_32, - &smc->cs[0].mode); - - /* setup PB29 as output */ - at91_set_pio_output(PSRAM_CRE_PIN, 1); - - at91_set_pio_value(PSRAM_CRE_PIN, 0); /* set PSRAM_CRE_PIN to '0' */ - - /* PSRAM: write BCR */ - readw(PSRAM_CTRL_REG); - readw(PSRAM_CTRL_REG); - writew(1, PSRAM_CTRL_REG); /* 0 - RCR,1 - BCR */ - writew(0x9d4f, PSRAM_CTRL_REG); /* write the BCR */ - - /* write RCR of the PSRAM */ - readw(PSRAM_CTRL_REG); - readw(PSRAM_CTRL_REG); - writew(0, PSRAM_CTRL_REG); /* 0 - RCR,1 - BCR */ - /* set RCR; 0x10-async mode,0x90-page mode */ - writew(0x90, PSRAM_CTRL_REG); - - /* - * test to see if the PSRAM is MT45W2M16A or MT45W2M16B - * MT45W2M16B - CRE must be 0 - * MT45W2M16A - CRE must be 1 - */ - writew(0x1234, PHYS_PSRAM); - writew(0x5678, PHYS_PSRAM + 2); - - /* test if the chip is MT45W2M16B */ - if ((readw(PHYS_PSRAM) != 0x1234) || (readw(PHYS_PSRAM+2) != 0x5678)) { - /* try with CRE=1 (MT45W2M16A) */ - at91_set_pio_value(PSRAM_CRE_PIN, 1); /* set PSRAM_CRE_PIN to '1' */ - - /* write RCR of the PSRAM */ - readw(PSRAM_CTRL_REG); - readw(PSRAM_CTRL_REG); - writew(0, PSRAM_CTRL_REG); /* 0 - RCR,1 - BCR */ - /* set RCR;0x10-async mode,0x90-page mode */ - writew(0x90, PSRAM_CTRL_REG); - - - writew(0x1234, PHYS_PSRAM); - writew(0x5678, PHYS_PSRAM+2); - if ((readw(PHYS_PSRAM) != 0x1234) - || (readw(PHYS_PSRAM + 2) != 0x5678)) - return 1; - - } - - /* Bus matrix */ - writel(AT91_MATRIX_PRA_M5(3), &matrix->pr[5].a); - writel(CONFIG_PSRAM_SCFG, &matrix->scfg[5]); - - return 0; -} -#endif - static void pm9263_lcd_hw_init(void) { /* Power Control */ at91_set_pio_output(AT91_PIO_PORTA, 22, 1); at91_set_pio_value(AT91_PIO_PORTA, 22, 0); /* power down */ -#ifdef CONFIG_LCD_IN_PSRAM - /* initialize the PSRAM */ - int stat = pm9263_lcd_hw_psram_init(); - - gd->fb_base = (stat == 0) ? PHYS_PSRAM : ATMEL_BASE_SRAM0; -#else gd->fb_base = ATMEL_BASE_SRAM0; -#endif } From b95125e480a3b75bb2137bfa069f9458a870410f Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:52:26 -0600 Subject: [PATCH 39/59] treewide: Stop enabling CONFIG_LCD This option is not used anymore since the LCD implementation is being removed. Stop enabling it on various boards. Signed-off-by: Simon Glass --- configs/evb-px30_defconfig | 1 - configs/firefly-px30_defconfig | 1 - configs/gurnard_defconfig | 1 - configs/odroid-go2_defconfig | 1 - configs/peach-pi_defconfig | 1 - configs/peach-pit_defconfig | 1 - configs/pm9261_defconfig | 1 - configs/pm9263_defconfig | 1 - configs/px30-core-ctouch2-of10-px30_defconfig | 1 - configs/px30-core-ctouch2-px30_defconfig | 1 - configs/px30-core-edimm2.2-px30_defconfig | 1 - configs/snow_defconfig | 1 - configs/spring_defconfig | 1 - configs/xilinx_zynqmp_virt_defconfig | 1 - 14 files changed, 14 deletions(-) diff --git a/configs/evb-px30_defconfig b/configs/evb-px30_defconfig index 4f88879e18a..3ed5c3e38ce 100644 --- a/configs/evb-px30_defconfig +++ b/configs/evb-px30_defconfig @@ -111,7 +111,6 @@ CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y -CONFIG_LCD=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y CONFIG_LZO=y diff --git a/configs/firefly-px30_defconfig b/configs/firefly-px30_defconfig index 1717eb21106..eedcd97c0ea 100644 --- a/configs/firefly-px30_defconfig +++ b/configs/firefly-px30_defconfig @@ -110,7 +110,6 @@ CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y -CONFIG_LCD=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y CONFIG_LZO=y diff --git a/configs/gurnard_defconfig b/configs/gurnard_defconfig index 01546de8fda..3b98f339496 100644 --- a/configs/gurnard_defconfig +++ b/configs/gurnard_defconfig @@ -63,5 +63,4 @@ CONFIG_DM_VIDEO=y # CONFIG_VIDEO_LOGO is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_LCD=y -CONFIG_LCD=y CONFIG_CMD_DHRYSTONE=y diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig index c0c0c4daee2..8222933bf80 100644 --- a/configs/odroid-go2_defconfig +++ b/configs/odroid-go2_defconfig @@ -114,7 +114,6 @@ CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y -CONFIG_LCD=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y CONFIG_LZO=y diff --git a/configs/peach-pi_defconfig b/configs/peach-pi_defconfig index 51210f88a00..aa8f85feffb 100644 --- a/configs/peach-pi_defconfig +++ b/configs/peach-pi_defconfig @@ -89,6 +89,5 @@ CONFIG_EXYNOS_DP=y CONFIG_EXYNOS_FB=y CONFIG_VIDEO_BRIDGE=y CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y -CONFIG_LCD=y CONFIG_TPM=y CONFIG_ERRNO_STR=y diff --git a/configs/peach-pit_defconfig b/configs/peach-pit_defconfig index e2fbb8a0ab9..362cc0ab0ff 100644 --- a/configs/peach-pit_defconfig +++ b/configs/peach-pit_defconfig @@ -88,6 +88,5 @@ CONFIG_EXYNOS_DP=y CONFIG_EXYNOS_FB=y CONFIG_VIDEO_BRIDGE=y CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y -CONFIG_LCD=y CONFIG_TPM=y CONFIG_ERRNO_STR=y diff --git a/configs/pm9261_defconfig b/configs/pm9261_defconfig index 79e0dce2d47..5a5d0ca81c1 100644 --- a/configs/pm9261_defconfig +++ b/configs/pm9261_defconfig @@ -67,5 +67,4 @@ CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y -CONFIG_LCD=y CONFIG_REGEX=y diff --git a/configs/pm9263_defconfig b/configs/pm9263_defconfig index 124ed0130db..812128e2ee2 100644 --- a/configs/pm9263_defconfig +++ b/configs/pm9263_defconfig @@ -70,5 +70,4 @@ CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y -CONFIG_LCD=y CONFIG_JFFS2_NAND=y diff --git a/configs/px30-core-ctouch2-of10-px30_defconfig b/configs/px30-core-ctouch2-of10-px30_defconfig index 2fb8bd8a234..33d502b5f6c 100644 --- a/configs/px30-core-ctouch2-of10-px30_defconfig +++ b/configs/px30-core-ctouch2-of10-px30_defconfig @@ -110,7 +110,6 @@ CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y -CONFIG_LCD=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y CONFIG_LZO=y diff --git a/configs/px30-core-ctouch2-px30_defconfig b/configs/px30-core-ctouch2-px30_defconfig index 76f81ae437e..59391647c92 100644 --- a/configs/px30-core-ctouch2-px30_defconfig +++ b/configs/px30-core-ctouch2-px30_defconfig @@ -110,7 +110,6 @@ CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y -CONFIG_LCD=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y CONFIG_LZO=y diff --git a/configs/px30-core-edimm2.2-px30_defconfig b/configs/px30-core-edimm2.2-px30_defconfig index 8493500a064..dd8cc5f6e6f 100644 --- a/configs/px30-core-edimm2.2-px30_defconfig +++ b/configs/px30-core-edimm2.2-px30_defconfig @@ -110,7 +110,6 @@ CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y -CONFIG_LCD=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y CONFIG_LZO=y diff --git a/configs/snow_defconfig b/configs/snow_defconfig index 57cb6bddf9e..5b63529db2e 100644 --- a/configs/snow_defconfig +++ b/configs/snow_defconfig @@ -100,7 +100,6 @@ CONFIG_EXYNOS_FB=y CONFIG_VIDEO_BRIDGE=y CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y CONFIG_VIDEO_BRIDGE_NXP_PTN3460=y -CONFIG_LCD=y CONFIG_TPM=y CONFIG_ERRNO_STR=y CONFIG_UNIT_TEST=y diff --git a/configs/spring_defconfig b/configs/spring_defconfig index ab9dd9df6de..693ee54fdc5 100644 --- a/configs/spring_defconfig +++ b/configs/spring_defconfig @@ -100,6 +100,5 @@ CONFIG_EXYNOS_DP=y CONFIG_EXYNOS_FB=y CONFIG_VIDEO_BRIDGE=y CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y -CONFIG_LCD=y CONFIG_TPM=y CONFIG_ERRNO_STR=y diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig index 1591f221b5a..ea66dcf5056 100644 --- a/configs/xilinx_zynqmp_virt_defconfig +++ b/configs/xilinx_zynqmp_virt_defconfig @@ -225,7 +225,6 @@ CONFIG_DM_VIDEO=y CONFIG_VIDEO_COPY=y CONFIG_DISPLAY=y CONFIG_VIDEO_SEPS525=y -CONFIG_LCD=y CONFIG_SPLASH_SCREEN=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y From 6b9a829d2734d952dd6f7716a8fbd517ea373f0c Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:53:35 -0600 Subject: [PATCH 40/59] video: Drop atmel LCD code This has not been migrated to DM_VIDEO since 2019. Drop it. Signed-off-by: Simon Glass --- .../mach-at91/arm926ejs/at91sam9n12_devices.c | 39 ---------- arch/arm/mach-at91/armv7/sama5d3_devices.c | 33 -------- board/atmel/at91sam9261ek/at91sam9261ek.c | 67 ----------------- board/atmel/at91sam9263ek/at91sam9263ek.c | 63 ---------------- .../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 75 ------------------- board/atmel/at91sam9n12ek/at91sam9n12ek.c | 34 --------- board/atmel/at91sam9rlek/at91sam9rlek.c | 60 --------------- board/bluewater/gurnard/gurnard.c | 1 - drivers/video/atmel_hlcdfb.c | 1 - drivers/video/atmel_lcdfb.c | 1 - include/configs/sama5d3xek.h | 3 - scripts/config_whitelist.txt | 1 - 12 files changed, 378 deletions(-) diff --git a/arch/arm/mach-at91/arm926ejs/at91sam9n12_devices.c b/arch/arm/mach-at91/arm926ejs/at91sam9n12_devices.c index 736c799e2ad..9f98ce7a45c 100644 --- a/arch/arm/mach-at91/arm926ejs/at91sam9n12_devices.c +++ b/arch/arm/mach-at91/arm926ejs/at91sam9n12_devices.c @@ -99,42 +99,3 @@ void at91_mci_hw_init(void) at91_periph_clk_enable(ATMEL_ID_HSMCI0); } - -#ifdef CONFIG_LCD -void at91_lcd_hw_init(void) -{ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 24, 0); /* LCDDPWR */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 26, 0); /* LCDVSYNC */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 27, 0); /* LCDHSYNC */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 28, 0); /* LCDDOTCK */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 29, 0); /* LCDDEN */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 30, 0); /* LCDDOTCK */ - - at91_pio3_set_a_periph(AT91_PIO_PORTC, 0, 0); /* LCDD0 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 1, 0); /* LCDD1 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 2, 0); /* LCDD2 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 3, 0); /* LCDD3 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 4, 0); /* LCDD4 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 5, 0); /* LCDD5 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 6, 0); /* LCDD6 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 7, 0); /* LCDD7 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 8, 0); /* LCDD8 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 9, 0); /* LCDD9 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 10, 0); /* LCDD10 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 11, 0); /* LCDD11 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 12, 0); /* LCDD12 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 13, 0); /* LCDD13 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 14, 0); /* LCDD14 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 15, 0); /* LCDD15 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 16, 0); /* LCDD16 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 17, 0); /* LCDD17 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 18, 0); /* LCDD18 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 19, 0); /* LCDD19 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 20, 0); /* LCDD20 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 21, 0); /* LCDD21 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 22, 0); /* LCDD22 */ - at91_pio3_set_a_periph(AT91_PIO_PORTC, 23, 0); /* LCDD23 */ - - at91_periph_clk_enable(ATMEL_ID_LCDC); -} -#endif diff --git a/arch/arm/mach-at91/armv7/sama5d3_devices.c b/arch/arm/mach-at91/armv7/sama5d3_devices.c index 091059ea565..04b700a94d7 100644 --- a/arch/arm/mach-at91/armv7/sama5d3_devices.c +++ b/arch/arm/mach-at91/armv7/sama5d3_devices.c @@ -170,39 +170,6 @@ void at91_gmac_hw_init(void) } #endif -#ifdef CONFIG_LCD -void at91_lcd_hw_init(void) -{ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 24, 0); /* LCDPWM */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 25, 0); /* LCDDISP */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 26, 0); /* LCDVSYNC */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 27, 0); /* LCDHSYNC */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 28, 0); /* LCDDOTCK */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 29, 0); /* LCDDEN */ - - /* The lower 16-bit of LCD only available on Port A */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 0, 0); /* LCDD0 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 1, 0); /* LCDD1 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 2, 0); /* LCDD2 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 3, 0); /* LCDD3 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 4, 0); /* LCDD4 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 5, 0); /* LCDD5 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 6, 0); /* LCDD6 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 7, 0); /* LCDD7 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 8, 0); /* LCDD8 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 9, 0); /* LCDD9 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 10, 0); /* LCDD10 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 11, 0); /* LCDD11 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 12, 0); /* LCDD12 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 13, 0); /* LCDD13 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 14, 0); /* LCDD14 */ - at91_pio3_set_a_periph(AT91_PIO_PORTA, 15, 0); /* LCDD15 */ - - /* Enable clock */ - at91_periph_clk_enable(ATMEL_ID_LCDC); -} -#endif - #ifdef CONFIG_USB_GADGET_ATMEL_USBA void at91_udp_hw_init(void) { diff --git a/board/atmel/at91sam9261ek/at91sam9261ek.c b/board/atmel/at91sam9261ek/at91sam9261ek.c index e5fdf383996..0c53325ba71 100644 --- a/board/atmel/at91sam9261ek/at91sam9261ek.c +++ b/board/atmel/at91sam9261ek/at91sam9261ek.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_DRIVER_DM9000) #include @@ -133,69 +132,6 @@ static void at91sam9261ek_dm9000_hw_init(void) } #endif -#ifdef CONFIG_LCD -vidinfo_t panel_info = { - .vl_col = 240, - .vl_row = 320, - .vl_clk = 4965000, - .vl_sync = ATMEL_LCDC_INVLINE_INVERTED | - ATMEL_LCDC_INVFRAME_INVERTED, - .vl_bpix = 3, - .vl_tft = 1, - .vl_hsync_len = 5, - .vl_left_margin = 1, - .vl_right_margin = 33, - .vl_vsync_len = 1, - .vl_upper_margin = 1, - .vl_lower_margin = 0, - .mmio = ATMEL_BASE_LCDC, -}; - -void lcd_enable(void) -{ - at91_set_gpio_value(AT91_PIN_PA12, 0); /* power up */ -} - -void lcd_disable(void) -{ - at91_set_gpio_value(AT91_PIN_PA12, 1); /* power down */ -} - -static void at91sam9261ek_lcd_hw_init(void) -{ - at91_set_A_periph(AT91_PIN_PB1, 0); /* LCDHSYNC */ - at91_set_A_periph(AT91_PIN_PB2, 0); /* LCDDOTCK */ - at91_set_A_periph(AT91_PIN_PB3, 0); /* LCDDEN */ - at91_set_A_periph(AT91_PIN_PB4, 0); /* LCDCC */ - at91_set_A_periph(AT91_PIN_PB7, 0); /* LCDD2 */ - at91_set_A_periph(AT91_PIN_PB8, 0); /* LCDD3 */ - at91_set_A_periph(AT91_PIN_PB9, 0); /* LCDD4 */ - at91_set_A_periph(AT91_PIN_PB10, 0); /* LCDD5 */ - at91_set_A_periph(AT91_PIN_PB11, 0); /* LCDD6 */ - at91_set_A_periph(AT91_PIN_PB12, 0); /* LCDD7 */ - at91_set_A_periph(AT91_PIN_PB15, 0); /* LCDD10 */ - at91_set_A_periph(AT91_PIN_PB16, 0); /* LCDD11 */ - at91_set_A_periph(AT91_PIN_PB17, 0); /* LCDD12 */ - at91_set_A_periph(AT91_PIN_PB18, 0); /* LCDD13 */ - at91_set_A_periph(AT91_PIN_PB19, 0); /* LCDD14 */ - at91_set_A_periph(AT91_PIN_PB20, 0); /* LCDD15 */ - at91_set_B_periph(AT91_PIN_PB23, 0); /* LCDD18 */ - at91_set_B_periph(AT91_PIN_PB24, 0); /* LCDD19 */ - at91_set_B_periph(AT91_PIN_PB25, 0); /* LCDD20 */ - at91_set_B_periph(AT91_PIN_PB26, 0); /* LCDD21 */ - at91_set_B_periph(AT91_PIN_PB27, 0); /* LCDD22 */ - at91_set_B_periph(AT91_PIN_PB28, 0); /* LCDD23 */ - - at91_system_clk_enable(AT91_PMC_HCK1); - - /* For 9G10EK, let U-Boot allocate the framebuffer in SDRAM */ -#ifdef CONFIG_AT91SAM9261EK - gd->fb_base = ATMEL_BASE_SRAM; -#endif -} - -#endif - #ifdef CONFIG_DEBUG_UART_BOARD_INIT void board_debug_uart_init(void) { @@ -227,9 +163,6 @@ int board_init(void) #endif #ifdef CONFIG_DRIVER_DM9000 at91sam9261ek_dm9000_hw_init(); -#endif -#ifdef CONFIG_LCD - at91sam9261ek_lcd_hw_init(); #endif return 0; } diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c index 7c15a76587d..3e232aa87fb 100644 --- a/board/atmel/at91sam9263ek/at91sam9263ek.c +++ b/board/atmel/at91sam9263ek/at91sam9263ek.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -77,65 +76,6 @@ static void at91sam9263ek_nand_hw_init(void) } #endif -#ifdef CONFIG_LCD -vidinfo_t panel_info = { - .vl_col = 240, - .vl_row = 320, - .vl_clk = 4965000, - .vl_sync = ATMEL_LCDC_INVLINE_INVERTED | - ATMEL_LCDC_INVFRAME_INVERTED, - .vl_bpix = 3, - .vl_tft = 1, - .vl_hsync_len = 5, - .vl_left_margin = 1, - .vl_right_margin = 33, - .vl_vsync_len = 1, - .vl_upper_margin = 1, - .vl_lower_margin = 0, - .mmio = ATMEL_BASE_LCDC, -}; - -void lcd_enable(void) -{ - at91_set_pio_value(AT91_PIO_PORTA, 30, 1); /* power up */ -} - -void lcd_disable(void) -{ - at91_set_pio_value(AT91_PIO_PORTA, 30, 0); /* power down */ -} - -static void at91sam9263ek_lcd_hw_init(void) -{ - at91_set_a_periph(AT91_PIO_PORTC, 1, 0); /* LCDHSYNC */ - at91_set_a_periph(AT91_PIO_PORTC, 2, 0); /* LCDDOTCK */ - at91_set_a_periph(AT91_PIO_PORTC, 3, 0); /* LCDDEN */ - at91_set_b_periph(AT91_PIO_PORTB, 9, 0); /* LCDCC */ - at91_set_a_periph(AT91_PIO_PORTC, 6, 0); /* LCDD2 */ - at91_set_a_periph(AT91_PIO_PORTC, 7, 0); /* LCDD3 */ - at91_set_a_periph(AT91_PIO_PORTC, 8, 0); /* LCDD4 */ - at91_set_a_periph(AT91_PIO_PORTC, 9, 0); /* LCDD5 */ - at91_set_a_periph(AT91_PIO_PORTC, 10, 0); /* LCDD6 */ - at91_set_a_periph(AT91_PIO_PORTC, 11, 0); /* LCDD7 */ - at91_set_a_periph(AT91_PIO_PORTC, 14, 0); /* LCDD10 */ - at91_set_a_periph(AT91_PIO_PORTC, 15, 0); /* LCDD11 */ - at91_set_a_periph(AT91_PIO_PORTC, 16, 0); /* LCDD12 */ - at91_set_b_periph(AT91_PIO_PORTC, 12, 0); /* LCDD13 */ - at91_set_a_periph(AT91_PIO_PORTC, 18, 0); /* LCDD14 */ - at91_set_a_periph(AT91_PIO_PORTC, 19, 0); /* LCDD15 */ - at91_set_a_periph(AT91_PIO_PORTC, 22, 0); /* LCDD18 */ - at91_set_a_periph(AT91_PIO_PORTC, 23, 0); /* LCDD19 */ - at91_set_a_periph(AT91_PIO_PORTC, 24, 0); /* LCDD20 */ - at91_set_b_periph(AT91_PIO_PORTC, 17, 0); /* LCDD21 */ - at91_set_a_periph(AT91_PIO_PORTC, 26, 0); /* LCDD22 */ - at91_set_a_periph(AT91_PIO_PORTC, 27, 0); /* LCDD23 */ - - at91_periph_clk_enable(ATMEL_ID_LCDC); - gd->fb_base = ATMEL_BASE_SRAM0; -} - -#endif - #ifdef CONFIG_DEBUG_UART_BOARD_INIT void board_debug_uart_init(void) { @@ -162,9 +102,6 @@ int board_init(void) #endif #ifdef CONFIG_USB_OHCI_NEW at91_uhp_hw_init(); -#endif -#ifdef CONFIG_LCD - at91sam9263ek_lcd_hw_init(); #endif return 0; } diff --git a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c index 3ab9fb321a7..3af70971f34 100644 --- a/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c +++ b/board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -149,77 +148,6 @@ static void at91sam9m10g45ek_usb_hw_init(void) } #endif -#ifdef CONFIG_LCD - -vidinfo_t panel_info = { - .vl_col = 480, - .vl_row = 272, - .vl_clk = 9000000, - .vl_sync = ATMEL_LCDC_INVLINE_NORMAL | - ATMEL_LCDC_INVFRAME_NORMAL, - .vl_bpix = 3, - .vl_tft = 1, - .vl_hsync_len = 45, - .vl_left_margin = 1, - .vl_right_margin = 1, - .vl_vsync_len = 1, - .vl_upper_margin = 40, - .vl_lower_margin = 1, - .mmio = ATMEL_BASE_LCDC, -}; - - -void lcd_enable(void) -{ - at91_set_A_periph(AT91_PIN_PE6, 1); /* power up */ -} - -void lcd_disable(void) -{ - at91_set_A_periph(AT91_PIN_PE6, 0); /* power down */ -} - -static void at91sam9m10g45ek_lcd_hw_init(void) -{ - at91_set_A_periph(AT91_PIN_PE0, 0); /* LCDDPWR */ - at91_set_A_periph(AT91_PIN_PE2, 0); /* LCDCC */ - at91_set_A_periph(AT91_PIN_PE3, 0); /* LCDVSYNC */ - at91_set_A_periph(AT91_PIN_PE4, 0); /* LCDHSYNC */ - at91_set_A_periph(AT91_PIN_PE5, 0); /* LCDDOTCK */ - - at91_set_A_periph(AT91_PIN_PE7, 0); /* LCDD0 */ - at91_set_A_periph(AT91_PIN_PE8, 0); /* LCDD1 */ - at91_set_A_periph(AT91_PIN_PE9, 0); /* LCDD2 */ - at91_set_A_periph(AT91_PIN_PE10, 0); /* LCDD3 */ - at91_set_A_periph(AT91_PIN_PE11, 0); /* LCDD4 */ - at91_set_A_periph(AT91_PIN_PE12, 0); /* LCDD5 */ - at91_set_A_periph(AT91_PIN_PE13, 0); /* LCDD6 */ - at91_set_A_periph(AT91_PIN_PE14, 0); /* LCDD7 */ - at91_set_A_periph(AT91_PIN_PE15, 0); /* LCDD8 */ - at91_set_A_periph(AT91_PIN_PE16, 0); /* LCDD9 */ - at91_set_A_periph(AT91_PIN_PE17, 0); /* LCDD10 */ - at91_set_A_periph(AT91_PIN_PE18, 0); /* LCDD11 */ - at91_set_A_periph(AT91_PIN_PE19, 0); /* LCDD12 */ - at91_set_B_periph(AT91_PIN_PE20, 0); /* LCDD13 */ - at91_set_A_periph(AT91_PIN_PE21, 0); /* LCDD14 */ - at91_set_A_periph(AT91_PIN_PE22, 0); /* LCDD15 */ - at91_set_A_periph(AT91_PIN_PE23, 0); /* LCDD16 */ - at91_set_A_periph(AT91_PIN_PE24, 0); /* LCDD17 */ - at91_set_A_periph(AT91_PIN_PE25, 0); /* LCDD18 */ - at91_set_A_periph(AT91_PIN_PE26, 0); /* LCDD19 */ - at91_set_A_periph(AT91_PIN_PE27, 0); /* LCDD20 */ - at91_set_B_periph(AT91_PIN_PE28, 0); /* LCDD21 */ - at91_set_A_periph(AT91_PIN_PE29, 0); /* LCDD22 */ - at91_set_A_periph(AT91_PIN_PE30, 0); /* LCDD23 */ - - at91_periph_clk_enable(ATMEL_ID_LCDC); - - /* board specific(not enough SRAM) */ - gd->fb_base = 0x73E00000; -} - -#endif - #ifdef CONFIG_DEBUG_UART_BOARD_INIT void board_debug_uart_init(void) { @@ -247,9 +175,6 @@ int board_init(void) #endif #ifdef CONFIG_CMD_USB at91sam9m10g45ek_usb_hw_init(); -#endif -#ifdef CONFIG_LCD - at91sam9m10g45ek_lcd_hw_init(); #endif return 0; } diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c index 5825ef85871..546851953a1 100644 --- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c +++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include @@ -76,35 +75,6 @@ static void at91sam9n12ek_nand_hw_init(void) } #endif -#ifdef CONFIG_LCD -vidinfo_t panel_info = { - .vl_col = 480, - .vl_row = 272, - .vl_clk = 9000000, - .vl_bpix = LCD_BPP, - .vl_sync = 0, - .vl_tft = 1, - .vl_hsync_len = 5, - .vl_left_margin = 8, - .vl_right_margin = 43, - .vl_vsync_len = 10, - .vl_upper_margin = 4, - .vl_lower_margin = 12, - .mmio = ATMEL_BASE_LCDC, -}; - -void lcd_enable(void) -{ - at91_set_pio_output(AT91_PIO_PORTC, 25, 0); /* power up */ -} - -void lcd_disable(void) -{ - at91_set_pio_output(AT91_PIO_PORTC, 25, 1); /* power down */ -} - -#endif /* CONFIG_LCD */ - #ifdef CONFIG_USB_ATMEL void at91sam9n12ek_usb_hw_init(void) { @@ -135,10 +105,6 @@ int board_init(void) at91sam9n12ek_nand_hw_init(); #endif -#ifdef CONFIG_LCD - at91_lcd_hw_init(); -#endif - #ifdef CONFIG_USB_ATMEL at91sam9n12ek_usb_hw_init(); #endif diff --git a/board/atmel/at91sam9rlek/at91sam9rlek.c b/board/atmel/at91sam9rlek/at91sam9rlek.c index 45dfaa5f3ec..f05ee322d09 100644 --- a/board/atmel/at91sam9rlek/at91sam9rlek.c +++ b/board/atmel/at91sam9rlek/at91sam9rlek.c @@ -20,7 +20,6 @@ #include #include -#include #include DECLARE_GLOBAL_DATA_PTR; @@ -75,62 +74,6 @@ static void at91sam9rlek_nand_hw_init(void) } #endif -#ifdef CONFIG_LCD -vidinfo_t panel_info = { - .vl_col = 240, - .vl_row = 320, - .vl_clk = 4965000, - .vl_sync = ATMEL_LCDC_INVLINE_INVERTED | - ATMEL_LCDC_INVFRAME_INVERTED, - .vl_bpix = 3, - .vl_tft = 1, - .vl_hsync_len = 5, - .vl_left_margin = 1, - .vl_right_margin = 33, - .vl_vsync_len = 1, - .vl_upper_margin = 1, - .vl_lower_margin = 0, - .mmio = ATMEL_BASE_LCDC, -}; - -void lcd_enable(void) -{ - at91_set_gpio_value(AT91_PIN_PA30, 0); /* power up */ -} - -void lcd_disable(void) -{ - at91_set_gpio_value(AT91_PIN_PA30, 1); /* power down */ -} -static void at91sam9rlek_lcd_hw_init(void) -{ - at91_set_B_periph(AT91_PIN_PC1, 0); /* LCDPWR */ - at91_set_A_periph(AT91_PIN_PC5, 0); /* LCDHSYNC */ - at91_set_A_periph(AT91_PIN_PC6, 0); /* LCDDOTCK */ - at91_set_A_periph(AT91_PIN_PC7, 0); /* LCDDEN */ - at91_set_A_periph(AT91_PIN_PC3, 0); /* LCDCC */ - at91_set_B_periph(AT91_PIN_PC9, 0); /* LCDD3 */ - at91_set_B_periph(AT91_PIN_PC10, 0); /* LCDD4 */ - at91_set_B_periph(AT91_PIN_PC11, 0); /* LCDD5 */ - at91_set_B_periph(AT91_PIN_PC12, 0); /* LCDD6 */ - at91_set_B_periph(AT91_PIN_PC13, 0); /* LCDD7 */ - at91_set_B_periph(AT91_PIN_PC15, 0); /* LCDD11 */ - at91_set_B_periph(AT91_PIN_PC16, 0); /* LCDD12 */ - at91_set_B_periph(AT91_PIN_PC17, 0); /* LCDD13 */ - at91_set_B_periph(AT91_PIN_PC18, 0); /* LCDD14 */ - at91_set_B_periph(AT91_PIN_PC19, 0); /* LCDD15 */ - at91_set_B_periph(AT91_PIN_PC20, 0); /* LCDD18 */ - at91_set_B_periph(AT91_PIN_PC21, 0); /* LCDD19 */ - at91_set_B_periph(AT91_PIN_PC22, 0); /* LCDD20 */ - at91_set_B_periph(AT91_PIN_PC23, 0); /* LCDD21 */ - at91_set_B_periph(AT91_PIN_PC24, 0); /* LCDD22 */ - at91_set_B_periph(AT91_PIN_PC25, 0); /* LCDD23 */ - - at91_periph_clk_enable(ATMEL_ID_LCDC); -} - -#endif - #ifdef CONFIG_DEBUG_UART_BOARD_INIT void board_debug_uart_init(void) { @@ -154,9 +97,6 @@ int board_init(void) #ifdef CONFIG_CMD_NAND at91sam9rlek_nand_hw_init(); -#endif -#ifdef CONFIG_LCD - at91sam9rlek_lcd_hw_init(); #endif return 0; } diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c index 35c89850bef..aee134dbc56 100644 --- a/board/bluewater/gurnard/gurnard.c +++ b/board/bluewater/gurnard/gurnard.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #ifndef CONFIG_DM_ETH #include diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c index 6e6704c141e..2bf19a6684b 100644 --- a/drivers/video/atmel_hlcdfb.c +++ b/drivers/video/atmel_hlcdfb.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index f0db193ede7..5a7a54ada70 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h index b48e40bee44..ccb3842c1c2 100644 --- a/include/configs/sama5d3xek.h +++ b/include/configs/sama5d3xek.h @@ -25,9 +25,6 @@ */ #define ATMEL_PMC_UHP (1 << 6) -/* board specific (not enough SRAM) */ -#define CONFIG_SAMA5D3_LCD_BASE 0x23E00000 - /* NOR flash */ #ifdef CONFIG_MTD_NOR_FLASH #define CONFIG_SYS_FLASH_BASE 0x10000000 diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index c922d0c6c39..18556524771 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -385,7 +385,6 @@ CONFIG_RTC_MC13XXX CONFIG_RTC_MCFRRTC CONFIG_RTC_MXS CONFIG_RTC_PT7C4338 -CONFIG_SAMA5D3_LCD_BASE CONFIG_SANDBOX_ARCH CONFIG_SANDBOX_SDL CONFIG_SANDBOX_SPI_MAX_BUS From 365e52dd25d17618c00ecc55151f8947be55a850 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:54:35 -0600 Subject: [PATCH 41/59] video: samsung: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- arch/arm/mach-exynos/include/mach/mipi_dsim.h | 1 - board/samsung/common/board.c | 1 - board/samsung/common/misc.c | 1 - board/samsung/trats/trats.c | 1 - board/samsung/trats2/trats2.c | 22 ------------------- board/samsung/universal_c210/universal.c | 1 - drivers/video/exynos/exynos_mipi_dsi_common.c | 1 - include/libtizen.h | 4 ---- 8 files changed, 32 deletions(-) diff --git a/arch/arm/mach-exynos/include/mach/mipi_dsim.h b/arch/arm/mach-exynos/include/mach/mipi_dsim.h index 20e6ce7f729..5e2b172fefb 100644 --- a/arch/arm/mach-exynos/include/mach/mipi_dsim.h +++ b/arch/arm/mach-exynos/include/mach/mipi_dsim.h @@ -11,7 +11,6 @@ #include #include -#include #define PANEL_NAME_SIZE (32) diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index 04cfc5d6358..49d40244644 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c index ee6d2d2a0d7..9c0ec29c937 100644 --- a/board/samsung/common/misc.c +++ b/board/samsung/common/misc.c @@ -7,7 +7,6 @@ #include #include #include -#include #include #include #include diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c index 24bf355ef6e..1608d60dd8d 100644 --- a/board/samsung/trats/trats.c +++ b/board/samsung/trats/trats.c @@ -8,7 +8,6 @@ #include #include -#include #include #include #include diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c index da7f0dc0229..93c9714d33f 100644 --- a/board/samsung/trats2/trats2.c +++ b/board/samsung/trats2/trats2.c @@ -6,7 +6,6 @@ */ #include -#include #include #include #include @@ -282,24 +281,3 @@ int g_dnl_board_usb_cable_connected(void) #endif } #endif - -/* - * LCD - */ - -#ifdef CONFIG_LCD -int mipi_power(void) -{ -#if !CONFIG_IS_ENABLED(DM_I2C) /* TODO(maintainer): Convert to driver model */ - struct pmic *p = pmic_get("MAX77686_PMIC"); - - /* LDO8 VMIPI_1.0V_AP */ - max77686_set_ldo_mode(p, 8, OPMODE_ON); - /* LDO10 VMIPI_1.8V_AP */ - max77686_set_ldo_mode(p, 10, OPMODE_ON); -#endif - - return 0; -} - -#endif /* LCD */ diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index 078db0c0c4e..37c9d7f452f 100644 --- a/board/samsung/universal_c210/universal.c +++ b/board/samsung/universal_c210/universal.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include diff --git a/drivers/video/exynos/exynos_mipi_dsi_common.c b/drivers/video/exynos/exynos_mipi_dsi_common.c index ab7d61afc88..be67cebae7f 100644 --- a/drivers/video/exynos/exynos_mipi_dsi_common.c +++ b/drivers/video/exynos/exynos_mipi_dsi_common.c @@ -7,7 +7,6 @@ */ #include -#include #include #include #include diff --git a/include/libtizen.h b/include/libtizen.h index 655d4cb28c5..15e01454b93 100644 --- a/include/libtizen.h +++ b/include/libtizen.h @@ -9,8 +9,4 @@ #define HD_RESOLUTION 0 -#ifdef CONFIG_LCD -void get_tizen_logo_info(vidinfo_t *vid); -#endif - #endif /* _LIBTIZEN_H_ */ From 5ce85e069f163de3d44a86a196e17373ec40ba88 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:55:16 -0600 Subject: [PATCH 42/59] nexell: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- .../mach-nexell/include/mach/display_dev.h | 7 --- drivers/video/nexell_display.c | 51 ------------------- 2 files changed, 58 deletions(-) diff --git a/arch/arm/mach-nexell/include/mach/display_dev.h b/arch/arm/mach-nexell/include/mach/display_dev.h index f24fb1739cf..4c54a5ecd4c 100644 --- a/arch/arm/mach-nexell/include/mach/display_dev.h +++ b/arch/arm/mach-nexell/include/mach/display_dev.h @@ -8,14 +8,7 @@ #ifndef _NX__DISPLAY_DEV_H_ #define _NX__DISPLAY_DEV_H_ -#if !defined(CONFIG_DM_VIDEO) && defined(CONFIG_LCD) -#include -#endif - struct nx_display_dev { -#if !defined(CONFIG_DM_VIDEO) && defined(CONFIG_LCD) - vidinfo_t *panel_info; -#endif unsigned long base; int module; struct dp_sync_info sync; diff --git a/drivers/video/nexell_display.c b/drivers/video/nexell_display.c index 090fd6ea326..42b8d926b6a 100644 --- a/drivers/video/nexell_display.c +++ b/drivers/video/nexell_display.c @@ -16,7 +16,6 @@ #include #include #include /* For struct video_uc_plat */ -#include #include #include #include @@ -481,56 +480,6 @@ err_setup: return NULL; } -#if defined CONFIG_LCD - -/* default lcd */ -struct vidinfo panel_info = { - .vl_col = 320, .vl_row = 240, .vl_bpix = 32, -}; - -void lcd_ctrl_init(void *lcdbase) -{ - vidinfo_t *pi = &panel_info; - struct nx_display_dev *dp; - int bpix; - - dp = nx_display_setup(); - if (!dp) - return NULL; - - switch (dp->depth) { - case 2: - bpix = LCD_COLOR16; - break; - case 3: - case 4: - bpix = LCD_COLOR32; - break; - default: - printf("fail : not support LCD bit per pixel %d\n", - dp->depth * 8); - return NULL; - } - - dp->panel_info = pi; - - /* set resolution with config */ - pi->vl_bpix = bpix; - pi->vl_col = dp->fb_plane->width; - pi->vl_row = dp->fb_plane->height; - pi->priv = dp; - gd->fb_base = dp->fb_addr; -} - -void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue) -{ -} - -__weak void lcd_enable(void) -{ -} -#endif - static int nx_display_probe(struct udevice *dev) { struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev); From 5cab749b9bd020c73f657ac2fbbbc3495b614a40 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:56:14 -0600 Subject: [PATCH 43/59] compulab: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- board/compulab/common/Makefile | 1 - board/compulab/common/omap3_display.c | 452 -------------------------- 2 files changed, 453 deletions(-) delete mode 100644 board/compulab/common/omap3_display.c diff --git a/board/compulab/common/Makefile b/board/compulab/common/Makefile index 25dad498774..7c8226e6e16 100644 --- a/board/compulab/common/Makefile +++ b/board/compulab/common/Makefile @@ -6,5 +6,4 @@ obj-y += common.o obj-$(CONFIG_$(SPL_)SYS_I2C_LEGACY) += eeprom.o -obj-$(CONFIG_LCD) += omap3_display.o obj-$(CONFIG_SMC911X) += omap3_smc911x.o diff --git a/board/compulab/common/omap3_display.c b/board/compulab/common/omap3_display.c deleted file mode 100644 index 4ed3b9c00ac..00000000000 --- a/board/compulab/common/omap3_display.c +++ /dev/null @@ -1,452 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2012 - 2013 CompuLab, Ltd. - * - * Authors: Nikita Kiryanov - * - * Parsing code based on linux/drivers/video/pxafb.c - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -enum display_type { - NONE, - DVI, - DVI_CUSTOM, - DATA_IMAGE, /* #define CONFIG_SCF0403_LCD to use */ -}; - -#define CMAP_ADDR 0x80100000 - -/* - * The frame buffer is allocated before we have the chance to parse user input. - * To make sure enough memory is allocated for all resolutions, we define - * vl_{col | row} to the maximal resolution supported by OMAP3. - */ -vidinfo_t panel_info = { - .vl_col = 1400, - .vl_row = 1050, - .vl_bpix = LCD_BPP, - .cmap = (ushort *)CMAP_ADDR, -}; - -static struct panel_config panel_cfg; -static enum display_type lcd_def; - -/* - * A note on DVI presets; - * U-Boot can convert 8 bit BMP data to 16 bit BMP data, and OMAP DSS can - * convert 16 bit data into 24 bit data. Thus, GFXFORMAT_RGB16 allows us to - * support two BMP types with one setting. - */ -static const struct panel_config preset_dvi_640X480 = { - .lcd_size = PANEL_LCD_SIZE(640, 480), - .timing_h = DSS_HBP(48) | DSS_HFP(16) | DSS_HSW(96), - .timing_v = DSS_VBP(33) | DSS_VFP(10) | DSS_VSW(2), - .pol_freq = DSS_IHS | DSS_IVS | DSS_IPC, - .divisor = 12 | (1 << 16), - .data_lines = LCD_INTERFACE_24_BIT, - .panel_type = ACTIVE_DISPLAY, - .load_mode = 2, - .gfx_format = GFXFORMAT_RGB16, -}; - -static const struct panel_config preset_dvi_800X600 = { - .lcd_size = PANEL_LCD_SIZE(800, 600), - .timing_h = DSS_HBP(88) | DSS_HFP(40) | DSS_HSW(128), - .timing_v = DSS_VBP(23) | DSS_VFP(1) | DSS_VSW(4), - .pol_freq = DSS_IHS | DSS_IVS | DSS_IPC, - .divisor = 8 | (1 << 16), - .data_lines = LCD_INTERFACE_24_BIT, - .panel_type = ACTIVE_DISPLAY, - .load_mode = 2, - .gfx_format = GFXFORMAT_RGB16, -}; - -static const struct panel_config preset_dvi_1024X768 = { - .lcd_size = PANEL_LCD_SIZE(1024, 768), - .timing_h = DSS_HBP(160) | DSS_HFP(24) | DSS_HSW(136), - .timing_v = DSS_VBP(29) | DSS_VFP(3) | DSS_VSW(6), - .pol_freq = DSS_IHS | DSS_IVS | DSS_IPC, - .divisor = 5 | (1 << 16), - .data_lines = LCD_INTERFACE_24_BIT, - .panel_type = ACTIVE_DISPLAY, - .load_mode = 2, - .gfx_format = GFXFORMAT_RGB16, -}; - -static const struct panel_config preset_dvi_1152X864 = { - .lcd_size = PANEL_LCD_SIZE(1152, 864), - .timing_h = DSS_HBP(256) | DSS_HFP(64) | DSS_HSW(128), - .timing_v = DSS_VBP(32) | DSS_VFP(1) | DSS_VSW(3), - .pol_freq = DSS_IHS | DSS_IVS | DSS_IPC, - .divisor = 4 | (1 << 16), - .data_lines = LCD_INTERFACE_24_BIT, - .panel_type = ACTIVE_DISPLAY, - .load_mode = 2, - .gfx_format = GFXFORMAT_RGB16, -}; - -static const struct panel_config preset_dvi_1280X960 = { - .lcd_size = PANEL_LCD_SIZE(1280, 960), - .timing_h = DSS_HBP(312) | DSS_HFP(96) | DSS_HSW(112), - .timing_v = DSS_VBP(36) | DSS_VFP(1) | DSS_VSW(3), - .pol_freq = DSS_IHS | DSS_IVS | DSS_IPC, - .divisor = 3 | (1 << 16), - .data_lines = LCD_INTERFACE_24_BIT, - .panel_type = ACTIVE_DISPLAY, - .load_mode = 2, - .gfx_format = GFXFORMAT_RGB16, -}; - -static const struct panel_config preset_dvi_1280X1024 = { - .lcd_size = PANEL_LCD_SIZE(1280, 1024), - .timing_h = DSS_HBP(248) | DSS_HFP(48) | DSS_HSW(112), - .timing_v = DSS_VBP(38) | DSS_VFP(1) | DSS_VSW(3), - .pol_freq = DSS_IHS | DSS_IVS | DSS_IPC, - .divisor = 3 | (1 << 16), - .data_lines = LCD_INTERFACE_24_BIT, - .panel_type = ACTIVE_DISPLAY, - .load_mode = 2, - .gfx_format = GFXFORMAT_RGB16, -}; - -static const struct panel_config preset_dataimage_480X800 = { - .lcd_size = PANEL_LCD_SIZE(480, 800), - .timing_h = DSS_HBP(2) | DSS_HFP(2) | DSS_HSW(2), - .timing_v = DSS_VBP(17) | DSS_VFP(20) | DSS_VSW(3), - .pol_freq = DSS_IVS | DSS_IHS | DSS_IPC | DSS_ONOFF, - .divisor = 10 | (1 << 10), - .data_lines = LCD_INTERFACE_18_BIT, - .panel_type = ACTIVE_DISPLAY, - .load_mode = 2, - .gfx_format = GFXFORMAT_RGB16, -}; - -/* - * set_resolution_params() - * - * Due to usage of multiple display related APIs resolution data is located in - * more than one place. This function updates them all. - */ -static void set_resolution_params(int x, int y) -{ - panel_cfg.lcd_size = PANEL_LCD_SIZE(x, y); - panel_info.vl_col = x; - panel_info.vl_row = y; - lcd_line_length = (panel_info.vl_col * NBITS(panel_info.vl_bpix)) / 8; -} - -static void set_preset(const struct panel_config preset, int x_res, int y_res) -{ - panel_cfg = preset; - set_resolution_params(x_res, y_res); -} - -static enum display_type set_dvi_preset(const struct panel_config preset, - int x_res, int y_res) -{ - set_preset(preset, x_res, y_res); - return DVI; -} - -static enum display_type set_dataimage_preset(const struct panel_config preset, - int x_res, int y_res) -{ - set_preset(preset, x_res, y_res); - return DATA_IMAGE; -} - -/* - * parse_mode() - parse the mode parameter of custom lcd settings - * - * @mode: x - * - * Returns -1 on error, 0 on success. - */ -static int parse_mode(const char *mode) -{ - unsigned int modelen = strlen(mode); - int res_specified = 0; - unsigned int xres = 0, yres = 0; - int yres_specified = 0; - int i; - - for (i = modelen - 1; i >= 0; i--) { - switch (mode[i]) { - case 'x': - if (!yres_specified) { - yres = simple_strtoul(&mode[i + 1], NULL, 0); - yres_specified = 1; - } else { - goto done_parsing; - } - - break; - case '0' ... '9': - break; - default: - goto done_parsing; - } - } - - if (i < 0 && yres_specified) { - xres = simple_strtoul(mode, NULL, 0); - res_specified = 1; - } - -done_parsing: - if (res_specified) { - set_resolution_params(xres, yres); - } else { - printf("LCD: invalid mode: %s\n", mode); - return -1; - } - - return 0; -} - -#define PIXEL_CLK_NUMERATOR (26 * 432 / 39) -/* - * parse_pixclock() - Parse the pixclock parameter of custom lcd settings - * - * @pixclock: the desired pixel clock - * - * Returns -1 on error, 0 on success. - * - * Handling the pixel_clock: - * - * Pixel clock is defined in the OMAP35x TRM as follows: - * pixel_clock = - * (SYS_CLK * 2 * PRCM.CM_CLKSEL2_PLL[18:8]) / - * (DSS.DISPC_DIVISOR[23:16] * DSS.DISPC_DIVISOR[6:0] * - * PRCM.CM_CLKSEL_DSS[4:0] * (PRCM.CM_CLKSEL2_PLL[6:0] + 1)) - * - * In practice, this means that in order to set the - * divisor for the desired pixel clock one needs to - * solve the following equation: - * - * 26 * 432 / (39 * ) = DSS.DISPC_DIVISOR[6:0] - * - * NOTE: the explicit equation above is reduced. Do not - * try to infer anything from these numbers. - */ -static int parse_pixclock(char *pixclock) -{ - int divisor, pixclock_val; - char *pixclk_start = pixclock; - - pixclock_val = dectoul(pixclock, &pixclock); - divisor = DIV_ROUND_UP(PIXEL_CLK_NUMERATOR, pixclock_val); - /* 0 and 1 are illegal values for PCD */ - if (divisor <= 1) - divisor = 2; - - panel_cfg.divisor = divisor | (1 << 16); - if (pixclock[0] != '\0') { - printf("LCD: invalid value for pixclock:%s\n", pixclk_start); - return -1; - } - - return 0; -} - -/* - * parse_setting() - parse a single setting of custom lcd parameters - * - * @setting: The custom lcd setting : - * - * Returns -1 on failure, 0 on success. - */ -static int parse_setting(char *setting) -{ - int num_val; - char *setting_start = setting; - - if (!strncmp(setting, "mode:", 5)) { - return parse_mode(setting + 5); - } else if (!strncmp(setting, "pixclock:", 9)) { - return parse_pixclock(setting + 9); - } else if (!strncmp(setting, "left:", 5)) { - num_val = simple_strtoul(setting + 5, &setting, 0); - panel_cfg.timing_h |= DSS_HBP(num_val); - } else if (!strncmp(setting, "right:", 6)) { - num_val = simple_strtoul(setting + 6, &setting, 0); - panel_cfg.timing_h |= DSS_HFP(num_val); - } else if (!strncmp(setting, "upper:", 6)) { - num_val = simple_strtoul(setting + 6, &setting, 0); - panel_cfg.timing_v |= DSS_VBP(num_val); - } else if (!strncmp(setting, "lower:", 6)) { - num_val = simple_strtoul(setting + 6, &setting, 0); - panel_cfg.timing_v |= DSS_VFP(num_val); - } else if (!strncmp(setting, "hsynclen:", 9)) { - num_val = simple_strtoul(setting + 9, &setting, 0); - panel_cfg.timing_h |= DSS_HSW(num_val); - } else if (!strncmp(setting, "vsynclen:", 9)) { - num_val = simple_strtoul(setting + 9, &setting, 0); - panel_cfg.timing_v |= DSS_VSW(num_val); - } else if (!strncmp(setting, "hsync:", 6)) { - if (simple_strtoul(setting + 6, &setting, 0) == 0) - panel_cfg.pol_freq |= DSS_IHS; - else - panel_cfg.pol_freq &= ~DSS_IHS; - } else if (!strncmp(setting, "vsync:", 6)) { - if (simple_strtoul(setting + 6, &setting, 0) == 0) - panel_cfg.pol_freq |= DSS_IVS; - else - panel_cfg.pol_freq &= ~DSS_IVS; - } else if (!strncmp(setting, "outputen:", 9)) { - if (simple_strtoul(setting + 9, &setting, 0) == 0) - panel_cfg.pol_freq |= DSS_IEO; - else - panel_cfg.pol_freq &= ~DSS_IEO; - } else if (!strncmp(setting, "pixclockpol:", 12)) { - if (simple_strtoul(setting + 12, &setting, 0) == 0) - panel_cfg.pol_freq |= DSS_IPC; - else - panel_cfg.pol_freq &= ~DSS_IPC; - } else if (!strncmp(setting, "active", 6)) { - panel_cfg.panel_type = ACTIVE_DISPLAY; - return 0; /* Avoid sanity check below */ - } else if (!strncmp(setting, "passive", 7)) { - panel_cfg.panel_type = PASSIVE_DISPLAY; - return 0; /* Avoid sanity check below */ - } else if (!strncmp(setting, "display:", 8)) { - if (!strncmp(setting + 8, "dvi", 3)) { - lcd_def = DVI_CUSTOM; - return 0; /* Avoid sanity check below */ - } - } else { - printf("LCD: unknown option %s\n", setting_start); - return -1; - } - - if (setting[0] != '\0') { - printf("LCD: invalid value for %s\n", setting_start); - return -1; - } - - return 0; -} - -/* - * env_parse_customlcd() - parse custom lcd params from an environment variable. - * - * @custom_lcd_params: The environment variable containing the lcd params. - * - * Returns -1 on failure, 0 on success. - */ -static int parse_customlcd(char *custom_lcd_params) -{ - char params_cpy[160]; - char *setting; - - strncpy(params_cpy, custom_lcd_params, 160); - setting = strtok(params_cpy, ","); - while (setting) { - if (parse_setting(setting) < 0) - return -1; - - setting = strtok(NULL, ","); - } - - /* Currently we don't support changing this via custom lcd params */ - panel_cfg.data_lines = LCD_INTERFACE_24_BIT; - panel_cfg.gfx_format = GFXFORMAT_RGB16; /* See dvi predefines note */ - - return 0; -} - -/* - * env_parse_displaytype() - parse display type. - * - * Parses the environment variable "displaytype", which contains the - * name of the display type or preset, in which case it applies its - * configurations. - * - * Returns the type of display that was specified. - */ -static enum display_type env_parse_displaytype(char *displaytype) -{ - if (!strncmp(displaytype, "dvi640x480", 10)) - return set_dvi_preset(preset_dvi_640X480, 640, 480); - else if (!strncmp(displaytype, "dvi800x600", 10)) - return set_dvi_preset(preset_dvi_800X600, 800, 600); - else if (!strncmp(displaytype, "dvi1024x768", 11)) - return set_dvi_preset(preset_dvi_1024X768, 1024, 768); - else if (!strncmp(displaytype, "dvi1152x864", 11)) - return set_dvi_preset(preset_dvi_1152X864, 1152, 864); - else if (!strncmp(displaytype, "dvi1280x960", 11)) - return set_dvi_preset(preset_dvi_1280X960, 1280, 960); - else if (!strncmp(displaytype, "dvi1280x1024", 12)) - return set_dvi_preset(preset_dvi_1280X1024, 1280, 1024); - else if (!strncmp(displaytype, "dataimage480x800", 16)) - return set_dataimage_preset(preset_dataimage_480X800, 480, 800); - - return NONE; -} - -void lcd_ctrl_init(void *lcdbase) -{ - struct prcm *prcm = (struct prcm *)PRCM_BASE; - char *custom_lcd; - char *displaytype = env_get("displaytype"); - - if (displaytype == NULL) - return; - - lcd_def = env_parse_displaytype(displaytype); - /* If we did not recognize the preset, check if it's an env variable */ - if (lcd_def == NONE) { - custom_lcd = env_get(displaytype); - if (custom_lcd == NULL || parse_customlcd(custom_lcd) < 0) - return; - } - - panel_cfg.frame_buffer = lcdbase; - omap3_dss_panel_config(&panel_cfg); - /* - * Pixel clock is defined with many divisions and only few - * multiplications of the system clock. Since DSS FCLK divisor is set - * to 16 by default, we need to set it to a smaller value, like 3 - * (chosen via trial and error). - */ - clrsetbits_le32(&prcm->clksel_dss, 0xF, 3); -} - -#ifdef CONFIG_SCF0403_LCD -static void scf0403_enable(void) -{ - gpio_direction_output(58, 1); - scf0403_init(157); -} -#else -static inline void scf0403_enable(void) {} -#endif - -void lcd_enable(void) -{ - switch (lcd_def) { - case NONE: - return; - case DVI: - case DVI_CUSTOM: - gpio_direction_output(54, 0); /* Turn on DVI */ - break; - case DATA_IMAGE: - scf0403_enable(); - break; - } - - omap3_dss_enable(); -} - -void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue) {} From baefc721921d0ee2f30996fda260de1965148aee Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:10:04 -0600 Subject: [PATCH 44/59] tegra: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- drivers/video/tegra124/display.c | 1 - include/configs/tegra-common-post.h | 10 ++-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/video/tegra124/display.c b/drivers/video/tegra124/display.c index f642b3b10aa..78ab3f99c4d 100644 --- a/drivers/video/tegra124/display.c +++ b/drivers/video/tegra124/display.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h index c8f9d7cb175..823b5d63d01 100644 --- a/include/configs/tegra-common-post.h +++ b/include/configs/tegra-common-post.h @@ -37,12 +37,6 @@ #define STDIN_KBD_USB "" #endif -#ifdef CONFIG_LCD -#define STDOUT_LCD ",lcd" -#else -#define STDOUT_LCD "" -#endif - #ifdef CONFIG_DM_VIDEO #define STDOUT_VIDEO ",vidconsole" #else @@ -57,8 +51,8 @@ #define TEGRA_DEVICE_SETTINGS \ "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \ - "stdout=serial" STDOUT_LCD STDOUT_VIDEO "\0" \ - "stderr=serial" STDOUT_LCD STDOUT_VIDEO "\0" \ + "stdout=serial" STDOUT_VIDEO "\0" \ + "stderr=serial" STDOUT_VIDEO "\0" \ "" #ifndef BOARD_EXTRA_ENV_SETTINGS From c31e0c62b14d0fc651d31c93863fe6a421a3f78a Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:56:56 -0600 Subject: [PATCH 45/59] BuR: ronetix: siemens: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- board/BuR/common/common.c | 1 - board/ronetix/pm9263/pm9263.c | 17 ----------------- include/configs/pxm2.h | 5 ----- 3 files changed, 23 deletions(-) diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c index c6126e251ec..3c78020bf93 100644 --- a/board/BuR/common/common.c +++ b/board/BuR/common/common.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include "bur_common.h" diff --git a/board/ronetix/pm9263/pm9263.c b/board/ronetix/pm9263/pm9263.c index 8684e5229d8..84926cdc689 100644 --- a/board/ronetix/pm9263/pm9263.c +++ b/board/ronetix/pm9263/pm9263.c @@ -69,20 +69,6 @@ static void pm9263_nand_hw_init(void) } #endif -#ifdef CONFIG_LCD - -static void pm9263_lcd_hw_init(void) -{ - /* Power Control */ - at91_set_pio_output(AT91_PIO_PORTA, 22, 1); - at91_set_pio_value(AT91_PIO_PORTA, 22, 0); /* power down */ - - gd->fb_base = ATMEL_BASE_SRAM0; - -} - -#endif /* CONFIG_LCD */ - int board_early_init_f(void) { return 0; @@ -101,9 +87,6 @@ int board_init(void) #endif #ifdef CONFIG_USB_OHCI_NEW at91_uhp_hw_init(); -#endif -#ifdef CONFIG_LCD - pm9263_lcd_hw_init(); #endif return 0; } diff --git a/include/configs/pxm2.h b/include/configs/pxm2.h index 4f24b13f500..586a7edcbb5 100644 --- a/include/configs/pxm2.h +++ b/include/configs/pxm2.h @@ -18,11 +18,6 @@ #define DDR_IOCTRL_VAL 0x18b #define DDR_PLL_FREQ 266 -#define BOARD_DFU_BUTTON_GPIO 59 -#define BOARD_LCD_POWER 111 -#define BOARD_BACK_LIGHT 112 -#define BOARD_TOUCH_POWER 57 - #define CONFIG_ENV_SETTINGS_BUTTONS_AND_LEDS \ "button_dfu0=59\0" \ "led0=117,0,1\0" \ From f9b7bd7e91ee5340611799846c92c698db4d28c4 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:57:41 -0600 Subject: [PATCH 46/59] video: cmd: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- cmd/bmp.c | 9 --------- common/board_f.c | 27 +++++++++++---------------- common/fdt_support.c | 29 ----------------------------- 3 files changed, 11 insertions(+), 54 deletions(-) diff --git a/cmd/bmp.c b/cmd/bmp.c index 880edad8898..46d0d916e86 100644 --- a/cmd/bmp.c +++ b/cmd/bmp.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -223,9 +222,7 @@ static int bmp_info(ulong addr) int bmp_display(ulong addr, int x, int y) { -#ifdef CONFIG_DM_VIDEO struct udevice *dev; -#endif int ret; struct bmp_image *bmp = map_sysmem(addr, 0); void *bmp_alloc_addr = NULL; @@ -241,7 +238,6 @@ int bmp_display(ulong addr, int x, int y) } addr = map_to_sysmem(bmp); -#ifdef CONFIG_DM_VIDEO ret = uclass_first_device_err(UCLASS_VIDEO, &dev); if (!ret) { bool align = false; @@ -251,11 +247,6 @@ int bmp_display(ulong addr, int x, int y) ret = video_bmp_display(dev, addr, x, y, align); } -#elif defined(CONFIG_LCD) - ret = lcd_display_bitmap(addr, x, y); -#else -# error bmp_display() requires CONFIG_LCD -#endif if (bmp_alloc_addr) free(bmp_alloc_addr); diff --git a/common/board_f.c b/common/board_f.c index 4355d1c82d4..0f7354ddd68 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -409,22 +408,18 @@ __weak int arch_reserve_mmu(void) static int reserve_video(void) { -#ifdef CONFIG_DM_VIDEO - ulong addr; - int ret; + if (IS_ENABLED(CONFIG_DM_VIDEO)) { + ulong addr; + int ret; - addr = gd->relocaddr; - ret = video_reserve(&addr); - if (ret) - return ret; - debug("Reserving %luk for video at: %08lx\n", - ((unsigned long)gd->relocaddr - addr) >> 10, addr); - gd->relocaddr = addr; -#elif defined(CONFIG_LCD) - /* reserve memory for LCD display (always full pages) */ - gd->relocaddr = lcd_setmem(gd->relocaddr); - gd->fb_base = gd->relocaddr; -#endif + addr = gd->relocaddr; + ret = video_reserve(&addr); + if (ret) + return ret; + debug("Reserving %luk for video at: %08lx\n", + ((unsigned long)gd->relocaddr - addr) >> 10, addr); + gd->relocaddr = addr; + } return 0; } diff --git a/common/fdt_support.c b/common/fdt_support.c index baf7fb70659..ebebffc7890 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -1740,35 +1740,6 @@ int fdt_set_status_by_pathf(void *fdt, enum fdt_status status, const char *fmt, return fdt_set_node_status(fdt, offset, status); } -#if defined(CONFIG_LCD) -int fdt_add_edid(void *blob, const char *compat, unsigned char *edid_buf) -{ - int noff; - int ret; - - noff = fdt_node_offset_by_compatible(blob, -1, compat); - if (noff != -FDT_ERR_NOTFOUND) { - debug("%s: %s\n", fdt_get_name(blob, noff, 0), compat); -add_edid: - ret = fdt_setprop(blob, noff, "edid", edid_buf, 128); - if (ret == -FDT_ERR_NOSPACE) { - ret = fdt_increase_size(blob, 512); - if (!ret) - goto add_edid; - else - goto err_size; - } else if (ret < 0) { - printf("Can't add property: %s\n", fdt_strerror(ret)); - return ret; - } - } - return 0; -err_size: - printf("Can't increase blob size: %s\n", fdt_strerror(ret)); - return ret; -} -#endif - /* * Verify the physical address of device tree node for a given alias * From 777f3e369516e4260fb779896c76fc290fc4f42c Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:58:34 -0600 Subject: [PATCH 47/59] efi: Drop old LCD code This relies on the old LCD implementation which is to be removed. Drop the existing #ifdef and convert it to C code. Signed-off-by: Simon Glass --- lib/efi_loader/efi_gop.c | 30 ------------------------------ lib/efi_loader/efi_setup.c | 10 +++++----- 2 files changed, 5 insertions(+), 35 deletions(-) diff --git a/lib/efi_loader/efi_gop.c b/lib/efi_loader/efi_gop.c index 20bd7fff086..d1dc2f22d0f 100644 --- a/lib/efi_loader/efi_gop.c +++ b/lib/efi_loader/efi_gop.c @@ -252,21 +252,13 @@ static efi_uintn_t gop_get_bpp(struct efi_gop *this) efi_uintn_t vid_bpp = 0; switch (gopobj->bpix) { -#ifdef CONFIG_DM_VIDEO case VIDEO_BPP32: -#else - case LCD_COLOR32: -#endif if (gopobj->info.pixel_format == EFI_GOT_BGRA8) vid_bpp = 32; else vid_bpp = 30; break; -#ifdef CONFIG_DM_VIDEO case VIDEO_BPP16: -#else - case LCD_COLOR16: -#endif vid_bpp = 16; break; } @@ -476,8 +468,6 @@ efi_status_t efi_gop_register(void) u64 fb_base, fb_size; void *fb; efi_status_t ret; - -#ifdef CONFIG_DM_VIDEO struct udevice *vdev; struct video_priv *priv; @@ -495,26 +485,10 @@ efi_status_t efi_gop_register(void) fb_base = (uintptr_t)priv->fb; fb_size = priv->fb_size; fb = priv->fb; -#else - int line_len; - - bpix = panel_info.vl_bpix; - format = VIDEO_UNKNOWN; - col = panel_info.vl_col; - row = panel_info.vl_row; - fb_base = gd->fb_base; - fb_size = lcd_get_size(&line_len); - fb = (void*)gd->fb_base; -#endif switch (bpix) { -#ifdef CONFIG_DM_VIDEO case VIDEO_BPP16: case VIDEO_BPP32: -#else - case LCD_COLOR32: - case LCD_COLOR16: -#endif break; default: /* So far, we only work in 16 or 32 bit mode */ @@ -553,11 +527,7 @@ efi_status_t efi_gop_register(void) gopobj->info.version = 0; gopobj->info.width = col; gopobj->info.height = row; -#ifdef CONFIG_DM_VIDEO if (bpix == VIDEO_BPP32) -#else - if (bpix == LCD_COLOR32) -#endif { if (format == VIDEO_X2R10G10B10) { gopobj->info.pixel_format = EFI_GOT_BITMASK; diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c index 9d7189336dc..0b7372e1cad 100644 --- a/lib/efi_loader/efi_setup.c +++ b/lib/efi_loader/efi_setup.c @@ -326,11 +326,11 @@ efi_status_t efi_init_obj_list(void) goto out; } -#if defined(CONFIG_LCD) || defined(CONFIG_DM_VIDEO) - ret = efi_gop_register(); - if (ret != EFI_SUCCESS) - goto out; -#endif + if (IS_ENABLED(CONFIG_DM_VIDEO)) { + ret = efi_gop_register(); + if (ret != EFI_SUCCESS) + goto out; + } #ifdef CONFIG_NET ret = efi_net_register(); if (ret != EFI_SUCCESS) From 0f9b86f811f9062a01329ebb060c0e719256c43e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:59:22 -0600 Subject: [PATCH 48/59] video: Drop remaining references to CONFIG_LCD These rely on the old LCD implementation which is to be removed. Drop it all. Signed-off-by: Simon Glass --- README | 45 ------------------------------- cmd/bdinfo.c | 3 --- common/stdio.c | 3 --- doc/usage/environment.rst | 4 +-- include/asm-generic/global_data.h | 2 +- 5 files changed, 3 insertions(+), 54 deletions(-) diff --git a/README b/README index d1d4a62947a..ec1b50c3055 100644 --- a/README +++ b/README @@ -770,51 +770,6 @@ The following options need to be configured: - Keyboard Support: See Kconfig help for available keyboard drivers. -- LCD Support: CONFIG_LCD - - Define this to enable LCD support (for output to LCD - display); also select one of the supported displays - by defining one of these: - - CONFIG_NEC_NL6448AC33: - - NEC NL6448AC33-18. Active, color, single scan. - - CONFIG_NEC_NL6448BC20 - - NEC NL6448BC20-08. 6.5", 640x480. - Active, color, single scan. - - CONFIG_NEC_NL6448BC33_54 - - NEC NL6448BC33-54. 10.4", 640x480. - Active, color, single scan. - - CONFIG_SHARP_16x9 - - Sharp 320x240. Active, color, single scan. - It isn't 16x9, and I am not sure what it is. - - CONFIG_SHARP_LQ64D341 - - Sharp LQ64D341 display, 640x480. - Active, color, single scan. - - CONFIG_HLD1045 - - HLD1045 display, 640x480. - Active, color, single scan. - - CONFIG_OPTREX_BW - - Optrex CBL50840-2 NF-FW 99 22 M5 - or - Hitachi LMG6912RPFC-00T - or - Hitachi SP14Q002 - - 320x240. Black & white. - - MII/PHY support: CONFIG_PHY_CLOCK_FREQ (ppc4xx) diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c index af2e9757db5..c454e6eee18 100644 --- a/cmd/bdinfo.c +++ b/cmd/bdinfo.c @@ -124,9 +124,6 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) bdinfo_print_num_l("fdt_size", (ulong)gd->fdt_size); if (IS_ENABLED(CONFIG_DM_VIDEO)) show_video_info(); -#if defined(CONFIG_LCD) - bdinfo_print_num_l("FB base ", gd->fb_base); -#endif #if CONFIG_IS_ENABLED(MULTI_DTB_FIT) bdinfo_print_num_l("multi_dtb_fit", (ulong)gd->multi_dtb_fit); #endif diff --git a/common/stdio.c b/common/stdio.c index 10016e237b3..49784e33d25 100644 --- a/common/stdio.c +++ b/common/stdio.c @@ -366,9 +366,6 @@ int stdio_add_devices(void) if (IS_ENABLED(CONFIG_SPLASH_SCREEN) && IS_ENABLED(CONFIG_CMD_BMP)) splash_display(); - } else { - if (IS_ENABLED(CONFIG_LCD)) - drv_lcd_init(); } drv_system_init(); diff --git a/doc/usage/environment.rst b/doc/usage/environment.rst index 7906ace2af6..d12bbcd85a2 100644 --- a/doc/usage/environment.rst +++ b/doc/usage/environment.rst @@ -63,8 +63,8 @@ For example, for snapper9260 you would create a text file called Example:: stdout=serial - #ifdef CONFIG_LCD - stdout+=,lcd + #ifdef CONFIG_DM_VIDEO + stdout+=,vidconsole #endif bootcmd= /* U-Boot script for booting */ diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 2d55fe2ac0f..8ca93ac5269 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -68,7 +68,7 @@ struct global_data { * @mem_clk: memory clock rate in Hz */ unsigned long mem_clk; -#if defined(CONFIG_LCD) || defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_DM_VIDEO) /** * @fb_base: base address of frame buffer memory */ From 2429068a399059d655f431788059843aaf0d6714 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:54:26 -0600 Subject: [PATCH 49/59] fdt: Drop support for LCD fixup in simplefb This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass --- common/fdt_simplefb.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/common/fdt_simplefb.c b/common/fdt_simplefb.c index c52846f4bc5..951956430c3 100644 --- a/common/fdt_simplefb.c +++ b/common/fdt_simplefb.c @@ -8,7 +8,6 @@ #include #include -#include #include #include #include @@ -22,7 +21,6 @@ static int fdt_simplefb_configure_node(void *blob, int off) int bpix; /* log2 of bits per pixel */ const char *name; ulong fb_base; -#ifdef CONFIG_DM_VIDEO struct video_uc_plat *plat; struct video_priv *uc_priv; struct udevice *dev; @@ -37,12 +35,6 @@ static int fdt_simplefb_configure_node(void *blob, int off) ysize = uc_priv->ysize; bpix = uc_priv->bpix; fb_base = plat->base; -#else - xsize = lcd_get_pixel_width(); - ysize = lcd_get_pixel_height(); - bpix = LCD_BPP; - fb_base = gd->fb_base; -#endif switch (bpix) { case 4: /* VIDEO_BPP16 */ name = "r5g6b5"; From 9876b5e0ef305d17d77a1ee9c0d6be6fdda22d79 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 06:55:49 -0600 Subject: [PATCH 50/59] video: Drop LCD_BPP This is used by the old LCD implementation which is to be removed. Drop it and LCD_OUTPUT_BPP also. Signed-off-by: Simon Glass --- include/configs/at91sam9261ek.h | 7 ------- include/configs/at91sam9263ek.h | 7 ------- include/configs/at91sam9m10g45ek.h | 5 ----- include/configs/at91sam9n12ek.h | 5 ----- include/configs/at91sam9rlek.h | 7 ------- include/configs/brxre1.h | 4 ---- include/configs/pm9261.h | 7 ------- include/configs/pm9263.h | 6 ------ include/configs/s5pc210_universal.h | 3 --- include/configs/trats.h | 3 --- include/configs/trats2.h | 3 --- 11 files changed, 57 deletions(-) diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h index 12726c10bd6..5576a5ffbe4 100644 --- a/include/configs/at91sam9261ek.h +++ b/include/configs/at91sam9261ek.h @@ -16,13 +16,6 @@ #include -/* - * Hardware drivers - */ - -/* LCD */ -#define LCD_BPP LCD_COLOR8 - /* SDRAM */ #define CONFIG_SYS_SDRAM_BASE 0x20000000 #define CONFIG_SYS_SDRAM_SIZE 0x04000000 diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h index 8c6d1cd1d9d..02d04d0776b 100644 --- a/include/configs/at91sam9263ek.h +++ b/include/configs/at91sam9263ek.h @@ -22,13 +22,6 @@ #define CONFIG_SYS_AT91_MAIN_CLOCK 16367660 /* 16.367 MHz crystal */ #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 -/* - * Hardware drivers - */ - -/* LCD */ -#define LCD_BPP LCD_COLOR8 - /* SDRAM */ #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS1 #define CONFIG_SYS_SDRAM_SIZE 0x04000000 diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h index b55d2e39255..2d257c49831 100644 --- a/include/configs/at91sam9m10g45ek.h +++ b/include/configs/at91sam9m10g45ek.h @@ -14,11 +14,6 @@ #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 #define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* from 12 MHz crystal */ -/* general purpose I/O */ - -/* LCD */ -#define LCD_BPP LCD_COLOR8 - /* SDRAM */ #define CONFIG_SYS_SDRAM_BASE 0x70000000 #define CONFIG_SYS_SDRAM_SIZE 0x08000000 diff --git a/include/configs/at91sam9n12ek.h b/include/configs/at91sam9n12ek.h index 4d492988eba..f2ca4f3d0ba 100644 --- a/include/configs/at91sam9n12ek.h +++ b/include/configs/at91sam9n12ek.h @@ -14,11 +14,6 @@ #define CONFIG_SYS_AT91_MAIN_CLOCK 16000000 /* main clock xtal */ /* Misc CPU related */ - -/* LCD */ -#define LCD_BPP LCD_COLOR16 -#define LCD_OUTPUT_BPP 24 - #define CONFIG_SYS_SDRAM_BASE 0x20000000 #define CONFIG_SYS_SDRAM_SIZE 0x08000000 diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h index e418edddfbe..bc687fc44d8 100644 --- a/include/configs/at91sam9rlek.h +++ b/include/configs/at91sam9rlek.h @@ -16,13 +16,6 @@ #define CONFIG_SYS_AT91_SLOW_CLOCK 32768 /* slow clock xtal */ #define CONFIG_SYS_AT91_MAIN_CLOCK 12000000 /* main clock xtal */ -/* - * Hardware drivers - */ - -/* LCD */ -#define LCD_BPP LCD_COLOR8 - /* SDRAM */ #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_CS1 #define CONFIG_SYS_SDRAM_SIZE 0x04000000 diff --git a/include/configs/brxre1.h b/include/configs/brxre1.h index 4d91a776ba8..410b3e641c5 100644 --- a/include/configs/brxre1.h +++ b/include/configs/brxre1.h @@ -14,10 +14,6 @@ #include #include #include -/* ------------------------------------------------------------------------- */ -#define LCD_BPP LCD_COLOR32 - -/* memory */ /* Clock Defines */ #define V_OSCK 26000000 /* Clock output from T2 */ diff --git a/include/configs/pm9261.h b/include/configs/pm9261.h index 797e44f844d..7f9442acbbd 100644 --- a/include/configs/pm9261.h +++ b/include/configs/pm9261.h @@ -124,13 +124,6 @@ AT91_WDT_MR_WDDIS | \ AT91_WDT_MR_WDD(0xfff)) -/* - * Hardware drivers - */ - -/* LCD */ -#define LCD_BPP LCD_COLOR8 - /* SDRAM */ #define PHYS_SDRAM 0x20000000 #define PHYS_SDRAM_SIZE 0x04000000 /* 64 megs */ diff --git a/include/configs/pm9263.h b/include/configs/pm9263.h index bb5bd8b6064..00d159f03cf 100644 --- a/include/configs/pm9263.h +++ b/include/configs/pm9263.h @@ -136,12 +136,6 @@ AT91_WDT_MR_WDDIS | \ AT91_WDT_MR_WDD(0xfff)) -/* - * Hardware drivers - */ -/* LCD */ -#define LCD_BPP LCD_COLOR8 - /* SDRAM */ #define PHYS_SDRAM 0x20000000 #define PHYS_SDRAM_SIZE 0x04000000 /* 64 megs */ diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index 000dc388ac0..668b52600e8 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -111,7 +111,4 @@ int universal_spi_read(void); #define KEY_VOL_DOWN_GPIO EXYNOS4_GPIO_X21 #endif /* __ASSEMBLY__ */ -/* LCD console */ -#define LCD_BPP LCD_COLOR16 - #endif /* __CONFIG_H */ diff --git a/include/configs/trats.h b/include/configs/trats.h index 9e4cd6794cc..ca318687783 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -141,7 +141,4 @@ #define KEY_VOL_DOWN_GPIO EXYNOS4_GPIO_X21 #endif /* __ASSEMBLY__ */ -/* LCD console */ -#define LCD_BPP LCD_COLOR16 - #endif /* __CONFIG_H */ diff --git a/include/configs/trats2.h b/include/configs/trats2.h index dc28ded9825..f324ea7ebeb 100644 --- a/include/configs/trats2.h +++ b/include/configs/trats2.h @@ -131,7 +131,4 @@ #define KEY_VOL_DOWN_GPIO EXYNOS4X12_GPIO_X33 #endif /* __ASSEMBLY__ */ -/* LCD console */ -#define LCD_BPP LCD_COLOR16 - #endif /* __CONFIG_H */ From b667f4b8c002bf7a6b0e9e2271cb37dd5c81a1ae Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:20:56 -0600 Subject: [PATCH 51/59] video: Drop CONFIG_VIDEO This option is not used anymore. Drop it. Signed-off-by: Simon Glass --- board/technexion/pico-imx7d/README | 1 - configs/ls1028aqds_tfa_SECURE_BOOT_defconfig | 1 - configs/ls1028aqds_tfa_defconfig | 1 - configs/ls1028ardb_tfa_SECURE_BOOT_defconfig | 1 - configs/ls1028ardb_tfa_defconfig | 1 - 5 files changed, 5 deletions(-) diff --git a/board/technexion/pico-imx7d/README b/board/technexion/pico-imx7d/README index 4d57cdbfa89..e8f50827213 100644 --- a/board/technexion/pico-imx7d/README +++ b/board/technexion/pico-imx7d/README @@ -130,7 +130,6 @@ option in the defconfig @@ -67,3 +67,4 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y - CONFIG_VIDEO=y +CONFIG_SPL_OS_BOOT=y Then rebuild U-Boot: diff --git a/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig index 038fbe5fc81..753583d47b4 100644 --- a/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig +++ b/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig @@ -94,7 +94,6 @@ CONFIG_NXP_FSPI=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y -CONFIG_VIDEO=y CONFIG_WDT=y CONFIG_WDT_SP805=y CONFIG_RSA=y diff --git a/configs/ls1028aqds_tfa_defconfig b/configs/ls1028aqds_tfa_defconfig index d3edc795635..b5e243bc0e9 100644 --- a/configs/ls1028aqds_tfa_defconfig +++ b/configs/ls1028aqds_tfa_defconfig @@ -100,7 +100,6 @@ CONFIG_NXP_FSPI=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y -CONFIG_VIDEO=y CONFIG_WDT=y CONFIG_WDT_SP805=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig index 2e454c2dd86..fad07863db5 100644 --- a/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig +++ b/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig @@ -88,7 +88,6 @@ CONFIG_NXP_FSPI=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y -CONFIG_VIDEO=y CONFIG_WDT=y CONFIG_WDT_SP805=y CONFIG_RSA=y diff --git a/configs/ls1028ardb_tfa_defconfig b/configs/ls1028ardb_tfa_defconfig index 7826b526ae4..20354f7e86b 100644 --- a/configs/ls1028ardb_tfa_defconfig +++ b/configs/ls1028ardb_tfa_defconfig @@ -98,7 +98,6 @@ CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_RTL8152=y -CONFIG_VIDEO=y CONFIG_WDT=y CONFIG_WDT_SP805=y CONFIG_OF_LIBFDT_OVERLAY=y From d32eb92e9138214694efc9091f3760e445ce3905 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:24:15 -0600 Subject: [PATCH 52/59] video: Drop CONFIG_VIDEO This option is not used anymore. Drop it. Signed-off-by: Simon Glass --- cmd/Kconfig | 2 +- drivers/video/Kconfig | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/cmd/Kconfig b/cmd/Kconfig index 54197160116..6cbc8f1fa2e 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1877,7 +1877,7 @@ menu "Misc commands" config CMD_BMP bool "Enable 'bmp' command" - depends on LCD || DM_VIDEO || VIDEO + depends on LCD || DM_VIDEO help This provides a way to obtain information about a BMP-format image and to display it. BMP (which presumably stands for BitMaP) is a diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index b537b367761..b4a6e8ea156 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -700,15 +700,6 @@ config VIDEO_ZYNQMP_DPSUB source "drivers/video/nexell/Kconfig" -config VIDEO - bool "Enable legacy video support" - depends on !DM_VIDEO - help - Define this for video support, without using driver model. Some - drivers use this because they are not yet converted to driver - model. Video drivers typically provide a colour text console and - cursor. - config CONSOLE_SCROLL_LINES int "Number of lines to scroll the console by" depends on DM_VIDEO || LCD From 8b1129588cc66cee3dc5ee2dd969007a641f21b0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:19:42 -0600 Subject: [PATCH 53/59] video: Drop CONFIG_LCD This option is not used anymore. Drop it. Signed-off-by: Simon Glass --- cmd/Kconfig | 2 +- drivers/video/Kconfig | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/cmd/Kconfig b/cmd/Kconfig index 6cbc8f1fa2e..9aac5344162 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1877,7 +1877,7 @@ menu "Misc commands" config CMD_BMP bool "Enable 'bmp' command" - depends on LCD || DM_VIDEO + depends on DM_VIDEO help This provides a way to obtain information about a BMP-format image and to display it. BMP (which presumably stands for BitMaP) is a diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index b4a6e8ea156..83dba632c1b 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -702,7 +702,7 @@ source "drivers/video/nexell/Kconfig" config CONSOLE_SCROLL_LINES int "Number of lines to scroll the console by" - depends on DM_VIDEO || LCD + depends on DM_VIDEO default 1 help When the console need to be scrolled, this is the number of @@ -710,14 +710,6 @@ config CONSOLE_SCROLL_LINES console jump but can help speed up operation when scrolling is slow. -config LCD - bool "Enable legacy LCD support" - help - Define this to enable LCD support (for output to LCD display). - You will also need to select an LCD driver using an additional - CONFIG option. See the README for details. Drives which have been - converted to driver model will instead used CONFIG_DM_VIDEO. - config VIDEO_DW_HDMI bool help @@ -920,19 +912,19 @@ config VIDEO_BMP_RLE8 config BMP_16BPP bool "16-bit-per-pixel BMP image support" - depends on DM_VIDEO || LCD + depends on DM_VIDEO help Support display of bitmaps file with 16-bit-per-pixel config BMP_24BPP bool "24-bit-per-pixel BMP image support" - depends on DM_VIDEO || LCD + depends on DM_VIDEO help Support display of bitmaps file with 24-bit-per-pixel. config BMP_32BPP bool "32-bit-per-pixel BMP image support" - depends on DM_VIDEO || LCD + depends on DM_VIDEO help Support display of bitmaps file with 32-bit-per-pixel. From 70cc7b614f620e95edf304ee02f03f6dcf53e19c Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:10:26 -0600 Subject: [PATCH 54/59] video: Drop use of the lcd header file This file is being removed so drop remaining references to it. Signed-off-by: Simon Glass --- board/aristainetos/aristainetos.c | 4 +++- board/l+g/vinco/vinco.c | 1 - board/nvidia/harmony/harmony.c | 1 - board/raspberrypi/rpi/rpi.c | 1 - board/st/stm32f746-disco/stm32f746-disco.c | 1 - boot/pxe_utils.c | 1 - common/splash.c | 5 ++--- drivers/serial/sandbox.c | 1 - 8 files changed, 5 insertions(+), 10 deletions(-) diff --git a/board/aristainetos/aristainetos.c b/board/aristainetos/aristainetos.c index 514cb60d5ba..770f3d7d0d5 100644 --- a/board/aristainetos/aristainetos.c +++ b/board/aristainetos/aristainetos.c @@ -9,6 +9,8 @@ * Author: Fabio Estevam */ +#include +#include #include #include #include @@ -33,12 +35,12 @@ #include #include #include -#include #include #include #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; diff --git a/board/l+g/vinco/vinco.c b/board/l+g/vinco/vinco.c index db1075a594a..d47c7b5f1eb 100644 --- a/board/l+g/vinco/vinco.c +++ b/board/l+g/vinco/vinco.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include diff --git a/board/nvidia/harmony/harmony.c b/board/nvidia/harmony/harmony.c index dd56a39cafb..52236792e24 100644 --- a/board/nvidia/harmony/harmony.c +++ b/board/nvidia/harmony/harmony.c @@ -5,7 +5,6 @@ */ #include -#include #include #include #include diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c index 00afb352bd1..8603c93de77 100644 --- a/board/raspberrypi/rpi/rpi.c +++ b/board/raspberrypi/rpi/rpi.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c index 2ab23f2f4f7..4cfb29ef428 100644 --- a/board/st/stm32f746-disco/stm32f746-disco.c +++ b/board/st/stm32f746-disco/stm32f746-disco.c @@ -7,7 +7,6 @@ #include #include #include -#include #include #include #include diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index d5c215ae2c1..3fdd14d1cdb 100644 --- a/boot/pxe_utils.c +++ b/boot/pxe_utils.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include diff --git a/common/splash.c b/common/splash.c index 5206e35f74d..8a55dd38472 100644 --- a/common/splash.c +++ b/common/splash.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include static struct splash_location default_splash_locations[] = { { @@ -155,8 +155,7 @@ void splash_display_banner(void) /* * Common function to show a splash image if env("splashimage") is set. - * Is used for both dm_video and lcd video stacks. For additional - * details please refer to doc/README.splashprepare. + * For additional details please refer to doc/README.splashprepare. */ #if defined(CONFIG_SPLASH_SCREEN) && defined(CONFIG_CMD_BMP) int splash_display(void) diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c index 13b54921c41..f122e3f7c36 100644 --- a/drivers/serial/sandbox.c +++ b/drivers/serial/sandbox.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include From b0c5353c7c2e719da080de210fcfe27a16cdbb88 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 16 Oct 2022 15:25:26 -0600 Subject: [PATCH 55/59] video: Drop common LCD implementation This code is no-longer used. Drop it. Signed-off-by: Simon Glass --- MAINTAINERS | 2 - common/Makefile | 3 - common/lcd.c | 495 ------------------------------------------- common/lcd_console.c | 252 ---------------------- include/lcd.h | 207 ------------------ 5 files changed, 959 deletions(-) delete mode 100644 common/lcd.c delete mode 100644 common/lcd_console.c delete mode 100644 include/lcd.h diff --git a/MAINTAINERS b/MAINTAINERS index cb4d44584d8..048db37cb4d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1466,8 +1466,6 @@ M: Anatolij Gustschin S: Maintained T: git https://source.denx.de/u-boot/custodians/u-boot-video.git F: drivers/video/ -F: common/lcd*.c -F: include/lcd*.h F: include/video*.h VirtIO diff --git a/common/Makefile b/common/Makefile index d3175b7a854..20addfb244c 100644 --- a/common/Makefile +++ b/common/Makefile @@ -35,9 +35,6 @@ obj-$(CONFIG_I2C_EDID) += edid.o obj-$(CONFIG_KALLSYMS) += kallsyms.o obj-y += splash.o obj-$(CONFIG_SPLASH_SOURCE) += splash_source.o -ifndef CONFIG_DM_VIDEO -obj-$(CONFIG_LCD) += lcd.o lcd_console.o -endif obj-$(CONFIG_MENU) += menu.o obj-$(CONFIG_UPDATE_COMMON) += update.o obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o diff --git a/common/lcd.c b/common/lcd.c deleted file mode 100644 index b6fba2e010d..00000000000 --- a/common/lcd.c +++ /dev/null @@ -1,495 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Common LCD routines - * - * (C) Copyright 2001-2002 - * Wolfgang Denk, DENX Software Engineering -- wd@denx.de - */ - -/* #define DEBUG */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if (LCD_BPP != LCD_COLOR8) && (LCD_BPP != LCD_COLOR16) && \ - (LCD_BPP != LCD_COLOR32) -#error Unsupported LCD BPP. -#endif - -DECLARE_GLOBAL_DATA_PTR; - -static int lcd_init(void *lcdbase); -static void lcd_logo(void); -static void lcd_setfgcolor(int color); -static void lcd_setbgcolor(int color); - -static int lcd_color_fg; -static int lcd_color_bg; -int lcd_line_length; -char lcd_is_enabled = 0; -static void *lcd_base; /* Start of framebuffer memory */ -static char lcd_flush_dcache; /* 1 to flush dcache after each lcd update */ - -/* Flush LCD activity to the caches */ -void lcd_sync(void) -{ - /* - * flush_dcache_range() is declared in common.h but it seems that some - * architectures do not actually implement it. Is there a way to find - * out whether it exists? For now, ARM is safe. - */ -#if defined(CONFIG_ARM) && !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) - int line_length; - - if (lcd_flush_dcache) - flush_dcache_range((ulong)lcd_base, - (ulong)(lcd_base + lcd_get_size(&line_length))); -#endif -} - -void lcd_set_flush_dcache(int flush) -{ - lcd_flush_dcache = (flush != 0); -} - -static void lcd_stub_putc(struct stdio_dev *dev, const char c) -{ - lcd_putc(c); -} - -static void lcd_stub_puts(struct stdio_dev *dev, const char *s) -{ - lcd_puts(s); -} - -/* - * With most lcd drivers the line length is set up - * by calculating it from panel_info parameters. Some - * drivers need to calculate the line length differently, - * so make the function weak to allow overriding it. - */ -__weak int lcd_get_size(int *line_length) -{ - *line_length = (panel_info.vl_col * NBITS(panel_info.vl_bpix)) / 8; - return *line_length * panel_info.vl_row; -} - -int drv_lcd_init(void) -{ - struct stdio_dev lcddev; - int rc; - - lcd_base = map_sysmem(gd->fb_base, 0); - - lcd_init(lcd_base); - - /* Device initialization */ - memset(&lcddev, 0, sizeof(lcddev)); - - strcpy(lcddev.name, "lcd"); - lcddev.ext = 0; /* No extensions */ - lcddev.flags = DEV_FLAGS_OUTPUT; /* Output only */ - lcddev.putc = lcd_stub_putc; /* 'putc' function */ - lcddev.puts = lcd_stub_puts; /* 'puts' function */ - - rc = stdio_register(&lcddev); - - return (rc == 0) ? 1 : rc; -} - -void lcd_clear(void) -{ - int bg_color; - __maybe_unused ulong addr; - static int do_splash = 1; -#if LCD_BPP == LCD_COLOR8 - /* Setting the palette */ - lcd_setcolreg(CONSOLE_COLOR_BLACK, 0, 0, 0); - lcd_setcolreg(CONSOLE_COLOR_RED, 0xFF, 0, 0); - lcd_setcolreg(CONSOLE_COLOR_GREEN, 0, 0xFF, 0); - lcd_setcolreg(CONSOLE_COLOR_YELLOW, 0xFF, 0xFF, 0); - lcd_setcolreg(CONSOLE_COLOR_BLUE, 0, 0, 0xFF); - lcd_setcolreg(CONSOLE_COLOR_MAGENTA, 0xFF, 0, 0xFF); - lcd_setcolreg(CONSOLE_COLOR_CYAN, 0, 0xFF, 0xFF); - lcd_setcolreg(CONSOLE_COLOR_GREY, 0xAA, 0xAA, 0xAA); - lcd_setcolreg(CONSOLE_COLOR_WHITE, 0xFF, 0xFF, 0xFF); -#endif - -#ifndef CONFIG_SYS_WHITE_ON_BLACK - lcd_setfgcolor(CONSOLE_COLOR_BLACK); - lcd_setbgcolor(CONSOLE_COLOR_WHITE); - bg_color = CONSOLE_COLOR_WHITE; -#else - lcd_setfgcolor(CONSOLE_COLOR_WHITE); - lcd_setbgcolor(CONSOLE_COLOR_BLACK); - bg_color = CONSOLE_COLOR_BLACK; -#endif /* CONFIG_SYS_WHITE_ON_BLACK */ - - /* set framebuffer to background color */ -#if (LCD_BPP != LCD_COLOR32) - memset((char *)lcd_base, bg_color, lcd_line_length * panel_info.vl_row); -#else - u32 *ppix = lcd_base; - u32 i; - for (i = 0; - i < (lcd_line_length * panel_info.vl_row)/NBYTES(panel_info.vl_bpix); - i++) { - *ppix++ = bg_color; - } -#endif - /* setup text-console */ - debug("[LCD] setting up console...\n"); - lcd_init_console(lcd_base, - panel_info.vl_col, - panel_info.vl_row, - panel_info.vl_rot); - /* Paint the logo and retrieve LCD base address */ - debug("[LCD] Drawing the logo...\n"); - if (do_splash) { - if (splash_display() == 0) { - do_splash = 0; - lcd_sync(); - return; - } - } - - lcd_logo(); - lcd_sync(); -} - -static int lcd_init(void *lcdbase) -{ - debug("[LCD] Initializing LCD frambuffer at %p\n", lcdbase); - lcd_ctrl_init(lcdbase); - - /* - * lcd_ctrl_init() of some drivers (i.e. bcm2835 on rpi) ignores - * the 'lcdbase' argument and uses custom lcd base address - * by setting up gd->fb_base. Check for this condition and fixup - * 'lcd_base' address. - */ - if (map_to_sysmem(lcdbase) != gd->fb_base) - lcd_base = map_sysmem(gd->fb_base, 0); - - debug("[LCD] Using LCD frambuffer at %p\n", lcd_base); - - lcd_get_size(&lcd_line_length); - lcd_is_enabled = 1; - lcd_clear(); - lcd_enable(); - - /* Initialize the console */ - lcd_set_col(0); - lcd_set_row(1); /* leave 1 blank line below logo */ - - return 0; -} - -/* - * This is called early in the system initialization to grab memory - * for the LCD controller. - * Returns new address for monitor, after reserving LCD buffer memory - * - * Note that this is running from ROM, so no write access to global data. - */ -ulong lcd_setmem(ulong addr) -{ - ulong size; - int line_length; - - debug("LCD panel info: %d x %d, %d bit/pix\n", panel_info.vl_col, - panel_info.vl_row, NBITS(panel_info.vl_bpix)); - - size = lcd_get_size(&line_length); - - /* Allocate pages for the frame buffer. */ - addr -= size; - - debug("Reserving %ldk for LCD Framebuffer at: %08lx\n", - size >> 10, addr); - - return addr; -} - -static void lcd_setfgcolor(int color) -{ - lcd_color_fg = color; -} - -int lcd_getfgcolor(void) -{ - return lcd_color_fg; -} - -static void lcd_setbgcolor(int color) -{ - lcd_color_bg = color; -} - -int lcd_getbgcolor(void) -{ - return lcd_color_bg; -} - -static inline void lcd_logo_plot(int x, int y) {} - -#if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN) -#ifdef CONFIG_SPLASH_SCREEN_ALIGN - -static void splash_align_axis(int *axis, unsigned long panel_size, - unsigned long picture_size) -{ - unsigned long panel_picture_delta = panel_size - picture_size; - unsigned long axis_alignment; - - if (*axis == BMP_ALIGN_CENTER) - axis_alignment = panel_picture_delta / 2; - else if (*axis < 0) - axis_alignment = panel_picture_delta + *axis + 1; - else - return; - - *axis = max(0, (int)axis_alignment); -} -#endif - -__weak void fb_put_byte(uchar **fb, uchar **from) -{ - *(*fb)++ = *(*from)++; -} - -#if defined(CONFIG_BMP_16BPP) -__weak void fb_put_word(uchar **fb, uchar **from) -{ - *(*fb)++ = *(*from)++; - *(*fb)++ = *(*from)++; -} -#endif /* CONFIG_BMP_16BPP */ - -__weak void lcd_set_cmap(struct bmp_image *bmp, unsigned colors) -{ - int i; - struct bmp_color_table_entry cte; - ushort *cmap = configuration_get_cmap(); - - for (i = 0; i < colors; ++i) { - cte = bmp->color_table[i]; - *cmap = (((cte.red) << 8) & 0xf800) | - (((cte.green) << 3) & 0x07e0) | - (((cte.blue) >> 3) & 0x001f); - cmap++; - } -} - -int lcd_display_bitmap(ulong bmp_image, int x, int y) -{ - ushort *cmap_base = NULL; - ushort i, j; - uchar *fb; - struct bmp_image *bmp = (struct bmp_image *)map_sysmem(bmp_image, 0); - uchar *bmap; - ushort padded_width; - unsigned long width, height, byte_width; - unsigned long pwidth = panel_info.vl_col; - unsigned colors, bpix, bmp_bpix; - int hdr_size; - struct bmp_color_table_entry *palette; - - if (!bmp || !(bmp->header.signature[0] == 'B' && - bmp->header.signature[1] == 'M')) { - printf("Error: no valid bmp image at %lx\n", bmp_image); - - return 1; - } - - palette = bmp->color_table; - width = get_unaligned_le32(&bmp->header.width); - height = get_unaligned_le32(&bmp->header.height); - bmp_bpix = get_unaligned_le16(&bmp->header.bit_count); - hdr_size = get_unaligned_le16(&bmp->header.size); - debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix); - - colors = 1 << bmp_bpix; - - bpix = NBITS(panel_info.vl_bpix); - - if (bpix != 1 && bpix != 8 && bpix != 16 && bpix != 32) { - printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", - bpix, bmp_bpix); - - return 1; - } - - /* - * We support displaying 8bpp BMPs on 16bpp LCDs - * and displaying 24bpp BMPs on 32bpp LCDs - * */ - if (bpix != bmp_bpix && - !(bmp_bpix == 8 && bpix == 16) && - !(bmp_bpix == 24 && bpix == 32)) { - printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", - bpix, get_unaligned_le16(&bmp->header.bit_count)); - return 1; - } - - debug("Display-bmp: %d x %d with %d colors, display %d\n", - (int)width, (int)height, (int)colors, 1 << bpix); - - if (bmp_bpix == 8) - lcd_set_cmap(bmp, colors); - - padded_width = (width & 0x3 ? (width & ~0x3) + 4 : width); - -#ifdef CONFIG_SPLASH_SCREEN_ALIGN - splash_align_axis(&x, pwidth, width); - splash_align_axis(&y, panel_info.vl_row, height); -#endif /* CONFIG_SPLASH_SCREEN_ALIGN */ - - if ((x + width) > pwidth) - width = pwidth - x; - if ((y + height) > panel_info.vl_row) - height = panel_info.vl_row - y; - - bmap = (uchar *)bmp + get_unaligned_le32(&bmp->header.data_offset); - fb = (uchar *)(lcd_base + - (y + height - 1) * lcd_line_length + x * bpix / 8); - - switch (bmp_bpix) { - case 1: - case 8: { - cmap_base = configuration_get_cmap(); - - if (bpix != 16) - byte_width = width; - else - byte_width = width * 2; - - for (i = 0; i < height; ++i) { - schedule(); - for (j = 0; j < width; j++) { - if (bpix != 16) { - fb_put_byte(&fb, &bmap); - } else { - struct bmp_color_table_entry *entry; - uint val; - - if (cmap_base) { - val = cmap_base[*bmap]; - } else { - entry = &palette[*bmap]; - val = entry->blue >> 3 | - entry->green >> 2 << 5 | - entry->red >> 3 << 11; - } - *(uint16_t *)fb = val; - bmap++; - fb += sizeof(uint16_t) / sizeof(*fb); - } - } - bmap += (padded_width - width); - fb -= byte_width + lcd_line_length; - } - break; - } -#if defined(CONFIG_BMP_16BPP) - case 16: - for (i = 0; i < height; ++i) { - schedule(); - for (j = 0; j < width; j++) - fb_put_word(&fb, &bmap); - - bmap += (padded_width - width) * 2; - fb -= width * 2 + lcd_line_length; - } - break; -#endif /* CONFIG_BMP_16BPP */ -#if defined(CONFIG_BMP_24BPP) - case 24: - for (i = 0; i < height; ++i) { - for (j = 0; j < width; j++) { - *(fb++) = *(bmap++); - *(fb++) = *(bmap++); - *(fb++) = *(bmap++); - *(fb++) = 0; - } - fb -= lcd_line_length + width * (bpix / 8); - } - break; -#endif /* CONFIG_BMP_24BPP */ -#if defined(CONFIG_BMP_32BPP) - case 32: - for (i = 0; i < height; ++i) { - for (j = 0; j < width; j++) { - *(fb++) = *(bmap++); - *(fb++) = *(bmap++); - *(fb++) = *(bmap++); - *(fb++) = *(bmap++); - } - fb -= lcd_line_length + width * (bpix / 8); - } - break; -#endif /* CONFIG_BMP_32BPP */ - default: - break; - }; - - lcd_sync(); - return 0; -} -#endif - -static void lcd_logo(void) -{ - lcd_logo_plot(0, 0); - -} - -#ifdef CONFIG_SPLASHIMAGE_GUARD -static int on_splashimage(const char *name, const char *value, enum env_op op, - int flags) -{ - ulong addr; - int aligned; - - if (op == env_op_delete) - return 0; - - addr = hextoul(value, NULL); - /* See README.displaying-bmps */ - aligned = (addr % 4 == 2); - if (!aligned) { - printf("Invalid splashimage value. Value must be 16 bit aligned, but not 32 bit aligned\n"); - return -1; - } - - return 0; -} - -U_BOOT_ENV_CALLBACK(splashimage, on_splashimage); -#endif - -int lcd_get_pixel_width(void) -{ - return panel_info.vl_col; -} - -int lcd_get_pixel_height(void) -{ - return panel_info.vl_row; -} diff --git a/common/lcd_console.c b/common/lcd_console.c deleted file mode 100644 index 82befae902f..00000000000 --- a/common/lcd_console.c +++ /dev/null @@ -1,252 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2001-2015 - * DENX Software Engineering -- wd@denx.de - * Compulab Ltd - http://compulab.co.il/ - * Bernecker & Rainer Industrieelektronik GmbH - http://www.br-automation.com - */ - -#include -#include -#include -#include -#include -#include /* Get font data, width and height */ - -static struct console_t cons; - -void lcd_set_col(short col) -{ - cons.curr_col = col; -} - -void lcd_set_row(short row) -{ - cons.curr_row = row; -} - -void lcd_position_cursor(unsigned col, unsigned row) -{ - cons.curr_col = min_t(short, col, cons.cols - 1); - cons.curr_row = min_t(short, row, cons.rows - 1); -} - -int lcd_get_screen_rows(void) -{ - return cons.rows; -} - -int lcd_get_screen_columns(void) -{ - return cons.cols; -} - -static void lcd_putc_xy0(struct console_t *pcons, ushort x, ushort y, char c) -{ - int fg_color = lcd_getfgcolor(); - int bg_color = lcd_getbgcolor(); - int i, row; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - y * pcons->lcdsizex + - x; - - for (row = 0; row < VIDEO_FONT_HEIGHT; row++) { - uchar bits = video_fontdata[c * VIDEO_FONT_HEIGHT + row]; - for (i = 0; i < VIDEO_FONT_WIDTH; ++i) { - *dst++ = (bits & 0x80) ? fg_color : bg_color; - bits <<= 1; - } - dst += (pcons->lcdsizex - VIDEO_FONT_WIDTH); - } -} - -static inline void console_setrow0(struct console_t *pcons, u32 row, int clr) -{ - int i; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - row * VIDEO_FONT_HEIGHT * - pcons->lcdsizex; - - for (i = 0; i < (VIDEO_FONT_HEIGHT * pcons->lcdsizex); i++) - *dst++ = clr; -} - -static inline void console_moverow0(struct console_t *pcons, - u32 rowdst, u32 rowsrc) -{ - int i; - fbptr_t *dst = (fbptr_t *)pcons->fbbase + - rowdst * VIDEO_FONT_HEIGHT * - pcons->lcdsizex; - - fbptr_t *src = (fbptr_t *)pcons->fbbase + - rowsrc * VIDEO_FONT_HEIGHT * - pcons->lcdsizex; - - for (i = 0; i < (VIDEO_FONT_HEIGHT * pcons->lcdsizex); i++) - *dst++ = *src++; -} - -static inline void console_back(void) -{ - if (--cons.curr_col < 0) { - cons.curr_col = cons.cols - 1; - if (--cons.curr_row < 0) - cons.curr_row = 0; - } - - cons.fp_putc_xy(&cons, - cons.curr_col * VIDEO_FONT_WIDTH, - cons.curr_row * VIDEO_FONT_HEIGHT, ' '); -} - -static inline void console_newline(void) -{ - const int rows = CONFIG_CONSOLE_SCROLL_LINES; - int bg_color = lcd_getbgcolor(); - int i; - - cons.curr_col = 0; - - /* Check if we need to scroll the terminal */ - if (++cons.curr_row >= cons.rows) { - for (i = 0; i < cons.rows-rows; i++) - cons.fp_console_moverow(&cons, i, i+rows); - for (i = 0; i < rows; i++) - cons.fp_console_setrow(&cons, cons.rows-i-1, bg_color); - cons.curr_row -= rows; - } - lcd_sync(); -} - -void console_calc_rowcol(struct console_t *pcons, u32 sizex, u32 sizey) -{ - pcons->cols = sizex / VIDEO_FONT_WIDTH; - pcons->rows = sizey / VIDEO_FONT_HEIGHT; -} - -void __weak lcd_init_console_rot(struct console_t *pcons) -{ - return; -} - -void lcd_init_console(void *address, int vl_cols, int vl_rows, int vl_rot) -{ - memset(&cons, 0, sizeof(cons)); - cons.fbbase = address; - - cons.lcdsizex = vl_cols; - cons.lcdsizey = vl_rows; - cons.lcdrot = vl_rot; - - cons.fp_putc_xy = &lcd_putc_xy0; - cons.fp_console_moverow = &console_moverow0; - cons.fp_console_setrow = &console_setrow0; - console_calc_rowcol(&cons, cons.lcdsizex, cons.lcdsizey); - - lcd_init_console_rot(&cons); - - debug("lcd_console: have %d/%d col/rws on scr %dx%d (%d deg rotated)\n", - cons.cols, cons.rows, cons.lcdsizex, cons.lcdsizey, vl_rot); -} - -void lcd_putc(const char c) -{ - if (!lcd_is_enabled) { - serial_putc(c); - - return; - } - - switch (c) { - case '\r': - cons.curr_col = 0; - return; - case '\n': - console_newline(); - - return; - case '\t': /* Tab (8 chars alignment) */ - cons.curr_col += 8; - cons.curr_col &= ~7; - - if (cons.curr_col >= cons.cols) - console_newline(); - - return; - case '\b': - console_back(); - - return; - default: - cons.fp_putc_xy(&cons, - cons.curr_col * VIDEO_FONT_WIDTH, - cons.curr_row * VIDEO_FONT_HEIGHT, c); - if (++cons.curr_col >= cons.cols) - console_newline(); - } -} - -void lcd_puts(const char *s) -{ - if (!lcd_is_enabled) { - serial_puts(s); - - return; - } - - while (*s) - lcd_putc(*s++); - - lcd_sync(); -} - -void lcd_printf(const char *fmt, ...) -{ - va_list args; - char buf[CONFIG_SYS_PBSIZE]; - - va_start(args, fmt); - vsprintf(buf, fmt, args); - va_end(args); - - lcd_puts(buf); -} - -static int do_lcd_setcursor(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) -{ - unsigned int col, row; - - if (argc != 3) - return CMD_RET_USAGE; - - col = dectoul(argv[1], NULL); - row = dectoul(argv[2], NULL); - lcd_position_cursor(col, row); - - return 0; -} - -static int do_lcd_puts(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) -{ - if (argc != 2) - return CMD_RET_USAGE; - - lcd_puts(argv[1]); - - return 0; -} - -U_BOOT_CMD( - setcurs, 3, 1, do_lcd_setcursor, - "set cursor position within screen", - " in character" -); - -U_BOOT_CMD( - lcdputs, 2, 1, do_lcd_puts, - "print string on lcd-framebuffer", - " " -); diff --git a/include/lcd.h b/include/lcd.h deleted file mode 100644 index b4820037b2a..00000000000 --- a/include/lcd.h +++ /dev/null @@ -1,207 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * MPC823 and PXA LCD Controller - * - * Modeled after video interface by Paolo Scaffardi - * - * - * (C) Copyright 2001 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - */ - -#ifndef _LCD_H_ -#define _LCD_H_ -#include -#if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN) -#include -#include -#endif - -int bmp_display(ulong addr, int x, int y); -struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp, - void **alloc_addr); - -#ifndef CONFIG_DM_VIDEO - -extern char lcd_is_enabled; -extern int lcd_line_length; -extern struct vidinfo panel_info; - -void lcd_ctrl_init(void *lcdbase); -void lcd_enable(void); -void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue); -ulong lcd_setmem(ulong addr); - -/** - * Set whether we need to flush the dcache when changing the LCD image. This - * defaults to off. - * - * @param flush non-zero to flush cache after update, 0 to skip - */ -void lcd_set_flush_dcache(int flush); - -#if defined(CONFIG_ATMEL_LCD) || defined(CONFIG_ATMEL_HLCD) -#include -#elif defined(CONFIG_EXYNOS_FB) -#include -#else -typedef struct vidinfo { - ushort vl_col; /* Number of columns (i.e. 160) */ - ushort vl_row; /* Number of rows (i.e. 100) */ - ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */ - u_char vl_bpix; /* Bits per pixel, 0 = 1 */ - ushort *cmap; /* Pointer to the colormap */ - void *priv; /* Pointer to driver-specific data */ -} vidinfo_t; - -static __maybe_unused ushort *configuration_get_cmap(void) -{ - return panel_info.cmap; -} -#endif - -ushort *configuration_get_cmap(void); - -extern vidinfo_t panel_info; - -void lcd_putc(const char c); -void lcd_puts(const char *s); -void lcd_printf(const char *fmt, ...); -void lcd_clear(void); -int lcd_display_bitmap(ulong bmp_image, int x, int y); - -/** - * Get the width of the LCD in pixels - * - * Return: width of LCD in pixels - */ -int lcd_get_pixel_width(void); - -/** - * Get the height of the LCD in pixels - * - * Return: height of LCD in pixels - */ -int lcd_get_pixel_height(void); - -/** - * Get the number of text lines/rows on the LCD - * - * Return: number of rows - */ -int lcd_get_screen_rows(void); - -/** - * Get the number of text columns on the LCD - * - * Return: number of columns - */ -int lcd_get_screen_columns(void); - -/** - * Get the background color of the LCD - * - * Return: background color value - */ -int lcd_getbgcolor(void); - -/** - * Get the foreground color of the LCD - * - * Return: foreground color value - */ -int lcd_getfgcolor(void); - -/** - * Set the position of the text cursor - * - * @param col Column to place cursor (0 = left side) - * @param row Row to place cursor (0 = top line) - */ -void lcd_position_cursor(unsigned col, unsigned row); - -/* Allow boards to customize the information displayed */ -void lcd_show_board_info(void); - -/* Return the size of the LCD frame buffer, and the line length */ -int lcd_get_size(int *line_length); - -/* Update the LCD / flush the cache */ -void lcd_sync(void); - -/* - * Information about displays we are using. This is for configuring - * the LCD controller and memory allocation. Someone has to know what - * is connected, as we can't autodetect anything. - */ -#define CONFIG_SYS_HIGH 0 /* Pins are active high */ -#define CONFIG_SYS_LOW 1 /* Pins are active low */ - -#define LCD_MONOCHROME 0 -#define LCD_COLOR2 1 -#define LCD_COLOR4 2 -#define LCD_COLOR8 3 -#define LCD_COLOR16 4 -#define LCD_COLOR32 5 - -/* Default to 8bpp if bit depth not specified */ -#ifndef LCD_BPP -#define LCD_BPP LCD_COLOR8 -#endif - -#ifndef LCD_DF -#define LCD_DF 1 -#endif - -/* Calculate nr. of bits per pixel and nr. of colors */ -#define NBITS(bit_code) (1 << (bit_code)) -#define NCOLORS(bit_code) (1 << NBITS(bit_code)) - -#if LCD_BPP == LCD_COLOR8 -# define CONSOLE_COLOR_BLACK 0 -# define CONSOLE_COLOR_RED 1 -# define CONSOLE_COLOR_GREEN 2 -# define CONSOLE_COLOR_YELLOW 3 -# define CONSOLE_COLOR_BLUE 4 -# define CONSOLE_COLOR_MAGENTA 5 -# define CONSOLE_COLOR_CYAN 6 -# define CONSOLE_COLOR_GREY 14 -# define CONSOLE_COLOR_WHITE 15 /* Must remain last / highest */ -#elif LCD_BPP == LCD_COLOR32 -#define CONSOLE_COLOR_RED 0x00ff0000 -#define CONSOLE_COLOR_GREEN 0x0000ff00 -#define CONSOLE_COLOR_YELLOW 0x00ffff00 -#define CONSOLE_COLOR_BLUE 0x000000ff -#define CONSOLE_COLOR_MAGENTA 0x00ff00ff -#define CONSOLE_COLOR_CYAN 0x0000ffff -#define CONSOLE_COLOR_GREY 0x00aaaaaa -#define CONSOLE_COLOR_BLACK 0x00000000 -#define CONSOLE_COLOR_WHITE 0x00ffffff /* Must remain last / highest */ -#define NBYTES(bit_code) (NBITS(bit_code) >> 3) -#else /* 16bpp color definitions */ -# define CONSOLE_COLOR_BLACK 0x0000 -# define CONSOLE_COLOR_RED 0xF800 -# define CONSOLE_COLOR_GREEN 0x07E0 -# define CONSOLE_COLOR_YELLOW 0xFFE0 -# define CONSOLE_COLOR_BLUE 0x001F -# define CONSOLE_COLOR_MAGENTA 0xF81F -# define CONSOLE_COLOR_CYAN 0x07FF -# define CONSOLE_COLOR_GREY 0xC618 -# define CONSOLE_COLOR_WHITE 0xffff /* Must remain last / highest */ -#endif /* color definitions */ - -#if LCD_BPP == LCD_COLOR16 -#define fbptr_t ushort -#elif LCD_BPP == LCD_COLOR32 -#define fbptr_t u32 -#else -#define fbptr_t uchar -#endif - -#ifndef PAGE_SIZE -#define PAGE_SIZE 4096 -#endif - -#endif /* !CONFIG_DM_VIDEO */ - -#endif /* _LCD_H_ */ From eaf707552862ec2778a920870096d16f9fc03ab2 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:30:25 -0600 Subject: [PATCH 56/59] video: Drop SPLASHIMAGE_CALLBACK This is not used anymore. Drop it. Signed-off-by: Simon Glass --- configs/m53menlo_defconfig | 1 - drivers/video/Kconfig | 13 ------------- include/env_callback.h | 7 ------- 3 files changed, 21 deletions(-) diff --git a/configs/m53menlo_defconfig b/configs/m53menlo_defconfig index d7e864e83df..f68010b3bc9 100644 --- a/configs/m53menlo_defconfig +++ b/configs/m53menlo_defconfig @@ -122,7 +122,6 @@ CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y -CONFIG_SPLASHIMAGE_GUARD=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_SPLASH_SOURCE=y CONFIG_VIDEO_BMP_GZIP=y diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 83dba632c1b..21fda77cd64 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -810,19 +810,6 @@ config SPLASH_SCREEN if SPLASH_SCREEN -config SPLASHIMAGE_GUARD - bool "Support unaligned BMP images" - help - If this option is set, then U-Boot will prevent the environment - variable "splashimage" from being set to a problematic address - (see doc/README.displaying-bmps). - - This option is useful for targets where, due to alignment - restrictions, an improperly aligned BMP image will cause a data - abort. If you think you will not have problems with unaligned - accesses (for example because your toolchain prevents them) - there is no need to set this option. - config SPLASH_SCREEN_ALIGN bool "Allow positioning the splash image anywhere on the display" help diff --git a/include/env_callback.h b/include/env_callback.h index d5d2b2fcad6..1eae0efca2e 100644 --- a/include/env_callback.h +++ b/include/env_callback.h @@ -24,12 +24,6 @@ #define SILENT_CALLBACK #endif -#ifdef CONFIG_SPLASHIMAGE_GUARD -#define SPLASHIMAGE_CALLBACK "splashimage:splashimage," -#else -#define SPLASHIMAGE_CALLBACK -#endif - #ifdef CONFIG_REGEX #define ENV_DOT_ESCAPE "\\" #else @@ -74,7 +68,6 @@ BOOTSTD_CALLBACK \ "loadaddr:loadaddr," \ SILENT_CALLBACK \ - SPLASHIMAGE_CALLBACK \ "stdin:console,stdout:console,stderr:console," \ "serial#:serialno," \ CONFIG_ENV_CALLBACK_LIST_STATIC From feda193c8bb1fd27cba3ea90ebbc8eabf0635530 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:35:17 -0600 Subject: [PATCH 57/59] video: Make all video options depend on DM_VIDEO Rather than sprinkly this file with 'depends' statements, make all options depend on DM_VIDEO. Signed-off-by: Simon Glass --- drivers/video/Kconfig | 40 +++++++++------------------------------- 1 file changed, 9 insertions(+), 31 deletions(-) diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 21fda77cd64..8f0b0059d4d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -14,9 +14,10 @@ config DM_VIDEO option compiles in the video uclass and routes all LCD/video access through this. +if DM_VIDEO + config VIDEO_LOGO bool "Show the U-Boot logo on the display" - depends on DM_VIDEO default y if !SPLASH_SCREEN select VIDEO_BMP_RLE8 help @@ -27,7 +28,6 @@ config VIDEO_LOGO config BACKLIGHT bool "Enable panel backlight uclass support" - depends on DM_VIDEO default y help This provides backlight uclass driver that enables basic panel @@ -35,7 +35,6 @@ config BACKLIGHT config VIDEO_PCI_DEFAULT_FB_SIZE hex "Default framebuffer size to use if no drivers request it" - depends on DM_VIDEO default 0x1000000 if X86 && PCI default 0 if !(X86 && PCI) help @@ -54,7 +53,6 @@ config VIDEO_PCI_DEFAULT_FB_SIZE config VIDEO_COPY bool "Enable copying the frame buffer to a hardware copy" - depends on DM_VIDEO help On some machines (e.g. x86), reading from the frame buffer is very slow because it is uncached. To improve performance, this feature @@ -87,7 +85,6 @@ config BACKLIGHT_GPIO config VIDEO_BPP8 bool "Support 8-bit-per-pixel displays" - depends on DM_VIDEO default y help Support drawing text and bitmaps onto a 8-bit-per-pixel display. @@ -97,7 +94,6 @@ config VIDEO_BPP8 config VIDEO_BPP16 bool "Support 16-bit-per-pixel displays" - depends on DM_VIDEO default y help Support drawing text and bitmaps onto a 16-bit-per-pixel display. @@ -107,7 +103,6 @@ config VIDEO_BPP16 config VIDEO_BPP32 bool "Support 32-bit-per-pixel displays" - depends on DM_VIDEO default y help Support drawing text and bitmaps onto a 32-bit-per-pixel display. @@ -117,7 +112,6 @@ config VIDEO_BPP32 config VIDEO_ANSI bool "Support ANSI escape sequences in video console" - depends on DM_VIDEO default y help Enable ANSI escape sequence decoding for a more fully functional @@ -125,7 +119,6 @@ config VIDEO_ANSI config VIDEO_MIPI_DSI bool "Support MIPI DSI interface" - depends on DM_VIDEO help Support MIPI DSI interface for driving a MIPI compatible device. The MIPI Display Serial Interface (MIPI DSI) defines a high-speed @@ -133,8 +126,7 @@ config VIDEO_MIPI_DSI config CONSOLE_NORMAL bool "Support a simple text console" - depends on DM_VIDEO - default y if DM_VIDEO + default y help Support drawing text on the frame buffer console so that it can be used as a console. Rotation is not supported by this driver (see @@ -143,7 +135,6 @@ config CONSOLE_NORMAL config CONSOLE_ROTATION bool "Support rotated displays" - depends on DM_VIDEO help Sometimes, for example if the display is mounted in portrait mode or even if it's mounted landscape but rotated by 180degree, @@ -156,7 +147,6 @@ config CONSOLE_ROTATION config CONSOLE_TRUETYPE bool "Support a console that uses TrueType fonts" - depends on DM_VIDEO help TrueTrype fonts can provide outline-drawing capability rather than needing to provide a bitmap for each font and size that is needed. @@ -210,7 +200,6 @@ config NO_FB_CLEAR config PANEL bool "Enable panel uclass support" - depends on DM_VIDEO default y help This provides panel uclass driver that enables basic panel support. @@ -237,7 +226,6 @@ source "drivers/video/fonts/Kconfig" config VIDCONSOLE_AS_LCD bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout" - depends on DM_VIDEO help This is a work-around for boards which have 'lcd' or 'vga' in their stdout environment variable, but have moved to use driver model for @@ -430,7 +418,7 @@ config VIDEO_LCD_ANX9804 config ATMEL_LCD bool "Atmel LCD panel support" - depends on DM_VIDEO && ARCH_AT91 + depends on ARCH_AT91 config ATMEL_LCD_BGR555 bool "Display in BGR555 mode" @@ -447,7 +435,6 @@ config VIDEO_BCM2835 config VIDEO_LCD_ORISETECH_OTM8009A bool "OTM8009A DSI LCD panel support" - depends on DM_VIDEO select VIDEO_MIPI_DSI help Say Y here if you want to enable support for Orise Technology @@ -455,7 +442,6 @@ config VIDEO_LCD_ORISETECH_OTM8009A config VIDEO_LCD_RAYDIUM_RM68200 bool "RM68200 DSI LCD panel support" - depends on DM_VIDEO select VIDEO_MIPI_DSI help Say Y here if you want to enable support for Raydium RM68200 @@ -491,7 +477,6 @@ config VIDEO_LCD_SSD2828_RESET config VIDEO_LCD_TDO_TL070WSH30 bool "TDO TL070WSH30 DSI LCD panel support" - depends on DM_VIDEO select VIDEO_MIPI_DSI help Say Y here if you want to enable support for TDO TL070WSH30 @@ -585,7 +570,6 @@ config NXP_TDA19988 config ATMEL_HLCD bool "Enable ATMEL video support using HLCDC" - depends on DM_VIDEO help HLCDC supports video output to an attached LCD panel. @@ -630,7 +614,7 @@ source "drivers/video/rockchip/Kconfig" config VIDEO_ARM_MALIDP bool "Enable Arm Mali Display Processor support" - depends on DM_VIDEO && OF_CONTROL + depends on OF_CONTROL select VEXPRESS_CLK help This enables support for Arm Ltd Mali Display Processors from @@ -658,7 +642,6 @@ config VIDEO_TEGRA20 config VIDEO_TEGRA124 bool "Enable video support on Tegra124" - depends on DM_VIDEO help Tegra124 supports many video output options including eDP and HDMI. At present only eDP is supported by U-Boot. This option @@ -671,7 +654,6 @@ source "drivers/video/imx/Kconfig" config VIDEO_MXS bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs" - depends on DM_VIDEO help Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors @@ -685,14 +667,14 @@ config VIDEO_NX config VIDEO_SEPS525 bool "Enable video support for Seps525" - depends on DM_VIDEO && DM_GPIO + depends on DM_GPIO help Enable support for the Syncoam PM-OLED display driver (RGB 160x128). Currently driver is supporting only SPI interface. config VIDEO_ZYNQMP_DPSUB bool "Enable video support for ZynqMP Display Port" - depends on DM_VIDEO && ZYNQMP_POWER_DOMAIN + depends on ZYNQMP_POWER_DOMAIN help Enable support for Xilinx ZynqMP Display Port. Currently this file is used as placeholder for driver. The main reason is to record @@ -702,7 +684,6 @@ source "drivers/video/nexell/Kconfig" config CONSOLE_SCROLL_LINES int "Number of lines to scroll the console by" - depends on DM_VIDEO default 1 help When the console need to be scrolled, this is the number of @@ -760,7 +741,6 @@ config VIDEO_DT_SIMPLEFB config VIDEO_MCDE_SIMPLE bool "Simple driver for ST-Ericsson MCDE with preconfigured display" - depends on DM_VIDEO help Enables a simple display driver for ST-Ericsson MCDE (Multichannel Display Engine), which reads the configuration from @@ -892,27 +872,25 @@ config VIDEO_LOGO_MAX_SIZE config VIDEO_BMP_RLE8 bool "Run length encoded BMP image (RLE8) support" - depends on DM_VIDEO help If this option is set, the 8-bit RLE compressed BMP images is supported. config BMP_16BPP bool "16-bit-per-pixel BMP image support" - depends on DM_VIDEO help Support display of bitmaps file with 16-bit-per-pixel config BMP_24BPP bool "24-bit-per-pixel BMP image support" - depends on DM_VIDEO help Support display of bitmaps file with 24-bit-per-pixel. config BMP_32BPP bool "32-bit-per-pixel BMP image support" - depends on DM_VIDEO help Support display of bitmaps file with 32-bit-per-pixel. +endif # DM_VIDEO + endmenu From 9330abfb4a00512213d34147b78d2041fd467c6e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:58:16 -0600 Subject: [PATCH 58/59] pci: Drop test for DM_VIDEO This is not needed anymore, since there is no other option. Signed-off-by: Simon Glass --- drivers/pci/pci_rom.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/pci/pci_rom.c b/drivers/pci/pci_rom.c index 27a24daa12a..47b6e6e5bcf 100644 --- a/drivers/pci/pci_rom.c +++ b/drivers/pci/pci_rom.c @@ -325,7 +325,6 @@ err: return ret; } -#ifdef CONFIG_DM_VIDEO int vesa_setup_video_priv(struct vesa_mode_info *vesa, struct video_priv *uc_priv, struct video_uc_plat *plat) @@ -398,4 +397,3 @@ int vesa_setup_video(struct udevice *dev, int (*int15_handler)(void)) return 0; } -#endif From b86986c7b314f1378ca5be8df49310a6ce7302f8 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 18 Oct 2022 07:46:31 -0600 Subject: [PATCH 59/59] video: Rename CONFIG_DM_VIDEO to CONFIG_VIDEO Now that all the old code is gone, rename this option. Driver model migration is now complete. Signed-off-by: Simon Glass --- arch/Kconfig | 2 +- arch/arm/Kconfig | 2 +- arch/arm/mach-imx/cpu.c | 2 +- arch/arm/mach-imx/mx6/Kconfig | 2 +- arch/arm/mach-imx/mx6/soc.c | 2 +- arch/arm/mach-imx/mx7/soc.c | 2 +- arch/arm/mach-omap2/am33xx/Kconfig | 2 +- arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c | 2 +- arch/arm/mach-sunxi/Kconfig | 6 +++--- arch/arm/mach-tegra/board2.c | 4 ++-- arch/x86/Kconfig | 2 +- board/atmel/at91sam9x5ek/at91sam9x5ek.c | 2 +- board/atmel/common/Makefile | 2 +- board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c | 2 +- board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c | 2 +- board/atmel/sama5d2_xplained/sama5d2_xplained.c | 2 +- board/atmel/sama5d3xek/sama5d3xek.c | 2 +- board/atmel/sama5d4_xplained/sama5d4_xplained.c | 2 +- board/atmel/sama5d4ek/sama5d4ek.c | 2 +- board/beckhoff/mx53cx9020/Makefile | 2 +- board/bluewater/gurnard/gurnard.c | 4 ++-- board/compal/paz00/paz00.c | 2 +- board/freescale/imx8ulp_evk/imx8ulp_evk.c | 2 +- board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c | 2 +- board/ge/mx53ppd/Makefile | 2 +- board/technexion/pico-imx7d/pico-imx7d.c | 4 ++-- board/toradex/colibri-imx6ull/colibri-imx6ull.c | 4 ++-- board/toradex/colibri_imx7/colibri_imx7.c | 6 +++--- board/toradex/common/tdx-common.c | 2 +- boot/pxe_utils.c | 2 +- cmd/Kconfig | 4 ++-- cmd/bdinfo.c | 2 +- cmd/cls.c | 2 +- common/Kconfig | 2 +- common/board_f.c | 2 +- common/fdt_simplefb.c | 2 +- common/splash.c | 6 +++--- common/stdio.c | 4 ++-- configs/aristainetos2c_defconfig | 2 +- configs/aristainetos2ccslb_defconfig | 2 +- configs/at91sam9x5ek_dataflash_defconfig | 2 +- configs/at91sam9x5ek_mmc_defconfig | 2 +- configs/at91sam9x5ek_nandflash_defconfig | 2 +- configs/at91sam9x5ek_spiflash_defconfig | 2 +- configs/bananapi-m5_defconfig | 2 +- configs/beelink-gsking-x_defconfig | 2 +- configs/beelink-gtking_defconfig | 2 +- configs/beelink-gtkingpro_defconfig | 2 +- configs/chromebit_mickey_defconfig | 2 +- configs/chromebook_bob_defconfig | 2 +- configs/chromebook_jerry_defconfig | 2 +- configs/chromebook_kevin_defconfig | 2 +- configs/chromebook_minnie_defconfig | 2 +- configs/chromebook_speedy_defconfig | 2 +- configs/cm_fx6_defconfig | 2 +- configs/evb-px30_defconfig | 2 +- configs/evb-rk3288_defconfig | 2 +- configs/evb-rk3399_defconfig | 2 +- configs/firefly-px30_defconfig | 2 +- configs/firefly-rk3288_defconfig | 2 +- configs/gazerbeam_defconfig | 2 +- configs/ge_b1x5v2_defconfig | 2 +- configs/ge_bx50v3_defconfig | 2 +- configs/gurnard_defconfig | 2 +- configs/gwventana_emmc_defconfig | 2 +- configs/gwventana_gw5904_defconfig | 2 +- configs/gwventana_nand_defconfig | 2 +- configs/harmony_defconfig | 2 +- configs/imx6dl_icore_nand_defconfig | 2 +- configs/imx6q_icore_nand_defconfig | 2 +- configs/imx6qdl_icore_mmc_defconfig | 2 +- configs/imx6qdl_icore_nand_defconfig | 2 +- configs/imx7_cm_defconfig | 2 +- configs/imx8mp_rsb3720a1_4G_defconfig | 2 +- configs/imx8mp_rsb3720a1_6G_defconfig | 2 +- configs/imxrt1050-evk_defconfig | 2 +- configs/khadas-vim3_android_ab_defconfig | 2 +- configs/khadas-vim3_android_defconfig | 2 +- configs/khadas-vim3_defconfig | 2 +- configs/khadas-vim3l_android_ab_defconfig | 2 +- configs/khadas-vim3l_android_defconfig | 2 +- configs/khadas-vim3l_defconfig | 2 +- configs/libretech-ac_defconfig | 2 +- configs/libretech-cc_defconfig | 2 +- configs/libretech-cc_v2_defconfig | 2 +- configs/libretech-s905d-pc_defconfig | 2 +- configs/libretech-s912-pc_defconfig | 2 +- configs/m53menlo_defconfig | 2 +- configs/marsboard_defconfig | 2 +- configs/medcom-wide_defconfig | 2 +- configs/miqi-rk3288_defconfig | 2 +- configs/mx53cx9020_defconfig | 2 +- configs/mx53ppd_defconfig | 2 +- configs/mx6cuboxi_defconfig | 2 +- configs/mx6qsabrelite_defconfig | 2 +- configs/mx6sabreauto_defconfig | 2 +- configs/mx6sabresd_defconfig | 2 +- configs/mx6ul_14x14_evk_defconfig | 2 +- configs/mx6ul_9x9_evk_defconfig | 2 +- configs/nanopc-t4-rk3399_defconfig | 2 +- configs/nanopi-m4-2gb-rk3399_defconfig | 2 +- configs/nanopi-m4-rk3399_defconfig | 2 +- configs/nanopi-m4b-rk3399_defconfig | 2 +- configs/nanopi-neo4-rk3399_defconfig | 2 +- configs/nanopi-r4s-rk3399_defconfig | 2 +- configs/nitrogen6dl2g_defconfig | 2 +- configs/nitrogen6dl_defconfig | 2 +- configs/nitrogen6q2g_defconfig | 2 +- configs/nitrogen6q_defconfig | 2 +- configs/nitrogen6s1g_defconfig | 2 +- configs/nitrogen6s_defconfig | 2 +- configs/nokia_rx51_defconfig | 2 +- configs/nyan-big_defconfig | 2 +- configs/odroid-c2_defconfig | 2 +- configs/odroid-c4_defconfig | 2 +- configs/odroid-go2_defconfig | 2 +- configs/odroid-hc4_defconfig | 2 +- configs/odroid-n2_defconfig | 2 +- configs/opos6uldev_defconfig | 2 +- configs/paz00_defconfig | 2 +- configs/peach-pi_defconfig | 2 +- configs/peach-pit_defconfig | 2 +- configs/pico-dwarf-imx7d_defconfig | 2 +- configs/pico-hobbit-imx7d_defconfig | 2 +- configs/pico-imx6_defconfig | 2 +- configs/pico-imx6ul_defconfig | 2 +- configs/pico-imx7d_bl33_defconfig | 2 +- configs/pico-imx7d_defconfig | 2 +- configs/pico-nymph-imx7d_defconfig | 2 +- configs/pico-pi-imx7d_defconfig | 2 +- configs/pinebook-pro-rk3399_defconfig | 2 +- configs/pm9261_defconfig | 2 +- configs/pm9263_defconfig | 2 +- configs/puma-rk3399_defconfig | 2 +- configs/px30-core-ctouch2-of10-px30_defconfig | 2 +- configs/px30-core-ctouch2-px30_defconfig | 2 +- configs/px30-core-edimm2.2-px30_defconfig | 2 +- configs/radxa-zero_defconfig | 2 +- configs/riotboard_defconfig | 2 +- configs/roc-pc-mezzanine-rk3399_defconfig | 2 +- configs/roc-pc-rk3399_defconfig | 2 +- configs/rock-pi-4-rk3399_defconfig | 2 +- configs/rock-pi-4c-rk3399_defconfig | 2 +- configs/rock-pi-n10-rk3399pro_defconfig | 2 +- configs/rock-pi-n8-rk3288_defconfig | 2 +- configs/rock2_defconfig | 2 +- configs/rock960-rk3399_defconfig | 2 +- configs/rockpro64-rk3399_defconfig | 2 +- configs/rpi_0_w_defconfig | 2 +- configs/rpi_2_defconfig | 2 +- configs/rpi_3_32b_defconfig | 2 +- configs/rpi_3_b_plus_defconfig | 2 +- configs/rpi_3_defconfig | 2 +- configs/rpi_4_32b_defconfig | 2 +- configs/rpi_4_defconfig | 2 +- configs/rpi_arm64_defconfig | 2 +- configs/rpi_defconfig | 2 +- configs/s5p4418_nanopi2_defconfig | 2 +- configs/sama5d27_som1_ek_mmc1_defconfig | 2 +- configs/sama5d27_som1_ek_mmc_defconfig | 2 +- configs/sama5d27_som1_ek_qspiflash_defconfig | 2 +- configs/sama5d27_wlsom1_ek_mmc_defconfig | 2 +- configs/sama5d27_wlsom1_ek_qspiflash_defconfig | 2 +- configs/sama5d2_xplained_emmc_defconfig | 2 +- configs/sama5d2_xplained_mmc_defconfig | 2 +- configs/sama5d2_xplained_qspiflash_defconfig | 2 +- configs/sama5d2_xplained_spiflash_defconfig | 2 +- configs/sama5d36ek_cmp_mmc_defconfig | 2 +- configs/sama5d36ek_cmp_nandflash_defconfig | 2 +- configs/sama5d36ek_cmp_spiflash_defconfig | 2 +- configs/sama5d3xek_mmc_defconfig | 2 +- configs/sama5d3xek_nandflash_defconfig | 2 +- configs/sama5d3xek_spiflash_defconfig | 2 +- configs/sama5d4_xplained_mmc_defconfig | 2 +- configs/sama5d4_xplained_nandflash_defconfig | 2 +- configs/sama5d4_xplained_spiflash_defconfig | 2 +- configs/sama5d4ek_mmc_defconfig | 2 +- configs/sama5d4ek_nandflash_defconfig | 2 +- configs/sama5d4ek_spiflash_defconfig | 2 +- configs/sandbox64_defconfig | 2 +- configs/sandbox_defconfig | 2 +- configs/sandbox_flattree_defconfig | 2 +- configs/sandbox_noinst_defconfig | 2 +- configs/sandbox_spl_defconfig | 2 +- configs/sandbox_vpl_defconfig | 2 +- configs/seaboard_defconfig | 2 +- configs/sei510_defconfig | 2 +- configs/sei610_defconfig | 2 +- configs/snow_defconfig | 2 +- configs/spring_defconfig | 2 +- configs/starqltechn_defconfig | 2 +- configs/stemmy_defconfig | 2 +- configs/stm32746g-eval_defconfig | 2 +- configs/stm32746g-eval_spl_defconfig | 2 +- configs/stm32f746-disco_defconfig | 2 +- configs/stm32f746-disco_spl_defconfig | 2 +- configs/stm32f769-disco_defconfig | 2 +- configs/stm32f769-disco_spl_defconfig | 2 +- configs/stm32mp15_basic_defconfig | 2 +- configs/stm32mp15_defconfig | 2 +- configs/stm32mp15_trusted_defconfig | 2 +- configs/tbs2910_defconfig | 2 +- configs/tec_defconfig | 2 +- configs/theadorable_debug_defconfig | 2 +- configs/tinker-rk3288_defconfig | 2 +- configs/tinker-s-rk3288_defconfig | 2 +- configs/ventana_defconfig | 2 +- configs/vyasa-rk3288_defconfig | 2 +- configs/wandboard_defconfig | 2 +- configs/wetek-core2_defconfig | 2 +- configs/xilinx_zynqmp_virt_defconfig | 2 +- doc/develop/driver-model/migration.rst | 2 +- doc/usage/environment.rst | 2 +- drivers/pci/Makefile | 2 +- drivers/serial/sandbox.c | 2 +- drivers/video/Kconfig | 6 +++--- drivers/video/Makefile | 4 ++-- drivers/video/exynos/Kconfig | 2 +- drivers/video/imx/Kconfig | 2 +- drivers/video/meson/Kconfig | 2 +- drivers/video/nexell_display.c | 2 +- drivers/video/rockchip/Kconfig | 2 +- drivers/video/stm32/Kconfig | 2 +- include/asm-generic/global_data.h | 4 ++-- include/configs/colibri-imx6ull.h | 2 +- include/configs/imxrt1050-evk.h | 2 +- include/configs/meson64.h | 2 +- include/configs/pico-imx6ul.h | 4 +--- include/configs/sunxi-common.h | 2 +- include/configs/tegra-common-post.h | 2 +- lib/efi_loader/Makefile | 2 +- lib/efi_loader/efi_console.c | 2 +- lib/efi_loader/efi_setup.c | 2 +- test/dm/Makefile | 4 ++-- tools/Makefile | 2 +- 235 files changed, 252 insertions(+), 254 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 1ffd77c0f4f..e3a456a98d2 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -251,7 +251,7 @@ config X86 imply DM_SPI imply DM_SPI_FLASH imply DM_USB - imply DM_VIDEO + imply VIDEO imply SYSRESET imply SPL_SYSRESET imply SYSRESET_X86 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2e833940525..6fb39e18d29 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1040,7 +1040,7 @@ config ARCH_APPLE select DM_SERIAL select DM_SPI select DM_USB - select DM_VIDEO + select VIDEO select IOMMU select LINUX_KERNEL_IMAGE_HEADER select OF_BOARD_SETUP diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index ba386c24b4a..702cfc33275 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c @@ -310,7 +310,7 @@ void arch_preboot_os(void) /* disable video before launching O/S */ ipuv3_fb_shutdown(); #endif -#if defined(CONFIG_VIDEO_MXS) && !defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO_MXS) && !defined(CONFIG_VIDEO) lcdif_power_down(); #endif } diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig index c7a03e50421..752c57f52db 100644 --- a/arch/arm/mach-imx/mx6/Kconfig +++ b/arch/arm/mach-imx/mx6/Kconfig @@ -249,7 +249,7 @@ config TARGET_KOSAGI_NOVENA select DM_MMC select PCI select DM_SCSI - select DM_VIDEO + select VIDEO select OF_CONTROL select SUPPORT_SPL imply CMD_DM diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c index 67bd9919892..08f47cf03d2 100644 --- a/arch/arm/mach-imx/mx6/soc.c +++ b/arch/arm/mach-imx/mx6/soc.c @@ -598,7 +598,7 @@ const struct boot_mode soc_boot_modes[] = { void reset_misc(void) { #ifndef CONFIG_SPL_BUILD -#if defined(CONFIG_VIDEO_MXS) && !defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO_MXS) && !defined(CONFIG_VIDEO) lcdif_power_down(); #endif #endif diff --git a/arch/arm/mach-imx/mx7/soc.c b/arch/arm/mach-imx/mx7/soc.c index c672be5d5dd..02af0d568f2 100644 --- a/arch/arm/mach-imx/mx7/soc.c +++ b/arch/arm/mach-imx/mx7/soc.c @@ -447,7 +447,7 @@ int boot_mode_getprisec(void) void reset_misc(void) { #ifndef CONFIG_SPL_BUILD -#if defined(CONFIG_VIDEO_MXS) && !defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO_MXS) && !defined(CONFIG_VIDEO) lcdif_power_down(); #endif #endif diff --git a/arch/arm/mach-omap2/am33xx/Kconfig b/arch/arm/mach-omap2/am33xx/Kconfig index 25e97cfc386..6c2d46abc4c 100644 --- a/arch/arm/mach-omap2/am33xx/Kconfig +++ b/arch/arm/mach-omap2/am33xx/Kconfig @@ -94,7 +94,7 @@ config TARGET_AM335X_GUARDIAN select DM select DM_SERIAL select DM_GPIO - select DM_VIDEO + select VIDEO select PANEL_HX8238D config TARGET_AM335X_SL50 diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c index d2666b97757..007f7131306 100644 --- a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c @@ -79,7 +79,7 @@ static int do_stm32prog(struct cmd_tbl *cmdtp, int flag, int argc, } } - if (IS_ENABLED(CONFIG_DM_VIDEO)) + if (IS_ENABLED(CONFIG_VIDEO)) enable_vidconsole(); data = (struct stm32prog_data *)malloc(sizeof(*data)); diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index fc5d8bb3c19..dbe6005daab 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -788,7 +788,7 @@ config VIDEO_SUNXI depends on !MACH_SUN9I depends on !MACH_SUN50I depends on !SUN50I_GEN_H6 - select DM_VIDEO + select VIDEO select DISPLAY imply VIDEO_DT_SIMPLEFB default y @@ -853,7 +853,7 @@ config VIDEO_LCD_MODE config VIDEO_LCD_DCLK_PHASE int "LCD panel display clock phase" - depends on VIDEO_SUNXI || DM_VIDEO + depends on VIDEO_SUNXI || VIDEO default 1 range 0 3 ---help--- @@ -928,7 +928,7 @@ config SUNXI_DE2 config VIDEO_DE2 bool "Display Engine 2 video driver" depends on SUNXI_DE2 - select DM_VIDEO + select VIDEO select DISPLAY select VIDEO_DW_HDMI imply VIDEO_DT_SIMPLEFB diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c index 1994db0e15f..82d3d335028 100644 --- a/arch/arm/mach-tegra/board2.c +++ b/arch/arm/mach-tegra/board2.c @@ -134,7 +134,7 @@ int board_init(void) #endif /* Init is handled automatically in the driver-model case */ -#if defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO) pin_mux_display(); #endif /* boot param addr */ @@ -158,7 +158,7 @@ int board_init(void) pin_mux_usb(); #endif -#if defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO) board_id = tegra_board_id(); err = tegra_lcd_pmic_init(board_id); if (err) { diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 7e86c6a0cd0..a2da080eaed 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -703,7 +703,7 @@ config VBT_ADDR config VIDEO_FSP bool "Enable FSP framebuffer driver support" - depends on HAVE_VBT && DM_VIDEO + depends on HAVE_VBT && VIDEO help Turn on this option to enable a framebuffer driver when U-Boot is using Video BIOS Table (VBT) image for FSP firmware to initialize diff --git a/board/atmel/at91sam9x5ek/at91sam9x5ek.c b/board/atmel/at91sam9x5ek/at91sam9x5ek.c index 8192824c59c..b5af35bc7e5 100644 --- a/board/atmel/at91sam9x5ek/at91sam9x5ek.c +++ b/board/atmel/at91sam9x5ek/at91sam9x5ek.c @@ -87,7 +87,7 @@ static void at91sam9x5ek_nand_hw_init(void) #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91_video_show_board_info(); #endif at91_prepare_cpu_var(); diff --git a/board/atmel/common/Makefile b/board/atmel/common/Makefile index 6bc8cabb8d6..c046da79886 100644 --- a/board/atmel/common/Makefile +++ b/board/atmel/common/Makefile @@ -6,4 +6,4 @@ obj-y += board.o obj-$(CONFIG_I2C_EEPROM) += mac_eeprom.o obj-$(CONFIG_SPI_FLASH_SFDP_SUPPORT) += mac-spi-nor.o -obj-$(CONFIG_DM_VIDEO) += video_display.o +obj-$(CONFIG_VIDEO) += video_display.o diff --git a/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c b/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c index 65d0a7532ea..329eac7223a 100644 --- a/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c +++ b/board/atmel/sama5d27_som1_ek/sama5d27_som1_ek.c @@ -39,7 +39,7 @@ static void board_usb_hw_init(void) #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91_video_show_board_info(); #endif at91_pda_detect(); diff --git a/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c b/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c index c38585c6fe7..6524867708a 100644 --- a/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c +++ b/board/atmel/sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c @@ -32,7 +32,7 @@ static void rgb_leds_init(void) #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91_video_show_board_info(); #endif at91_pda_detect(); diff --git a/board/atmel/sama5d2_xplained/sama5d2_xplained.c b/board/atmel/sama5d2_xplained/sama5d2_xplained.c index 9e0f9c3b7e3..aa522075691 100644 --- a/board/atmel/sama5d2_xplained/sama5d2_xplained.c +++ b/board/atmel/sama5d2_xplained/sama5d2_xplained.c @@ -38,7 +38,7 @@ static void board_usb_hw_init(void) #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91_video_show_board_info(); #endif at91_pda_detect(); diff --git a/board/atmel/sama5d3xek/sama5d3xek.c b/board/atmel/sama5d3xek/sama5d3xek.c index 132e7fad1ef..008f1db6b0e 100644 --- a/board/atmel/sama5d3xek/sama5d3xek.c +++ b/board/atmel/sama5d3xek/sama5d3xek.c @@ -186,7 +186,7 @@ int board_late_init(void) strcat(name, "ek.dtb"); env_set("dtb_name", name); #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91_video_show_board_info(); #endif return 0; diff --git a/board/atmel/sama5d4_xplained/sama5d4_xplained.c b/board/atmel/sama5d4_xplained/sama5d4_xplained.c index 9fb7e6f308d..4058594e4de 100644 --- a/board/atmel/sama5d4_xplained/sama5d4_xplained.c +++ b/board/atmel/sama5d4_xplained/sama5d4_xplained.c @@ -76,7 +76,7 @@ static void sama5d4_xplained_usb_hw_init(void) int board_late_init(void) { at91_pda_detect(); -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91_video_show_board_info(); #endif return 0; diff --git a/board/atmel/sama5d4ek/sama5d4ek.c b/board/atmel/sama5d4ek/sama5d4ek.c index ba385333433..ef5a8a0d5cc 100644 --- a/board/atmel/sama5d4ek/sama5d4ek.c +++ b/board/atmel/sama5d4ek/sama5d4ek.c @@ -74,7 +74,7 @@ static void sama5d4ek_usb_hw_init(void) #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91_video_show_board_info(); #endif return 0; diff --git a/board/beckhoff/mx53cx9020/Makefile b/board/beckhoff/mx53cx9020/Makefile index 7f15fc5746d..423a5532ca6 100644 --- a/board/beckhoff/mx53cx9020/Makefile +++ b/board/beckhoff/mx53cx9020/Makefile @@ -4,4 +4,4 @@ # Patrick Bruenn obj-y += mx53cx9020.o -obj-$(CONFIG_DM_VIDEO) += mx53cx9020_video.o +obj-$(CONFIG_VIDEO) += mx53cx9020_video.o diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c index aee134dbc56..f547ce3cc21 100644 --- a/board/bluewater/gurnard/gurnard.c +++ b/board/bluewater/gurnard/gurnard.c @@ -139,7 +139,7 @@ static void lcd_splash(int width, int height) } #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO static void at91sam9g45_lcd_hw_init(void) { at91_set_A_periph(AT91_PIN_PE0, 0); /* LCDDPWR */ @@ -337,7 +337,7 @@ int board_init(void) at91_mci_hw_init(); #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO at91sam9g45_lcd_hw_init(); at91_set_A_periph(AT91_PIN_PE6, 1); /* power up */ diff --git a/board/compal/paz00/paz00.c b/board/compal/paz00/paz00.c index 64d0860d213..d92eb162243 100644 --- a/board/compal/paz00/paz00.c +++ b/board/compal/paz00/paz00.c @@ -41,7 +41,7 @@ void pin_mux_mmc(void) } #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO /* this is a weak define that we are overriding */ void pin_mux_display(void) { diff --git a/board/freescale/imx8ulp_evk/imx8ulp_evk.c b/board/freescale/imx8ulp_evk/imx8ulp_evk.c index 1fd338c7e16..5aad1074a86 100644 --- a/board/freescale/imx8ulp_evk/imx8ulp_evk.c +++ b/board/freescale/imx8ulp_evk/imx8ulp_evk.c @@ -112,7 +112,7 @@ int board_init(void) } /* When sync with M33 is failed, use local driver to set for video */ - if (sync != 0 && IS_ENABLED(CONFIG_DM_VIDEO)) { + if (sync != 0 && IS_ENABLED(CONFIG_VIDEO)) { mipi_dsi_mux_panel(); mipi_dsi_panel_backlight(); } diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c index b916ea01029..1eec048a66f 100644 --- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c +++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c @@ -240,7 +240,7 @@ int board_phy_config(struct phy_device *phydev) } #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO static iomux_v3_cfg_t const lcd_pads[] = { /* Use GPIO for Brightness adjustment, duty cycle = period. */ MX6_PAD_GPIO1_IO08__GPIO1_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL), diff --git a/board/ge/mx53ppd/Makefile b/board/ge/mx53ppd/Makefile index f423e80caee..9fae4143998 100644 --- a/board/ge/mx53ppd/Makefile +++ b/board/ge/mx53ppd/Makefile @@ -7,4 +7,4 @@ # Jason Liu obj-y += mx53ppd.o -obj-$(CONFIG_DM_VIDEO) += mx53ppd_video.o +obj-$(CONFIG_VIDEO) += mx53ppd_video.o diff --git a/board/technexion/pico-imx7d/pico-imx7d.c b/board/technexion/pico-imx7d/pico-imx7d.c index 1c0cc238df0..7db34abcb1e 100644 --- a/board/technexion/pico-imx7d/pico-imx7d.c +++ b/board/technexion/pico-imx7d/pico-imx7d.c @@ -175,7 +175,7 @@ int board_early_init_f(void) return 0; } -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO void setup_lcd(void) { gpio_request(IMX_GPIO_NR(1, 11), "lcd_brightness"); @@ -192,7 +192,7 @@ int board_init(void) /* address of boot parameters */ gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO setup_lcd(); #endif #ifdef CONFIG_FEC_MXC diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c index ba4e0df2c27..6007f110e4b 100644 --- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c +++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c @@ -67,7 +67,7 @@ static void setup_gpmi_nand(void) } #endif /* CONFIG_NAND_MXS */ -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO static const iomux_v3_cfg_t backlight_pads[] = { /* Backlight On */ MX6_PAD_JTAG_TMS__GPIO1_IO11 | MUX_PAD_CTRL(NO_PAD_CTRL), @@ -195,7 +195,7 @@ int board_late_init(void) } #endif /* CONFIG_CMD_USB_SDP */ -#if defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO) setup_lcd(); #endif diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c index 4f04543832e..6ce4fa376ac 100644 --- a/board/toradex/colibri_imx7/colibri_imx7.c +++ b/board/toradex/colibri_imx7/colibri_imx7.c @@ -101,7 +101,7 @@ static void setup_gpmi_nand(void) } #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO static iomux_v3_cfg_t const backlight_pads[] = { /* Backlight On */ MX7D_PAD_SD1_WP__GPIO5_IO1 | MUX_PAD_CTRL(NO_PAD_CTRL), @@ -134,7 +134,7 @@ static int setup_lcd(void) */ void board_preboot_os(void) { -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO gpio_direction_output(GPIO_PWM_A, 1); gpio_direction_output(GPIO_BL_ON, 0); #endif @@ -334,7 +334,7 @@ int board_fix_fdt(void *rw_fdt_blob) #if defined(CONFIG_BOARD_LATE_INIT) int board_late_init(void) { -#if defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO) setup_lcd(); #endif diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c index fadbe455419..071961f3d93 100644 --- a/board/toradex/common/tdx-common.c +++ b/board/toradex/common/tdx-common.c @@ -9,7 +9,7 @@ #include #include -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO #include #include #include diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index 3fdd14d1cdb..8133006875f 100644 --- a/boot/pxe_utils.c +++ b/boot/pxe_utils.c @@ -1518,7 +1518,7 @@ void handle_pxe_menu(struct pxe_context *ctx, struct pxe_menu *cfg) /* display BMP if available */ if (cfg->bmp) { if (get_relfile(ctx, cfg->bmp, image_load_addr, NULL)) { -#if defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO) struct udevice *dev; err = uclass_first_device_err(UCLASS_VIDEO, &dev); diff --git a/cmd/Kconfig b/cmd/Kconfig index 9aac5344162..3f6bc70d43a 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1877,7 +1877,7 @@ menu "Misc commands" config CMD_BMP bool "Enable 'bmp' command" - depends on DM_VIDEO + depends on VIDEO help This provides a way to obtain information about a BMP-format image and to display it. BMP (which presumably stands for BitMaP) is a @@ -2163,7 +2163,7 @@ config CMD_UUID config CMD_VIDCONSOLE bool "lcdputs and setcurs" - depends on DM_VIDEO + depends on VIDEO default y help Enabling this will provide 'setcurs' and 'lcdputs' commands which diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c index c454e6eee18..bf002f84475 100644 --- a/cmd/bdinfo.c +++ b/cmd/bdinfo.c @@ -122,7 +122,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) bdinfo_print_num_l("fdt_blob", (ulong)gd->fdt_blob); bdinfo_print_num_l("new_fdt", (ulong)gd->new_fdt); bdinfo_print_num_l("fdt_size", (ulong)gd->fdt_size); - if (IS_ENABLED(CONFIG_DM_VIDEO)) + if (IS_ENABLED(CONFIG_VIDEO)) show_video_info(); #if CONFIG_IS_ENABLED(MULTI_DTB_FIT) bdinfo_print_num_l("multi_dtb_fit", (ulong)gd->multi_dtb_fit); diff --git a/cmd/cls.c b/cmd/cls.c index ba36220d9e1..18643ec0243 100644 --- a/cmd/cls.c +++ b/cmd/cls.c @@ -19,7 +19,7 @@ static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc, /* Send clear screen and home */ printf(CSI "2J" CSI "1;1H"); - if (CONFIG_IS_ENABLED(DM_VIDEO) && !CONFIG_IS_ENABLED(VIDEO_ANSI)) { + if (CONFIG_IS_ENABLED(VIDEO) && !CONFIG_IS_ENABLED(VIDEO_ANSI)) { if (uclass_first_device_err(UCLASS_VIDEO, &dev)) return CMD_RET_FAILURE; if (video_clear(dev)) diff --git a/common/Kconfig b/common/Kconfig index 6608a4f0fc1..62e7fb5d0e9 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -194,7 +194,7 @@ config CONSOLE_FLUSH_SUPPORT config CONSOLE_MUX bool "Enable console multiplexing" - default y if DM_VIDEO || VIDEO || LCD + default y if VIDEO || VIDEO || LCD help This allows multiple devices to be used for each console 'file'. For example, stdout can be set to go to serial and video. diff --git a/common/board_f.c b/common/board_f.c index 0f7354ddd68..51ba5931899 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -408,7 +408,7 @@ __weak int arch_reserve_mmu(void) static int reserve_video(void) { - if (IS_ENABLED(CONFIG_DM_VIDEO)) { + if (IS_ENABLED(CONFIG_VIDEO)) { ulong addr; int ret; diff --git a/common/fdt_simplefb.c b/common/fdt_simplefb.c index 951956430c3..71d4c8fde90 100644 --- a/common/fdt_simplefb.c +++ b/common/fdt_simplefb.c @@ -82,7 +82,7 @@ int fdt_simplefb_enable_existing_node(void *blob) return fdt_simplefb_configure_node(blob, off); } -#if CONFIG_IS_ENABLED(DM_VIDEO) +#if CONFIG_IS_ENABLED(VIDEO) int fdt_simplefb_enable_and_mem_rsv(void *blob) { struct fdt_memory mem; diff --git a/common/splash.c b/common/splash.c index 8a55dd38472..2e466a8a0f5 100644 --- a/common/splash.c +++ b/common/splash.c @@ -119,7 +119,7 @@ void splash_get_pos(int *x, int *y) } #endif /* CONFIG_SPLASH_SCREEN_ALIGN */ -#if defined(CONFIG_DM_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION) +#if defined(CONFIG_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION) #ifdef CONFIG_VIDEO_LOGO #include @@ -151,7 +151,7 @@ void splash_display_banner(void) vidconsole_put_string(dev, buf); vidconsole_position_cursor(dev, 0, row); } -#endif /* CONFIG_DM_VIDEO && !CONFIG_HIDE_LOGO_VERSION */ +#endif /* CONFIG_VIDEO && !CONFIG_HIDE_LOGO_VERSION */ /* * Common function to show a splash image if env("splashimage") is set. @@ -181,7 +181,7 @@ int splash_display(void) if (x || y) goto end; -#if defined(CONFIG_DM_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION) +#if defined(CONFIG_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION) splash_display_banner(); #endif end: diff --git a/common/stdio.c b/common/stdio.c index 49784e33d25..cbedfdda539 100644 --- a/common/stdio.c +++ b/common/stdio.c @@ -200,7 +200,7 @@ struct stdio_dev *stdio_get_by_name(const char *name) if (strcmp(sdev->name, name) == 0) return sdev; } - if (IS_ENABLED(CONFIG_DM_VIDEO)) { + if (IS_ENABLED(CONFIG_VIDEO)) { /* * We did not find a suitable stdio device. If there is a video * driver with a name starting with 'vidconsole', we can try @@ -340,7 +340,7 @@ int stdio_add_devices(void) #if CONFIG_IS_ENABLED(SYS_I2C_LEGACY) i2c_init_all(); #endif - if (IS_ENABLED(CONFIG_DM_VIDEO)) { + if (IS_ENABLED(CONFIG_VIDEO)) { /* * If the console setting is not in environment variables then * console_init_r() will not be calling iomux_doenv() (which diff --git a/configs/aristainetos2c_defconfig b/configs/aristainetos2c_defconfig index 7c421f5ae99..3f6f579845f 100644 --- a/configs/aristainetos2c_defconfig +++ b/configs/aristainetos2c_defconfig @@ -113,7 +113,7 @@ CONFIG_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_USB=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_DISPLAY=y diff --git a/configs/aristainetos2ccslb_defconfig b/configs/aristainetos2ccslb_defconfig index ed7e8c57ad7..62da1778d56 100644 --- a/configs/aristainetos2ccslb_defconfig +++ b/configs/aristainetos2ccslb_defconfig @@ -113,7 +113,7 @@ CONFIG_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_USB=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_DISPLAY=y diff --git a/configs/at91sam9x5ek_dataflash_defconfig b/configs/at91sam9x5ek_dataflash_defconfig index da2f263a9d3..bfa83803989 100644 --- a/configs/at91sam9x5ek_dataflash_defconfig +++ b/configs/at91sam9x5ek_dataflash_defconfig @@ -71,7 +71,7 @@ CONFIG_ATMEL_PIT_TIMER=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/at91sam9x5ek_mmc_defconfig b/configs/at91sam9x5ek_mmc_defconfig index 017afc2275b..bd0576301b4 100644 --- a/configs/at91sam9x5ek_mmc_defconfig +++ b/configs/at91sam9x5ek_mmc_defconfig @@ -68,7 +68,7 @@ CONFIG_ATMEL_PIT_TIMER=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/at91sam9x5ek_nandflash_defconfig b/configs/at91sam9x5ek_nandflash_defconfig index 84a6024826b..603433ba0f2 100644 --- a/configs/at91sam9x5ek_nandflash_defconfig +++ b/configs/at91sam9x5ek_nandflash_defconfig @@ -70,7 +70,7 @@ CONFIG_ATMEL_PIT_TIMER=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/at91sam9x5ek_spiflash_defconfig b/configs/at91sam9x5ek_spiflash_defconfig index 145a989beda..31f245e03ae 100644 --- a/configs/at91sam9x5ek_spiflash_defconfig +++ b/configs/at91sam9x5ek_spiflash_defconfig @@ -72,7 +72,7 @@ CONFIG_ATMEL_PIT_TIMER=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/bananapi-m5_defconfig b/configs/bananapi-m5_defconfig index 6ab2d8ef0c4..cd85e32f022 100644 --- a/configs/bananapi-m5_defconfig +++ b/configs/bananapi-m5_defconfig @@ -61,7 +61,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/beelink-gsking-x_defconfig b/configs/beelink-gsking-x_defconfig index 2c8c642dcb2..8b760fcee47 100644 --- a/configs/beelink-gsking-x_defconfig +++ b/configs/beelink-gsking-x_defconfig @@ -62,7 +62,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/beelink-gtking_defconfig b/configs/beelink-gtking_defconfig index 9848252e7e9..5f3cbe92c67 100644 --- a/configs/beelink-gtking_defconfig +++ b/configs/beelink-gtking_defconfig @@ -62,7 +62,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/beelink-gtkingpro_defconfig b/configs/beelink-gtkingpro_defconfig index 484e039fe03..59245391661 100644 --- a/configs/beelink-gtkingpro_defconfig +++ b/configs/beelink-gtkingpro_defconfig @@ -62,7 +62,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/chromebit_mickey_defconfig b/configs/chromebit_mickey_defconfig index 657db662650..df94cacaec8 100644 --- a/configs/chromebit_mickey_defconfig +++ b/configs/chromebit_mickey_defconfig @@ -99,7 +99,7 @@ CONFIG_USB=y # CONFIG_SPL_DM_USB is not set CONFIG_USB_DWC2=y CONFIG_ROCKCHIP_USB2_PHY=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/chromebook_bob_defconfig b/configs/chromebook_bob_defconfig index d81129a2d8e..6ebd53eb59d 100644 --- a/configs/chromebook_bob_defconfig +++ b/configs/chromebook_bob_defconfig @@ -110,7 +110,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_VIDEO_ROCKCHIP_MAX_XRES=1280 diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig index 13ffafceec3..27f0ee711d0 100644 --- a/configs/chromebook_jerry_defconfig +++ b/configs/chromebook_jerry_defconfig @@ -106,7 +106,7 @@ CONFIG_USB=y # CONFIG_SPL_DM_USB is not set CONFIG_USB_DWC2=y CONFIG_ROCKCHIP_USB2_PHY=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_CONSOLE_TRUETYPE=y CONFIG_DISPLAY=y diff --git a/configs/chromebook_kevin_defconfig b/configs/chromebook_kevin_defconfig index bafa9fb4def..7de787ed4d3 100644 --- a/configs/chromebook_kevin_defconfig +++ b/configs/chromebook_kevin_defconfig @@ -111,7 +111,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_VIDEO_ROCKCHIP_MAX_XRES=2400 diff --git a/configs/chromebook_minnie_defconfig b/configs/chromebook_minnie_defconfig index d80dd8e56c9..928b2c3c6de 100644 --- a/configs/chromebook_minnie_defconfig +++ b/configs/chromebook_minnie_defconfig @@ -105,7 +105,7 @@ CONFIG_USB=y # CONFIG_SPL_DM_USB is not set CONFIG_USB_DWC2=y CONFIG_ROCKCHIP_USB2_PHY=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/chromebook_speedy_defconfig b/configs/chromebook_speedy_defconfig index 8e0214d21e2..28b8c091cb7 100644 --- a/configs/chromebook_speedy_defconfig +++ b/configs/chromebook_speedy_defconfig @@ -101,7 +101,7 @@ CONFIG_USB=y # CONFIG_SPL_DM_USB is not set CONFIG_USB_DWC2=y CONFIG_ROCKCHIP_USB2_PHY=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_CONSOLE_TRUETYPE=y CONFIG_DISPLAY=y diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig index e323438506f..ed267dd2e3f 100644 --- a/configs/cm_fx6_defconfig +++ b/configs/cm_fx6_defconfig @@ -112,7 +112,7 @@ CONFIG_MXC_SPI=y CONFIG_USB=y CONFIG_USB_KEYBOARD=y CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_VIDEO_IPUV3=y CONFIG_SPLASH_SCREEN=y diff --git a/configs/evb-px30_defconfig b/configs/evb-px30_defconfig index 3ed5c3e38ce..5c621636616 100644 --- a/configs/evb-px30_defconfig +++ b/configs/evb-px30_defconfig @@ -109,7 +109,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y diff --git a/configs/evb-rk3288_defconfig b/configs/evb-rk3288_defconfig index 40e235b1ca7..18384474534 100644 --- a/configs/evb-rk3288_defconfig +++ b/configs/evb-rk3288_defconfig @@ -86,7 +86,7 @@ CONFIG_USB_DWC2=y CONFIG_ROCKCHIP_USB2_PHY=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/evb-rk3399_defconfig b/configs/evb-rk3399_defconfig index b55e0c21e62..504ba2c0d3c 100644 --- a/configs/evb-rk3399_defconfig +++ b/configs/evb-rk3399_defconfig @@ -75,7 +75,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/firefly-px30_defconfig b/configs/firefly-px30_defconfig index eedcd97c0ea..bf6c1c6d7e6 100644 --- a/configs/firefly-px30_defconfig +++ b/configs/firefly-px30_defconfig @@ -108,7 +108,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y diff --git a/configs/firefly-rk3288_defconfig b/configs/firefly-rk3288_defconfig index 1349d6464d1..4312e4f8206 100644 --- a/configs/firefly-rk3288_defconfig +++ b/configs/firefly-rk3288_defconfig @@ -87,7 +87,7 @@ CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/gazerbeam_defconfig b/configs/gazerbeam_defconfig index a432c0515cf..b6698a5bde8 100644 --- a/configs/gazerbeam_defconfig +++ b/configs/gazerbeam_defconfig @@ -218,7 +218,7 @@ CONFIG_MPC83XX_TIMER=y CONFIG_TPM_ATMEL_TWI=y CONFIG_TPM_AUTH_SESSIONS=y # CONFIG_TPM_V2 is not set -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_LOGICORE_DP_TX=y CONFIG_OSD=y diff --git a/configs/ge_b1x5v2_defconfig b/configs/ge_b1x5v2_defconfig index fefd9901e80..3e51a8fdee3 100644 --- a/configs/ge_b1x5v2_defconfig +++ b/configs/ge_b1x5v2_defconfig @@ -131,7 +131,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_IPUV3=y CONFIG_WATCHDOG_TIMEOUT_MSECS=30000 CONFIG_IMX_WATCHDOG=y diff --git a/configs/ge_bx50v3_defconfig b/configs/ge_bx50v3_defconfig index 09a8432d0ba..52d9569d873 100644 --- a/configs/ge_bx50v3_defconfig +++ b/configs/ge_bx50v3_defconfig @@ -93,7 +93,7 @@ CONFIG_DM_SPI=y CONFIG_MXC_SPI=y CONFIG_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/gurnard_defconfig b/configs/gurnard_defconfig index 3b98f339496..aaeaaec506e 100644 --- a/configs/gurnard_defconfig +++ b/configs/gurnard_defconfig @@ -59,7 +59,7 @@ CONFIG_TIMER=y CONFIG_ATMEL_PIT_TIMER=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_LOGO is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_LCD=y diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig index e1df6c76a35..a4486a7ba6b 100644 --- a/configs/gwventana_emmc_defconfig +++ b/configs/gwventana_emmc_defconfig @@ -148,7 +148,7 @@ CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig index 8d1bd9f8a9a..237eaf54c10 100644 --- a/configs/gwventana_gw5904_defconfig +++ b/configs/gwventana_gw5904_defconfig @@ -152,7 +152,7 @@ CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig index c8701aa1e22..14541508e20 100644 --- a/configs/gwventana_nand_defconfig +++ b/configs/gwventana_nand_defconfig @@ -158,7 +158,7 @@ CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig index 0dc0485c6cb..cf1db81e6c1 100644 --- a/configs/harmony_defconfig +++ b/configs/harmony_defconfig @@ -65,7 +65,7 @@ CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDEO_TEGRA20=y CONFIG_CONSOLE_SCROLL_LINES=10 diff --git a/configs/imx6dl_icore_nand_defconfig b/configs/imx6dl_icore_nand_defconfig index 51c4a489e6d..48e8ddb7afd 100644 --- a/configs/imx6dl_icore_nand_defconfig +++ b/configs/imx6dl_icore_nand_defconfig @@ -68,7 +68,7 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/imx6q_icore_nand_defconfig b/configs/imx6q_icore_nand_defconfig index 62533f1ac60..251985228e7 100644 --- a/configs/imx6q_icore_nand_defconfig +++ b/configs/imx6q_icore_nand_defconfig @@ -69,7 +69,7 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig index 0ace5d93713..0ed45160fd8 100644 --- a/configs/imx6qdl_icore_mmc_defconfig +++ b/configs/imx6qdl_icore_mmc_defconfig @@ -91,7 +91,7 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/imx6qdl_icore_nand_defconfig b/configs/imx6qdl_icore_nand_defconfig index 62533f1ac60..251985228e7 100644 --- a/configs/imx6qdl_icore_nand_defconfig +++ b/configs/imx6qdl_icore_nand_defconfig @@ -69,7 +69,7 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/imx7_cm_defconfig b/configs/imx7_cm_defconfig index 4dfb4690595..75718e5b872 100644 --- a/configs/imx7_cm_defconfig +++ b/configs/imx7_cm_defconfig @@ -108,7 +108,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_SPLASH_SCREEN=y CONFIG_SPLASH_SCREEN_ALIGN=y diff --git a/configs/imx8mp_rsb3720a1_4G_defconfig b/configs/imx8mp_rsb3720a1_4G_defconfig index 378489072f3..6f58be8bbcd 100644 --- a/configs/imx8mp_rsb3720a1_4G_defconfig +++ b/configs/imx8mp_rsb3720a1_4G_defconfig @@ -155,7 +155,7 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_PSCI=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_IMX_WATCHDOG=y CONFIG_SHA384=y diff --git a/configs/imx8mp_rsb3720a1_6G_defconfig b/configs/imx8mp_rsb3720a1_6G_defconfig index 469ba34de0c..591fcf27146 100644 --- a/configs/imx8mp_rsb3720a1_6G_defconfig +++ b/configs/imx8mp_rsb3720a1_6G_defconfig @@ -156,7 +156,7 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_PSCI=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_IMX_WATCHDOG=y CONFIG_SHA384=y diff --git a/configs/imxrt1050-evk_defconfig b/configs/imxrt1050-evk_defconfig index 9ab4d766225..c12e04db3dc 100644 --- a/configs/imxrt1050-evk_defconfig +++ b/configs/imxrt1050-evk_defconfig @@ -73,7 +73,7 @@ CONFIG_IMX_GPT_TIMER=y CONFIG_USB=y # CONFIG_SPL_DM_USB is not set CONFIG_USB_EHCI_HCD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/khadas-vim3_android_ab_defconfig b/configs/khadas-vim3_android_ab_defconfig index f3e9f11a8ed..d3a4ab748c4 100644 --- a/configs/khadas-vim3_android_ab_defconfig +++ b/configs/khadas-vim3_android_ab_defconfig @@ -95,7 +95,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/khadas-vim3_android_defconfig b/configs/khadas-vim3_android_defconfig index f076b6e4e56..827e994f1fd 100644 --- a/configs/khadas-vim3_android_defconfig +++ b/configs/khadas-vim3_android_defconfig @@ -93,7 +93,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/khadas-vim3_defconfig b/configs/khadas-vim3_defconfig index 0cf4bac809b..701e70eeb93 100644 --- a/configs/khadas-vim3_defconfig +++ b/configs/khadas-vim3_defconfig @@ -82,7 +82,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/khadas-vim3l_android_ab_defconfig b/configs/khadas-vim3l_android_ab_defconfig index 828ce6dee9d..44ab1ed1b80 100644 --- a/configs/khadas-vim3l_android_ab_defconfig +++ b/configs/khadas-vim3l_android_ab_defconfig @@ -95,7 +95,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/khadas-vim3l_android_defconfig b/configs/khadas-vim3l_android_defconfig index ee1fa5c31f8..30c5dc26040 100644 --- a/configs/khadas-vim3l_android_defconfig +++ b/configs/khadas-vim3l_android_defconfig @@ -93,7 +93,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/khadas-vim3l_defconfig b/configs/khadas-vim3l_defconfig index f1524f562ac..c78dfce5d5a 100644 --- a/configs/khadas-vim3l_defconfig +++ b/configs/khadas-vim3l_defconfig @@ -82,7 +82,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig index f3734c50669..3e30c252bd6 100644 --- a/configs/libretech-ac_defconfig +++ b/configs/libretech-ac_defconfig @@ -76,7 +76,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig index 7bb85289ea2..f5832cd728e 100644 --- a/configs/libretech-cc_defconfig +++ b/configs/libretech-cc_defconfig @@ -59,7 +59,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/libretech-cc_v2_defconfig b/configs/libretech-cc_v2_defconfig index 2181115f07b..42b76a2ac62 100644 --- a/configs/libretech-cc_v2_defconfig +++ b/configs/libretech-cc_v2_defconfig @@ -70,7 +70,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig index 402b8a2cf74..245194ee917 100644 --- a/configs/libretech-s905d-pc_defconfig +++ b/configs/libretech-s905d-pc_defconfig @@ -72,7 +72,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_MESON=y CONFIG_VIDEO_DT_SIMPLEFB=y diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig index 7819e723109..63137eb5686 100644 --- a/configs/libretech-s912-pc_defconfig +++ b/configs/libretech-s912-pc_defconfig @@ -71,7 +71,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_MESON=y CONFIG_VIDEO_DT_SIMPLEFB=y diff --git a/configs/m53menlo_defconfig b/configs/m53menlo_defconfig index f68010b3bc9..4bc70e465d6 100644 --- a/configs/m53menlo_defconfig +++ b/configs/m53menlo_defconfig @@ -115,7 +115,7 @@ CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/marsboard_defconfig b/configs/marsboard_defconfig index ed9c843a909..f0c93d3404e 100644 --- a/configs/marsboard_defconfig +++ b/configs/marsboard_defconfig @@ -57,7 +57,7 @@ CONFIG_IMX_THERMAL=y CONFIG_USB=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/medcom-wide_defconfig b/configs/medcom-wide_defconfig index d51a124ed49..292ab8db354 100644 --- a/configs/medcom-wide_defconfig +++ b/configs/medcom-wide_defconfig @@ -54,6 +54,6 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDEO_TEGRA20=y diff --git a/configs/miqi-rk3288_defconfig b/configs/miqi-rk3288_defconfig index 75675e6095f..9c6de2b81de 100644 --- a/configs/miqi-rk3288_defconfig +++ b/configs/miqi-rk3288_defconfig @@ -84,7 +84,7 @@ CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/mx53cx9020_defconfig b/configs/mx53cx9020_defconfig index 6c3ba9cda74..7bb38937281 100644 --- a/configs/mx53cx9020_defconfig +++ b/configs/mx53cx9020_defconfig @@ -35,7 +35,7 @@ CONFIG_DM_REGULATOR=y CONFIG_MXC_UART=y CONFIG_USB=y CONFIG_USB_EHCI_MX5=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/mx53ppd_defconfig b/configs/mx53ppd_defconfig index 7fadb6c1aff..b54c90e49a2 100644 --- a/configs/mx53ppd_defconfig +++ b/configs/mx53ppd_defconfig @@ -77,7 +77,7 @@ CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_IPUV3=y CONFIG_WATCHDOG_TIMEOUT_MSECS=8000 diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig index 9de5e77c75a..8bb7a56759e 100644 --- a/configs/mx6cuboxi_defconfig +++ b/configs/mx6cuboxi_defconfig @@ -73,7 +73,7 @@ CONFIG_DM_THERMAL=y CONFIG_IMX_THERMAL=y CONFIG_USB=y CONFIG_USB_KEYBOARD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig index a440bf4dd48..e58f4b56714 100644 --- a/configs/mx6qsabrelite_defconfig +++ b/configs/mx6qsabrelite_defconfig @@ -85,7 +85,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y diff --git a/configs/mx6sabreauto_defconfig b/configs/mx6sabreauto_defconfig index 093bb85c201..cb6a17be511 100644 --- a/configs/mx6sabreauto_defconfig +++ b/configs/mx6sabreauto_defconfig @@ -112,7 +112,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig index 5db81821424..f7ef8ed8cd8 100644 --- a/configs/mx6sabresd_defconfig +++ b/configs/mx6sabresd_defconfig @@ -117,7 +117,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig index b87973fa0b9..55ee1aa894c 100644 --- a/configs/mx6ul_14x14_evk_defconfig +++ b/configs/mx6ul_14x14_evk_defconfig @@ -99,7 +99,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_MXS=y diff --git a/configs/mx6ul_9x9_evk_defconfig b/configs/mx6ul_9x9_evk_defconfig index 8062095dd47..3a90b09f9b5 100644 --- a/configs/mx6ul_9x9_evk_defconfig +++ b/configs/mx6ul_9x9_evk_defconfig @@ -88,7 +88,7 @@ CONFIG_SOFT_SPI=y CONFIG_IMX_THERMAL=y CONFIG_USB=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_MXS=y diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig index 951fd0cd11e..c125663ba37 100644 --- a/configs/nanopc-t4-rk3399_defconfig +++ b/configs/nanopc-t4-rk3399_defconfig @@ -70,7 +70,7 @@ CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-m4-2gb-rk3399_defconfig b/configs/nanopi-m4-2gb-rk3399_defconfig index 7d0e1f2364f..aa7e379892b 100644 --- a/configs/nanopi-m4-2gb-rk3399_defconfig +++ b/configs/nanopi-m4-2gb-rk3399_defconfig @@ -64,7 +64,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-m4-rk3399_defconfig b/configs/nanopi-m4-rk3399_defconfig index 379ec879685..32f63902568 100644 --- a/configs/nanopi-m4-rk3399_defconfig +++ b/configs/nanopi-m4-rk3399_defconfig @@ -64,7 +64,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-m4b-rk3399_defconfig b/configs/nanopi-m4b-rk3399_defconfig index 06cefc5e36e..497385ff2af 100644 --- a/configs/nanopi-m4b-rk3399_defconfig +++ b/configs/nanopi-m4b-rk3399_defconfig @@ -64,7 +64,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-neo4-rk3399_defconfig b/configs/nanopi-neo4-rk3399_defconfig index 4bfbeb10df9..f47928d6f3c 100644 --- a/configs/nanopi-neo4-rk3399_defconfig +++ b/configs/nanopi-neo4-rk3399_defconfig @@ -64,7 +64,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig index d8854abbb17..7cb1dc13d61 100644 --- a/configs/nanopi-r4s-rk3399_defconfig +++ b/configs/nanopi-r4s-rk3399_defconfig @@ -65,7 +65,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/nitrogen6dl2g_defconfig b/configs/nitrogen6dl2g_defconfig index 3d7027de141..d1f7ec39d4c 100644 --- a/configs/nitrogen6dl2g_defconfig +++ b/configs/nitrogen6dl2g_defconfig @@ -90,7 +90,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig index dd1f0584a70..ef1ffad2d27 100644 --- a/configs/nitrogen6dl_defconfig +++ b/configs/nitrogen6dl_defconfig @@ -90,7 +90,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig index 89a2fb72eb1..2c3df8b1b87 100644 --- a/configs/nitrogen6q2g_defconfig +++ b/configs/nitrogen6q2g_defconfig @@ -93,7 +93,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig index 176e4fb800f..fa394cfa703 100644 --- a/configs/nitrogen6q_defconfig +++ b/configs/nitrogen6q_defconfig @@ -93,7 +93,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y diff --git a/configs/nitrogen6s1g_defconfig b/configs/nitrogen6s1g_defconfig index 6522a103f6c..cf48f310920 100644 --- a/configs/nitrogen6s1g_defconfig +++ b/configs/nitrogen6s1g_defconfig @@ -90,7 +90,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig index dc2a8183b83..15e64ad0805 100644 --- a/configs/nitrogen6s_defconfig +++ b/configs/nitrogen6s_defconfig @@ -90,7 +90,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_I2C_EDID=y CONFIG_VIDEO_IPUV3=y diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig index d24a8e7c1fa..8e55069950f 100644 --- a/configs/nokia_rx51_defconfig +++ b/configs/nokia_rx51_defconfig @@ -65,7 +65,7 @@ CONFIG_SPI=y CONFIG_USB=y CONFIG_USB_MUSB_UDC=y CONFIG_USB_OMAP3=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig index 6607edde8db..e55da6ed215 100644 --- a/configs/nyan-big_defconfig +++ b/configs/nyan-big_defconfig @@ -98,7 +98,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0955 CONFIG_USB_GADGET_PRODUCT_NUM=0x701a CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_DISPLAY=y diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig index 024a2e27d6c..335a4a3a15e 100644 --- a/configs/odroid-c2_defconfig +++ b/configs/odroid-c2_defconfig @@ -54,7 +54,7 @@ CONFIG_SYSINFO_SMBIOS=y CONFIG_USB=y CONFIG_USB_DWC2=y CONFIG_USB_KEYBOARD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/odroid-c4_defconfig b/configs/odroid-c4_defconfig index d244e71866e..9389e34f407 100644 --- a/configs/odroid-c4_defconfig +++ b/configs/odroid-c4_defconfig @@ -62,7 +62,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig index 8222933bf80..f4aa53a210b 100644 --- a/configs/odroid-go2_defconfig +++ b/configs/odroid-go2_defconfig @@ -112,7 +112,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y diff --git a/configs/odroid-hc4_defconfig b/configs/odroid-hc4_defconfig index fe70d5f12a1..b525358af37 100644 --- a/configs/odroid-hc4_defconfig +++ b/configs/odroid-hc4_defconfig @@ -80,7 +80,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/odroid-n2_defconfig b/configs/odroid-n2_defconfig index 3703d7e17ce..fb91a5b76e8 100644 --- a/configs/odroid-n2_defconfig +++ b/configs/odroid-n2_defconfig @@ -62,7 +62,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/opos6uldev_defconfig b/configs/opos6uldev_defconfig index e508b63b769..1c9579b0dd9 100644 --- a/configs/opos6uldev_defconfig +++ b/configs/opos6uldev_defconfig @@ -107,7 +107,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig index bb115221f6c..4cd53cd1532 100644 --- a/configs/paz00_defconfig +++ b/configs/paz00_defconfig @@ -49,7 +49,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDEO_TEGRA20=y CONFIG_CONSOLE_SCROLL_LINES=10 diff --git a/configs/peach-pi_defconfig b/configs/peach-pi_defconfig index aa8f85feffb..512a5390b28 100644 --- a/configs/peach-pi_defconfig +++ b/configs/peach-pi_defconfig @@ -80,7 +80,7 @@ CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_HOST_ETHER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDCONSOLE_AS_LCD=y CONFIG_DISPLAY=y diff --git a/configs/peach-pit_defconfig b/configs/peach-pit_defconfig index 362cc0ab0ff..8b40caf13e9 100644 --- a/configs/peach-pit_defconfig +++ b/configs/peach-pit_defconfig @@ -79,7 +79,7 @@ CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_HOST_ETHER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDCONSOLE_AS_LCD=y CONFIG_DISPLAY=y diff --git a/configs/pico-dwarf-imx7d_defconfig b/configs/pico-dwarf-imx7d_defconfig index 57a54fd3538..e0148f0d7ba 100644 --- a/configs/pico-dwarf-imx7d_defconfig +++ b/configs/pico-dwarf-imx7d_defconfig @@ -92,7 +92,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_SPLASH_SCREEN=y diff --git a/configs/pico-hobbit-imx7d_defconfig b/configs/pico-hobbit-imx7d_defconfig index 61ceb890201..97d9895c7c1 100644 --- a/configs/pico-hobbit-imx7d_defconfig +++ b/configs/pico-hobbit-imx7d_defconfig @@ -92,7 +92,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_SPLASH_SCREEN=y diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig index ef724618ed9..63fdca312c2 100644 --- a/configs/pico-imx6_defconfig +++ b/configs/pico-imx6_defconfig @@ -88,7 +88,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig index 7384b9b6eac..cd139595d4e 100644 --- a/configs/pico-imx6ul_defconfig +++ b/configs/pico-imx6ul_defconfig @@ -83,7 +83,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_VIDEO_MXS=y CONFIG_SPLASH_SCREEN=y diff --git a/configs/pico-imx7d_bl33_defconfig b/configs/pico-imx7d_bl33_defconfig index 49a8051d46a..a94f03e7e25 100644 --- a/configs/pico-imx7d_bl33_defconfig +++ b/configs/pico-imx7d_bl33_defconfig @@ -90,7 +90,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_MXS=y diff --git a/configs/pico-imx7d_defconfig b/configs/pico-imx7d_defconfig index 62658bfa4f2..a694d86ac04 100644 --- a/configs/pico-imx7d_defconfig +++ b/configs/pico-imx7d_defconfig @@ -92,7 +92,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_MXS=y diff --git a/configs/pico-nymph-imx7d_defconfig b/configs/pico-nymph-imx7d_defconfig index 57a54fd3538..e0148f0d7ba 100644 --- a/configs/pico-nymph-imx7d_defconfig +++ b/configs/pico-nymph-imx7d_defconfig @@ -92,7 +92,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_SPLASH_SCREEN=y diff --git a/configs/pico-pi-imx7d_defconfig b/configs/pico-pi-imx7d_defconfig index 4853ab3527b..f8509e221b9 100644 --- a/configs/pico-pi-imx7d_defconfig +++ b/configs/pico-pi-imx7d_defconfig @@ -92,7 +92,7 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_SPLASH_SCREEN=y diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig index 5d9a8418998..6971d6baccb 100644 --- a/configs/pinebook-pro-rk3399_defconfig +++ b/configs/pinebook-pro-rk3399_defconfig @@ -97,7 +97,7 @@ CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_RTL8152=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_EDP=y diff --git a/configs/pm9261_defconfig b/configs/pm9261_defconfig index 5a5d0ca81c1..d82d92aee48 100644 --- a/configs/pm9261_defconfig +++ b/configs/pm9261_defconfig @@ -63,7 +63,7 @@ CONFIG_USB=y CONFIG_SYS_USB_OHCI_SLOT_NAME="at91sam9261" CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2 CONFIG_USB_ATMEL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y diff --git a/configs/pm9263_defconfig b/configs/pm9263_defconfig index 812128e2ee2..637c2b65d49 100644 --- a/configs/pm9263_defconfig +++ b/configs/pm9263_defconfig @@ -66,7 +66,7 @@ CONFIG_USB=y CONFIG_SYS_USB_OHCI_SLOT_NAME="at91sam9263" CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2 CONFIG_USB_ATMEL=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_LCD=y CONFIG_ATMEL_LCD_BGR555=y diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig index 34186d1caa6..c64c6b8ca3d 100644 --- a/configs/puma-rk3399_defconfig +++ b/configs/puma-rk3399_defconfig @@ -107,7 +107,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/px30-core-ctouch2-of10-px30_defconfig b/configs/px30-core-ctouch2-of10-px30_defconfig index 33d502b5f6c..65efd03c678 100644 --- a/configs/px30-core-ctouch2-of10-px30_defconfig +++ b/configs/px30-core-ctouch2-of10-px30_defconfig @@ -108,7 +108,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y diff --git a/configs/px30-core-ctouch2-px30_defconfig b/configs/px30-core-ctouch2-px30_defconfig index 59391647c92..c7e66d36832 100644 --- a/configs/px30-core-ctouch2-px30_defconfig +++ b/configs/px30-core-ctouch2-px30_defconfig @@ -108,7 +108,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y diff --git a/configs/px30-core-edimm2.2-px30_defconfig b/configs/px30-core-edimm2.2-px30_defconfig index dd8cc5f6e6f..9ec4320e14f 100644 --- a/configs/px30-core-edimm2.2-px30_defconfig +++ b/configs/px30-core-edimm2.2-px30_defconfig @@ -108,7 +108,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_SPL_TINY_MEMSET=y CONFIG_TPL_TINY_MEMSET=y diff --git a/configs/radxa-zero_defconfig b/configs/radxa-zero_defconfig index d3744f48a31..1c84cfc5f70 100644 --- a/configs/radxa-zero_defconfig +++ b/configs/radxa-zero_defconfig @@ -57,7 +57,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig index bd17c02b24a..8ed96c2aca1 100644 --- a/configs/riotboard_defconfig +++ b/configs/riotboard_defconfig @@ -73,7 +73,7 @@ CONFIG_IMX_THERMAL=y CONFIG_USB=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/roc-pc-mezzanine-rk3399_defconfig b/configs/roc-pc-mezzanine-rk3399_defconfig index be1f9db43e8..c8e57f60ddd 100644 --- a/configs/roc-pc-mezzanine-rk3399_defconfig +++ b/configs/roc-pc-mezzanine-rk3399_defconfig @@ -88,7 +88,7 @@ CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig index 4625e47537c..ed37c687c44 100644 --- a/configs/roc-pc-rk3399_defconfig +++ b/configs/roc-pc-rk3399_defconfig @@ -85,7 +85,7 @@ CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/rock-pi-4-rk3399_defconfig b/configs/rock-pi-4-rk3399_defconfig index f8a57f68381..a6a5292ca83 100644 --- a/configs/rock-pi-4-rk3399_defconfig +++ b/configs/rock-pi-4-rk3399_defconfig @@ -78,7 +78,7 @@ CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/rock-pi-4c-rk3399_defconfig b/configs/rock-pi-4c-rk3399_defconfig index 9aa7809bd09..411a5fd26e8 100644 --- a/configs/rock-pi-4c-rk3399_defconfig +++ b/configs/rock-pi-4c-rk3399_defconfig @@ -78,7 +78,7 @@ CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/rock-pi-n10-rk3399pro_defconfig b/configs/rock-pi-n10-rk3399pro_defconfig index ed77ac2d1da..40b4d7d42a4 100644 --- a/configs/rock-pi-n10-rk3399pro_defconfig +++ b/configs/rock-pi-n10-rk3399pro_defconfig @@ -74,7 +74,7 @@ CONFIG_USB_DWC3_GENERIC=y CONFIG_USB_KEYBOARD=y # CONFIG_USB_KEYBOARD_FN_KEYS is not set CONFIG_USB_GADGET=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/rock-pi-n8-rk3288_defconfig b/configs/rock-pi-n8-rk3288_defconfig index 6227ad39c13..bd2fb5d83ab 100644 --- a/configs/rock-pi-n8-rk3288_defconfig +++ b/configs/rock-pi-n8-rk3288_defconfig @@ -83,7 +83,7 @@ CONFIG_USB_KEYBOARD=y # CONFIG_USB_KEYBOARD_FN_KEYS is not set CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/rock2_defconfig b/configs/rock2_defconfig index d639ed23385..3f06446c17f 100644 --- a/configs/rock2_defconfig +++ b/configs/rock2_defconfig @@ -83,7 +83,7 @@ CONFIG_ROCKCHIP_USB2_PHY=y CONFIG_USB_KEYBOARD=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig index daa0d3ddf5d..9e7d8465719 100644 --- a/configs/rock960-rk3399_defconfig +++ b/configs/rock960-rk3399_defconfig @@ -82,7 +82,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig index 87fe8c40463..309efa770e3 100644 --- a/configs/rockpro64-rk3399_defconfig +++ b/configs/rockpro64-rk3399_defconfig @@ -98,7 +98,7 @@ CONFIG_USB_ETHER_ASIX88179=y CONFIG_USB_ETHER_MCS7830=y CONFIG_USB_ETHER_RTL8152=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig index 0bac245df3e..67664516f4f 100644 --- a/configs/rpi_0_w_defconfig +++ b/configs/rpi_0_w_defconfig @@ -41,7 +41,7 @@ CONFIG_USB_DWC2=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig index 700a15267ca..498acc323a8 100644 --- a/configs/rpi_2_defconfig +++ b/configs/rpi_2_defconfig @@ -42,7 +42,7 @@ CONFIG_USB_DWC2=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig index 06aefc4d434..0ffb466a69a 100644 --- a/configs/rpi_3_32b_defconfig +++ b/configs/rpi_3_32b_defconfig @@ -43,7 +43,7 @@ CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_LAN78XX=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig index 05b3bac8f56..e112fca0f29 100644 --- a/configs/rpi_3_b_plus_defconfig +++ b/configs/rpi_3_b_plus_defconfig @@ -42,7 +42,7 @@ CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_LAN78XX=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig index c9ecc6e4d1e..94f5d034b00 100644 --- a/configs/rpi_3_defconfig +++ b/configs/rpi_3_defconfig @@ -42,7 +42,7 @@ CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_LAN78XX=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig index e9c18f6b274..8c03252e596 100644 --- a/configs/rpi_4_32b_defconfig +++ b/configs/rpi_4_32b_defconfig @@ -57,7 +57,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig index 1163750558e..46104c9292e 100644 --- a/configs/rpi_4_defconfig +++ b/configs/rpi_4_defconfig @@ -57,7 +57,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig index 364a1532df2..433ec8b23b2 100644 --- a/configs/rpi_arm64_defconfig +++ b/configs/rpi_arm64_defconfig @@ -49,7 +49,7 @@ CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_LAN78XX=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig index 7a0540ac9d5..1e11f378881 100644 --- a/configs/rpi_defconfig +++ b/configs/rpi_defconfig @@ -41,7 +41,7 @@ CONFIG_USB_DWC2=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/s5p4418_nanopi2_defconfig b/configs/s5p4418_nanopi2_defconfig index f3a316513c5..ce46f847e09 100644 --- a/configs/s5p4418_nanopi2_defconfig +++ b/configs/s5p4418_nanopi2_defconfig @@ -55,7 +55,7 @@ CONFIG_PINCTRL=y CONFIG_DM_PMIC=y CONFIG_DM_REGULATOR=y CONFIG_CONS_INDEX=0 -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y CONFIG_DISPLAY=y CONFIG_VIDEO_NX=y diff --git a/configs/sama5d27_som1_ek_mmc1_defconfig b/configs/sama5d27_som1_ek_mmc1_defconfig index 8b99f215fb1..c9b52239fc0 100644 --- a/configs/sama5d27_som1_ek_mmc1_defconfig +++ b/configs/sama5d27_som1_ek_mmc1_defconfig @@ -110,7 +110,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d27_som1_ek_mmc_defconfig b/configs/sama5d27_som1_ek_mmc_defconfig index 55a26b5a2f9..8e5907c4dbc 100644 --- a/configs/sama5d27_som1_ek_mmc_defconfig +++ b/configs/sama5d27_som1_ek_mmc_defconfig @@ -110,7 +110,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d27_som1_ek_qspiflash_defconfig b/configs/sama5d27_som1_ek_qspiflash_defconfig index f86a9cca574..8684f08d497 100644 --- a/configs/sama5d27_som1_ek_qspiflash_defconfig +++ b/configs/sama5d27_som1_ek_qspiflash_defconfig @@ -109,7 +109,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d27_wlsom1_ek_mmc_defconfig b/configs/sama5d27_wlsom1_ek_mmc_defconfig index 3bb3cf43a95..47dc1d99bd0 100644 --- a/configs/sama5d27_wlsom1_ek_mmc_defconfig +++ b/configs/sama5d27_wlsom1_ek_mmc_defconfig @@ -115,7 +115,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d27_wlsom1_ek_qspiflash_defconfig b/configs/sama5d27_wlsom1_ek_qspiflash_defconfig index d2bb74811ab..bc03fec3fe5 100644 --- a/configs/sama5d27_wlsom1_ek_qspiflash_defconfig +++ b/configs/sama5d27_wlsom1_ek_qspiflash_defconfig @@ -119,7 +119,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d2_xplained_emmc_defconfig b/configs/sama5d2_xplained_emmc_defconfig index b27379c8f70..20b3124af54 100644 --- a/configs/sama5d2_xplained_emmc_defconfig +++ b/configs/sama5d2_xplained_emmc_defconfig @@ -109,7 +109,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d2_xplained_mmc_defconfig b/configs/sama5d2_xplained_mmc_defconfig index f63156d909c..f39c084ca22 100644 --- a/configs/sama5d2_xplained_mmc_defconfig +++ b/configs/sama5d2_xplained_mmc_defconfig @@ -111,7 +111,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d2_xplained_qspiflash_defconfig b/configs/sama5d2_xplained_qspiflash_defconfig index 9526465bf90..993470e60f1 100644 --- a/configs/sama5d2_xplained_qspiflash_defconfig +++ b/configs/sama5d2_xplained_qspiflash_defconfig @@ -111,7 +111,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig index fabd4ecea7c..639cf0da7d4 100644 --- a/configs/sama5d2_xplained_spiflash_defconfig +++ b/configs/sama5d2_xplained_spiflash_defconfig @@ -115,7 +115,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d36ek_cmp_mmc_defconfig b/configs/sama5d36ek_cmp_mmc_defconfig index b3e6b539038..7b8efdcce8c 100644 --- a/configs/sama5d36ek_cmp_mmc_defconfig +++ b/configs/sama5d36ek_cmp_mmc_defconfig @@ -70,7 +70,7 @@ CONFIG_SYSRESET=y CONFIG_SYSRESET_AT91=y CONFIG_TIMER=y CONFIG_ATMEL_PIT_TIMER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d36ek_cmp_nandflash_defconfig b/configs/sama5d36ek_cmp_nandflash_defconfig index a9632a198fb..81acb4efa0b 100644 --- a/configs/sama5d36ek_cmp_nandflash_defconfig +++ b/configs/sama5d36ek_cmp_nandflash_defconfig @@ -70,7 +70,7 @@ CONFIG_SYSRESET=y CONFIG_SYSRESET_AT91=y CONFIG_TIMER=y CONFIG_ATMEL_PIT_TIMER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d36ek_cmp_spiflash_defconfig b/configs/sama5d36ek_cmp_spiflash_defconfig index 5f5caf932a4..f328d596391 100644 --- a/configs/sama5d36ek_cmp_spiflash_defconfig +++ b/configs/sama5d36ek_cmp_spiflash_defconfig @@ -72,7 +72,7 @@ CONFIG_SYSRESET=y CONFIG_SYSRESET_AT91=y CONFIG_TIMER=y CONFIG_ATMEL_PIT_TIMER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d3xek_mmc_defconfig b/configs/sama5d3xek_mmc_defconfig index fce358c6c33..74cacf51c66 100644 --- a/configs/sama5d3xek_mmc_defconfig +++ b/configs/sama5d3xek_mmc_defconfig @@ -114,5 +114,5 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d3xek_nandflash_defconfig b/configs/sama5d3xek_nandflash_defconfig index 9a4c1d846d5..01b92cef724 100644 --- a/configs/sama5d3xek_nandflash_defconfig +++ b/configs/sama5d3xek_nandflash_defconfig @@ -116,5 +116,5 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d3xek_spiflash_defconfig b/configs/sama5d3xek_spiflash_defconfig index 9595c06b79c..28345c3ad6d 100644 --- a/configs/sama5d3xek_spiflash_defconfig +++ b/configs/sama5d3xek_spiflash_defconfig @@ -115,5 +115,5 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d4_xplained_mmc_defconfig b/configs/sama5d4_xplained_mmc_defconfig index 0cbdfb9939d..3e89b202b03 100644 --- a/configs/sama5d4_xplained_mmc_defconfig +++ b/configs/sama5d4_xplained_mmc_defconfig @@ -106,7 +106,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d4_xplained_nandflash_defconfig b/configs/sama5d4_xplained_nandflash_defconfig index 2e0e06c5f2d..ee209a5d93c 100644 --- a/configs/sama5d4_xplained_nandflash_defconfig +++ b/configs/sama5d4_xplained_nandflash_defconfig @@ -110,7 +110,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d4_xplained_spiflash_defconfig b/configs/sama5d4_xplained_spiflash_defconfig index 3c2c9d69d71..6039b9eba36 100644 --- a/configs/sama5d4_xplained_spiflash_defconfig +++ b/configs/sama5d4_xplained_spiflash_defconfig @@ -112,7 +112,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d4ek_mmc_defconfig b/configs/sama5d4ek_mmc_defconfig index 23336c56547..3fb3afe6e13 100644 --- a/configs/sama5d4ek_mmc_defconfig +++ b/configs/sama5d4ek_mmc_defconfig @@ -104,7 +104,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d4ek_nandflash_defconfig b/configs/sama5d4ek_nandflash_defconfig index 0b4a2c6baad..0410c12e725 100644 --- a/configs/sama5d4ek_nandflash_defconfig +++ b/configs/sama5d4ek_nandflash_defconfig @@ -108,7 +108,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sama5d4ek_spiflash_defconfig b/configs/sama5d4ek_spiflash_defconfig index cca6c471c7b..8ff511ebc24 100644 --- a/configs/sama5d4ek_spiflash_defconfig +++ b/configs/sama5d4ek_spiflash_defconfig @@ -107,7 +107,7 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_ATMEL_USBA=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_ATMEL_HLCD=y diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index 04756729682..625a1aac238 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -226,7 +226,7 @@ CONFIG_SANDBOX_TIMER=y CONFIG_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 50d87d33af4..42f6e274537 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -294,7 +294,7 @@ CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_COPY=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig index 9d8da25648d..e18f9a04d2b 100644 --- a/configs/sandbox_flattree_defconfig +++ b/configs/sandbox_flattree_defconfig @@ -194,7 +194,7 @@ CONFIG_SANDBOX_TIMER=y CONFIG_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/sandbox_noinst_defconfig b/configs/sandbox_noinst_defconfig index 8e69f084ed7..ef3e28989a4 100644 --- a/configs/sandbox_noinst_defconfig +++ b/configs/sandbox_noinst_defconfig @@ -221,7 +221,7 @@ CONFIG_SANDBOX_TIMER=y CONFIG_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig index af5092b5ca9..3dc041e6616 100644 --- a/configs/sandbox_spl_defconfig +++ b/configs/sandbox_spl_defconfig @@ -224,7 +224,7 @@ CONFIG_SANDBOX_TIMER=y CONFIG_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/sandbox_vpl_defconfig b/configs/sandbox_vpl_defconfig index c31adbbcf73..8128f6eaaf6 100644 --- a/configs/sandbox_vpl_defconfig +++ b/configs/sandbox_vpl_defconfig @@ -231,7 +231,7 @@ CONFIG_SANDBOX_TIMER=y CONFIG_USB=y CONFIG_USB_EMUL=y CONFIG_USB_KEYBOARD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig index e3895f520e7..2b96ec54be2 100644 --- a/configs/seaboard_defconfig +++ b/configs/seaboard_defconfig @@ -60,7 +60,7 @@ CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDEO_TEGRA20=y CONFIG_CONSOLE_SCROLL_LINES=10 diff --git a/configs/sei510_defconfig b/configs/sei510_defconfig index b26e065a3da..59036ccc29b 100644 --- a/configs/sei510_defconfig +++ b/configs/sei510_defconfig @@ -80,7 +80,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x18d1 CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/sei610_defconfig b/configs/sei610_defconfig index 2302c9eeef0..09d3cfb4e82 100644 --- a/configs/sei610_defconfig +++ b/configs/sei610_defconfig @@ -80,7 +80,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x18d1 CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/snow_defconfig b/configs/snow_defconfig index 5b63529db2e..9c2292a6947 100644 --- a/configs/snow_defconfig +++ b/configs/snow_defconfig @@ -90,7 +90,7 @@ CONFIG_USB_XHCI_DWC3=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX88179=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDCONSOLE_AS_LCD=y CONFIG_DISPLAY=y diff --git a/configs/spring_defconfig b/configs/spring_defconfig index 693ee54fdc5..0cc0556e6ed 100644 --- a/configs/spring_defconfig +++ b/configs/spring_defconfig @@ -91,7 +91,7 @@ CONFIG_USB_XHCI_DWC3=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX88179=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDCONSOLE_AS_LCD=y CONFIG_DISPLAY=y diff --git a/configs/starqltechn_defconfig b/configs/starqltechn_defconfig index 4f84f5f974d..7955076d613 100644 --- a/configs/starqltechn_defconfig +++ b/configs/starqltechn_defconfig @@ -29,7 +29,7 @@ CONFIG_DM_PMIC=y CONFIG_PMIC_QCOM=y # CONFIG_REQUIRE_SERIAL_CONSOLE is not set CONFIG_SPMI_MSM=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_SIMPLE=y CONFIG_VIDEO_DT_SIMPLEFB=y diff --git a/configs/stemmy_defconfig b/configs/stemmy_defconfig index f1d3ef5b123..90f2970def8 100644 --- a/configs/stemmy_defconfig +++ b/configs/stemmy_defconfig @@ -40,7 +40,7 @@ CONFIG_USB_MUSB_GADGET=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_VENDOR_NUM=0x04e8 CONFIG_USB_GADGET_PRODUCT_NUM=0x685d -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_VIDEO_MCDE_SIMPLE=y # CONFIG_EFI_LOADER is not set diff --git a/configs/stm32746g-eval_defconfig b/configs/stm32746g-eval_defconfig index 7200446d287..50d721fb5c3 100644 --- a/configs/stm32746g-eval_defconfig +++ b/configs/stm32746g-eval_defconfig @@ -53,7 +53,7 @@ CONFIG_MII=y CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_STM32_QSPI=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_STM32=y CONFIG_VIDEO_STM32_MAX_XRES=480 diff --git a/configs/stm32746g-eval_spl_defconfig b/configs/stm32746g-eval_spl_defconfig index ff42952a762..498b478addf 100644 --- a/configs/stm32746g-eval_spl_defconfig +++ b/configs/stm32746g-eval_spl_defconfig @@ -79,7 +79,7 @@ CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_STM32_QSPI=y CONFIG_SPL_TIMER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_STM32=y CONFIG_VIDEO_STM32_MAX_XRES=480 diff --git a/configs/stm32f746-disco_defconfig b/configs/stm32f746-disco_defconfig index a8edf11b400..dfbc766807f 100644 --- a/configs/stm32f746-disco_defconfig +++ b/configs/stm32f746-disco_defconfig @@ -53,7 +53,7 @@ CONFIG_MII=y CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_STM32_QSPI=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_STM32=y CONFIG_VIDEO_STM32_MAX_XRES=480 diff --git a/configs/stm32f746-disco_spl_defconfig b/configs/stm32f746-disco_spl_defconfig index 0e358e86ff5..e9b0f82b1a8 100644 --- a/configs/stm32f746-disco_spl_defconfig +++ b/configs/stm32f746-disco_spl_defconfig @@ -79,7 +79,7 @@ CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_STM32_QSPI=y CONFIG_SPL_TIMER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_STM32=y CONFIG_VIDEO_STM32_MAX_XRES=480 diff --git a/configs/stm32f769-disco_defconfig b/configs/stm32f769-disco_defconfig index 3e7b5bd06ed..122f2ad1355 100644 --- a/configs/stm32f769-disco_defconfig +++ b/configs/stm32f769-disco_defconfig @@ -53,7 +53,7 @@ CONFIG_DM_REGULATOR=y CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_STM32_QSPI=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y CONFIG_VIDEO_STM32=y diff --git a/configs/stm32f769-disco_spl_defconfig b/configs/stm32f769-disco_spl_defconfig index f0a1b667b89..ccec43daeae 100644 --- a/configs/stm32f769-disco_spl_defconfig +++ b/configs/stm32f769-disco_spl_defconfig @@ -79,7 +79,7 @@ CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_STM32_QSPI=y CONFIG_SPL_TIMER=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y CONFIG_VIDEO_STM32=y diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig index 33680dc25e9..86ebbef0a6c 100644 --- a/configs/stm32mp15_basic_defconfig +++ b/configs/stm32mp15_basic_defconfig @@ -169,7 +169,7 @@ CONFIG_USB_GADGET_MANUFACTURER="STMicroelectronics" CONFIG_USB_GADGET_VENDOR_NUM=0x0483 CONFIG_USB_GADGET_PRODUCT_NUM=0x5720 CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y diff --git a/configs/stm32mp15_defconfig b/configs/stm32mp15_defconfig index ec8fb37110e..caa79e68834 100644 --- a/configs/stm32mp15_defconfig +++ b/configs/stm32mp15_defconfig @@ -145,7 +145,7 @@ CONFIG_USB_GADGET_MANUFACTURER="STMicroelectronics" CONFIG_USB_GADGET_VENDOR_NUM=0x0483 CONFIG_USB_GADGET_PRODUCT_NUM=0x5720 CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig index 9cfa9a20f36..3309c2e7924 100644 --- a/configs/stm32mp15_trusted_defconfig +++ b/configs/stm32mp15_trusted_defconfig @@ -145,7 +145,7 @@ CONFIG_USB_GADGET_MANUFACTURER="STMicroelectronics" CONFIG_USB_GADGET_VENDOR_NUM=0x0483 CONFIG_USB_GADGET_PRODUCT_NUM=0x5720 CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_BACKLIGHT_GPIO=y CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig index 9a6751bb1aa..8c4cfe5fad1 100644 --- a/configs/tbs2910_defconfig +++ b/configs/tbs2910_defconfig @@ -102,7 +102,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_LOGO is not set # CONFIG_BACKLIGHT is not set # CONFIG_CMD_VIDCONSOLE is not set diff --git a/configs/tec_defconfig b/configs/tec_defconfig index 99d34901d70..13bc7a9e784 100644 --- a/configs/tec_defconfig +++ b/configs/tec_defconfig @@ -54,6 +54,6 @@ CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_TEGRA=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_SMSC95XX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDEO_TEGRA20=y diff --git a/configs/theadorable_debug_defconfig b/configs/theadorable_debug_defconfig index 3d84bf9d57a..d5f4f77fff9 100644 --- a/configs/theadorable_debug_defconfig +++ b/configs/theadorable_debug_defconfig @@ -92,7 +92,7 @@ CONFIG_KIRKWOOD_SPI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set CONFIG_VIDEO_MVEBU=y diff --git a/configs/tinker-rk3288_defconfig b/configs/tinker-rk3288_defconfig index 27ff352fba3..ccd97386aa6 100644 --- a/configs/tinker-rk3288_defconfig +++ b/configs/tinker-rk3288_defconfig @@ -92,7 +92,7 @@ CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_DISPLAY_ROCKCHIP_HDMI=y diff --git a/configs/tinker-s-rk3288_defconfig b/configs/tinker-s-rk3288_defconfig index 28ae79bc015..4ea36be6430 100644 --- a/configs/tinker-s-rk3288_defconfig +++ b/configs/tinker-s-rk3288_defconfig @@ -92,7 +92,7 @@ CONFIG_USB_ETHER_ASIX=y CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig index aac59831ea5..123002097c5 100644 --- a/configs/ventana_defconfig +++ b/configs/ventana_defconfig @@ -52,7 +52,7 @@ CONFIG_USB_ULPI=y CONFIG_USB_KEYBOARD=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_VIDEO_TEGRA20=y CONFIG_CONSOLE_SCROLL_LINES=10 diff --git a/configs/vyasa-rk3288_defconfig b/configs/vyasa-rk3288_defconfig index 4b5b1db0ff0..8c9d68bc675 100644 --- a/configs/vyasa-rk3288_defconfig +++ b/configs/vyasa-rk3288_defconfig @@ -93,7 +93,7 @@ CONFIG_USB_ETHER_SMSC95XX=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_FUNCTION_MASS_STORAGE=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index 6b49b40fb7e..cbf5a5d81c7 100644 --- a/configs/wandboard_defconfig +++ b/configs/wandboard_defconfig @@ -75,7 +75,7 @@ CONFIG_DM_SCSI=y CONFIG_MXC_UART=y CONFIG_DM_THERMAL=y CONFIG_USB=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_LOGO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP32 is not set diff --git a/configs/wetek-core2_defconfig b/configs/wetek-core2_defconfig index a1322d64fe3..8d273f91986 100644 --- a/configs/wetek-core2_defconfig +++ b/configs/wetek-core2_defconfig @@ -62,7 +62,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DOWNLOAD=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_SYS_WHITE_ON_BLACK=y diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig index ea66dcf5056..f203a0fe4a1 100644 --- a/configs/xilinx_zynqmp_virt_defconfig +++ b/configs/xilinx_zynqmp_virt_defconfig @@ -221,7 +221,7 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x0300 CONFIG_USB_FUNCTION_THOR=y CONFIG_USB_ETHER=y CONFIG_USB_ETH_CDC=y -CONFIG_DM_VIDEO=y +CONFIG_VIDEO=y CONFIG_VIDEO_COPY=y CONFIG_DISPLAY=y CONFIG_VIDEO_SEPS525=y diff --git a/doc/develop/driver-model/migration.rst b/doc/develop/driver-model/migration.rst index 645c45bc491..43665de64f5 100644 --- a/doc/develop/driver-model/migration.rst +++ b/doc/develop/driver-model/migration.rst @@ -80,7 +80,7 @@ CONFIG_DM_VIDEO Deadline: 2019.07 The video subsystem has supported driver model since early 2016. Maintainers -should submit patches switching over to using CONFIG_DM_VIDEO and other base +should submit patches switching over to using CONFIG_VIDEO and other base driver model options in time for inclusion in the 2019.07 release. CONFIG_DM_ETH diff --git a/doc/usage/environment.rst b/doc/usage/environment.rst index d12bbcd85a2..15897f63dd9 100644 --- a/doc/usage/environment.rst +++ b/doc/usage/environment.rst @@ -63,7 +63,7 @@ For example, for snapper9260 you would create a text file called Example:: stdout=serial - #ifdef CONFIG_DM_VIDEO + #ifdef CONFIG_VIDEO stdout+=,vidconsole #endif bootcmd= diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index cfcd6fd6c52..dd1ad91cede 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -3,7 +3,7 @@ # (C) Copyright 2000-2007 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. -obj-$(CONFIG_DM_VIDEO) += pci_rom.o +obj-$(CONFIG_VIDEO) += pci_rom.o obj-$(CONFIG_PCI) += pci-uclass.o pci_auto.o obj-$(CONFIG_DM_PCI_COMPAT) += pci_compat.o obj-$(CONFIG_PCI_SANDBOX) += pci_sandbox.o diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c index f122e3f7c36..f4003811ee7 100644 --- a/drivers/serial/sandbox.c +++ b/drivers/serial/sandbox.c @@ -139,7 +139,7 @@ static int sandbox_serial_pending(struct udevice *dev, bool input) return 0; os_usleep(100); - if (IS_ENABLED(CONFIG_DM_VIDEO) && !IS_ENABLED(CONFIG_SPL_BUILD)) + if (IS_ENABLED(CONFIG_VIDEO) && !IS_ENABLED(CONFIG_SPL_BUILD)) video_sync_all(); avail = membuff_putraw(&priv->buf, 100, false, &data); if (!avail) diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 8f0b0059d4d..c841b99bb30 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -4,7 +4,7 @@ menu "Graphics support" -config DM_VIDEO +config VIDEO bool "Enable driver model support for LCD/video" depends on DM help @@ -14,7 +14,7 @@ config DM_VIDEO option compiles in the video uclass and routes all LCD/video access through this. -if DM_VIDEO +if VIDEO config VIDEO_LOGO bool "Show the U-Boot logo on the display" @@ -891,6 +891,6 @@ config BMP_32BPP help Support display of bitmaps file with 32-bit-per-pixel. -endif # DM_VIDEO +endif # VIDEO endmenu diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 1b2edc1d3df..40a871d638e 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -12,8 +12,8 @@ obj-$(CONFIG_CONSOLE_ROTATION) += console_rotate.o obj-$(CONFIG_CONSOLE_TRUETYPE) += console_truetype.o fonts/ obj-$(CONFIG_DISPLAY) += display-uclass.o obj-$(CONFIG_VIDEO_MIPI_DSI) += dsi-host-uclass.o -obj-$(CONFIG_DM_VIDEO) += video-uclass.o vidconsole-uclass.o -obj-$(CONFIG_DM_VIDEO) += video_bmp.o +obj-$(CONFIG_VIDEO) += video-uclass.o vidconsole-uclass.o +obj-$(CONFIG_VIDEO) += video_bmp.o obj-$(CONFIG_PANEL) += panel-uclass.o obj-$(CONFIG_PANEL_HX8238D) += hx8238d.o obj-$(CONFIG_SIMPLE_PANEL) += simple_panel.o diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig index 37e661b1edd..599d19d5ecc 100644 --- a/drivers/video/exynos/Kconfig +++ b/drivers/video/exynos/Kconfig @@ -1,7 +1,7 @@ menuconfig VIDEO_EXYNOS bool "Enable Exynos video support" - depends on DM_VIDEO + depends on VIDEO help Enable support for various video output options on Exynos SoCs. diff --git a/drivers/video/imx/Kconfig b/drivers/video/imx/Kconfig index 78eb0f29fb3..afe950b6df7 100644 --- a/drivers/video/imx/Kconfig +++ b/drivers/video/imx/Kconfig @@ -1,7 +1,7 @@ config VIDEO_IPUV3 bool "i.MX IPUv3 Core video support" - depends on DM_VIDEO && (MX5 || MX6) + depends on VIDEO && (MX5 || MX6) help This enables framebuffer driver for i.MX processors working on the IPUv3(Image Processing Unit) internal graphic processor. diff --git a/drivers/video/meson/Kconfig b/drivers/video/meson/Kconfig index 0c9ddeb8b65..3c2d72d019b 100644 --- a/drivers/video/meson/Kconfig +++ b/drivers/video/meson/Kconfig @@ -6,7 +6,7 @@ config VIDEO_MESON bool "Enable Amlogic Meson video support" - depends on DM_VIDEO + depends on VIDEO select DISPLAY help Enable Amlogic Meson Video Processing Unit video support. diff --git a/drivers/video/nexell_display.c b/drivers/video/nexell_display.c index 42b8d926b6a..5595796a678 100644 --- a/drivers/video/nexell_display.c +++ b/drivers/video/nexell_display.c @@ -542,7 +542,7 @@ static int nx_display_probe(struct udevice *dev) /* * set environment variable "fb_addr" (frame buffer address), required - * for splash image, which is not set if CONFIG_DM_VIDEO is enabled). + * for splash image, which is not set if CONFIG_VIDEO is enabled). */ sprintf(addr, "0x%x", dp->fb_addr); debug("%s(): env_set(\"fb_addr\", %s) ...\n", __func__, addr); diff --git a/drivers/video/rockchip/Kconfig b/drivers/video/rockchip/Kconfig index 0ade631bd5c..b03866347b0 100644 --- a/drivers/video/rockchip/Kconfig +++ b/drivers/video/rockchip/Kconfig @@ -10,7 +10,7 @@ menuconfig VIDEO_ROCKCHIP bool "Enable Rockchip Video Support" - depends on DM_VIDEO + depends on VIDEO help Rockchip SoCs provide video output capabilities for High-Definition Multimedia Interface (HDMI), Low-voltage Differential Signalling diff --git a/drivers/video/stm32/Kconfig b/drivers/video/stm32/Kconfig index 95d51bb4e96..48066063e4c 100644 --- a/drivers/video/stm32/Kconfig +++ b/drivers/video/stm32/Kconfig @@ -7,7 +7,7 @@ menuconfig VIDEO_STM32 bool "Enable STM32 video support" - depends on DM_VIDEO + depends on VIDEO help STM32 supports many video output options including RGB and DSI. This option enables these supports which can be used on diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 8ca93ac5269..c4b2bb44973 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -68,7 +68,7 @@ struct global_data { * @mem_clk: memory clock rate in Hz */ unsigned long mem_clk; -#if defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO) /** * @fb_base: base address of frame buffer memory */ @@ -359,7 +359,7 @@ struct global_data { */ struct membuff console_in; #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO /** * @video_top: top of video frame buffer area */ diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h index 79b1284cc7a..321edabe984 100644 --- a/include/configs/colibri-imx6ull.h +++ b/include/configs/colibri-imx6ull.h @@ -137,7 +137,7 @@ /* USB Device Firmware Update support */ #define DFU_DEFAULT_POLL_TIMEOUT 300 -#if defined(CONFIG_DM_VIDEO) +#if defined(CONFIG_VIDEO) #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR #endif diff --git a/include/configs/imxrt1050-evk.h b/include/configs/imxrt1050-evk.h index e36718dc825..d1a7dab37c5 100644 --- a/include/configs/imxrt1050-evk.h +++ b/include/configs/imxrt1050-evk.h @@ -18,7 +18,7 @@ #define DMAMEM_BASE (PHYS_SDRAM + PHYS_SDRAM_SIZE - \ DMAMEM_SZ_ALL) -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO #define CONFIG_EXTRA_ENV_SETTINGS \ "stdin=serial\0" \ "stdout=serial,vidconsole\0" \ diff --git a/include/configs/meson64.h b/include/configs/meson64.h index 40803ee9da1..0c41df2a957 100644 --- a/include/configs/meson64.h +++ b/include/configs/meson64.h @@ -17,7 +17,7 @@ #endif /* For splashscreen */ -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO #define STDOUT_CFG "vidconsole,serial" #else #define STDOUT_CFG "serial" diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h index 2ac48c40c96..c0d837d7c51 100644 --- a/include/configs/pico-imx6ul.h +++ b/include/configs/pico-imx6ul.h @@ -102,9 +102,7 @@ #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE -/* environment organization */ - -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR #endif diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index fe90d55bd45..12666b7818b 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -301,7 +301,7 @@ "stdin=serial\0" #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO #define CONSOLE_STDOUT_SETTINGS \ "stdout=serial,vidconsole\0" \ "stderr=serial,vidconsole\0" diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h index 823b5d63d01..4e20e1d1984 100644 --- a/include/configs/tegra-common-post.h +++ b/include/configs/tegra-common-post.h @@ -37,7 +37,7 @@ #define STDIN_KBD_USB "" #endif -#ifdef CONFIG_DM_VIDEO +#ifdef CONFIG_VIDEO #define STDOUT_VIDEO ",vidconsole" #else #define STDOUT_VIDEO "" diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile index e187d2a914f..f8e8afe1284 100644 --- a/lib/efi_loader/Makefile +++ b/lib/efi_loader/Makefile @@ -66,7 +66,7 @@ obj-$(CONFIG_EFI_VARIABLES_PRESEED) += efi_var_seed.o endif obj-y += efi_watchdog.o obj-$(CONFIG_EFI_ESRT) += efi_esrt.o -obj-$(CONFIG_DM_VIDEO) += efi_gop.o +obj-$(CONFIG_VIDEO) += efi_gop.o obj-$(CONFIG_BLK) += efi_disk.o obj-$(CONFIG_NET) += efi_net.o obj-$(CONFIG_GENERATE_ACPI_TABLE) += efi_acpi.o diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c index ab83f8bf828..4d08dd3763a 100644 --- a/lib/efi_loader/efi_console.c +++ b/lib/efi_loader/efi_console.c @@ -353,7 +353,7 @@ void efi_setup_console_size(void) int rows = 25, cols = 80; int ret = -ENODEV; - if (IS_ENABLED(CONFIG_DM_VIDEO)) + if (IS_ENABLED(CONFIG_VIDEO)) ret = query_vidconsole(&rows, &cols); if (ret) ret = query_console_serial(&rows, &cols); diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c index 0b7372e1cad..a340bc38806 100644 --- a/lib/efi_loader/efi_setup.c +++ b/lib/efi_loader/efi_setup.c @@ -326,7 +326,7 @@ efi_status_t efi_init_obj_list(void) goto out; } - if (IS_ENABLED(CONFIG_DM_VIDEO)) { + if (IS_ENABLED(CONFIG_VIDEO)) { ret = efi_gop_register(); if (ret != EFI_SUCCESS) goto out; diff --git a/test/dm/Makefile b/test/dm/Makefile index fd7d310e411..cc3cc454f7f 100644 --- a/test/dm/Makefile +++ b/test/dm/Makefile @@ -69,7 +69,7 @@ obj-y += ofnode.o obj-y += ofread.o obj-y += of_extra.o obj-$(CONFIG_OSD) += osd.o -obj-$(CONFIG_DM_VIDEO) += panel.o +obj-$(CONFIG_VIDEO) += panel.o obj-$(CONFIG_EFI_PARTITION) += part.o obj-$(CONFIG_PCI) += pci.o obj-$(CONFIG_P2SB) += p2sb.o @@ -112,7 +112,7 @@ obj-$(CONFIG_TEE) += tee.o obj-$(CONFIG_TIMER) += timer.o obj-$(CONFIG_TPM_V2) += tpm.o obj-$(CONFIG_DM_USB) += usb.o -obj-$(CONFIG_DM_VIDEO) += video.o +obj-$(CONFIG_VIDEO) += video.o ifeq ($(CONFIG_VIRTIO_SANDBOX),y) obj-y += virtio.o obj-$(CONFIG_VIRTIO_RNG) += virtio_device.o diff --git a/tools/Makefile b/tools/Makefile index e8e1d279bba..af6a710c2dd 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -312,7 +312,7 @@ __build: $(LOGO-y) $(LOGO_H): $(obj)/bmp_logo $(LOGO_BMP) $(obj)/bmp_logo --gen-info $(LOGO_BMP) > $@ -ifeq ($(CONFIG_DM_VIDEO),y) +ifeq ($(CONFIG_VIDEO),y) $(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP) $(obj)/bmp_logo --gen-bmp $(LOGO_BMP) > $@ else