[U-Boot] [PATCH v2 00/14] dm: video: Introduce initial driver-model video support
Simon Glass
sjg at chromium.org
Tue Jan 19 03:56:18 CET 2016
Hi,
On 18 January 2016 at 19:52, Simon Glass <sjg at chromium.org> wrote:
> This series starts the process of converting LCD and video devices over to
> use driver model. Both now use a very similar API thanks to earlier work by
> Nikita Kiryanov. With the driver-model conversion these will end up unified
> in a single uclass.
>
> Unfortunately there are different features supported by each. This
> implementation provides for a common set of features which should serve
> most purposes. The intent is to support:
>
> - bitmap devices with 8, 16 and 32 bits per pixel
> - text console wih white on black or vice versa
> - rotated text console
> - bitmap display (BMP format)
>
> More can be added as additional boards are ported over to use driver model
> for video.
>
> The name 'video' is chosen for the uclass since it is more generic than LCD.
> Another option would be 'display' but that would introduce a third concept
> to U-Boot which seems like the wrong approach.
>
> The existing LCD and video init functions are not needed now, so this uclass
> does not implement them. This includes lcd_ctrl_init(), lcd_enable() and
> video_init().
>
> Tests are provided to check that console text and bitmap output is correct.
> These should be able to be extended as more features are added.
>
> Future work will convert a few boards over to use driver model for video.
> Likely targets are x86, exynos, tegra. Also, Rockchip LCD support will be
> added using driver model (patches will likely be sent some time in January).
>
> Changes in v2:
> - Fix Ebabling typo in comment
> - Remove duplicated @fb_size line in common
> - Fix comment for video_get_ysize()
> - Fix reference to \n which should be \b
> - Fix 'withthe' typo in comment
> - Fix 'resolutino' typo in comment
>
> Simon Glass (14):
> dm: video: Add a video uclass
> dm: lcd: Avoid using the lcd.h header file with driver model
> dm: video: Add a uclass for the text console
> dm: video: Add a 'normal' text console driver
> dm: video: Add a driver for a rotated text console
> common: Move LCD and video memory reservation together
> dm: common: Add memory reservation for the video uclass
> dm: video: Implement the bmp command for driver model
> dm: stdio: video: Plumb the video uclass into stdio
> sandbox: Move CONFIG_VIDEO_SANDBOX_SDL to Kconfig
> dm: video: sandbox: Convert sandbox to use driver model for video
> dm: video: test: Add tests for the video uclass
> dm: video: test: Add tests for rotated consoles
> dm: video: test: Test that bitmap display works correctly
>
> arch/sandbox/dts/sandbox.dts | 1 +
> arch/sandbox/dts/test.dts | 7 +
> board/sandbox/sandbox.c | 17 --
> common/Makefile | 2 +
> common/board_f.c | 71 ++++---
> common/cmd_bmp.c | 22 +-
> common/lcd.c | 11 -
> common/stdio.c | 19 +-
> configs/sandbox_defconfig | 5 +-
> drivers/serial/sandbox.c | 5 +-
> drivers/video/Kconfig | 62 ++++++
> drivers/video/Makefile | 3 +
> drivers/video/console_normal.c | 141 ++++++++++++
> drivers/video/console_rotate.c | 436 ++++++++++++++++++++++++++++++++++++++
> drivers/video/sandbox_sdl.c | 90 ++++----
> drivers/video/vidconsole-uclass.c | 239 +++++++++++++++++++++
> drivers/video/video-uclass.c | 249 ++++++++++++++++++++++
> drivers/video/video_bmp.c | 353 ++++++++++++++++++++++++++++++
> include/asm-generic/global_data.h | 4 +
> include/configs/sandbox.h | 13 +-
> include/dm/test.h | 8 +
> include/dm/uclass-id.h | 2 +
> include/fdtdec.h | 1 -
> include/lcd.h | 12 +-
> include/video.h | 168 ++++++++++++++-
> include/video_console.h | 136 ++++++++++++
> lib/fdtdec.c | 1 -
> test/dm/Makefile | 1 +
> test/dm/video.c | 271 +++++++++++++++++++++++
> tools/logos/denx-comp.bmp | Bin 0 -> 4148 bytes
> 30 files changed, 2221 insertions(+), 129 deletions(-)
> create mode 100644 drivers/video/console_normal.c
> create mode 100644 drivers/video/console_rotate.c
> create mode 100644 drivers/video/vidconsole-uclass.c
> create mode 100644 drivers/video/video-uclass.c
> create mode 100644 drivers/video/video_bmp.c
> create mode 100644 include/video_console.h
> create mode 100644 test/dm/video.c
> create mode 100644 tools/logos/denx-comp.bmp
>
> --
> 2.6.0.rc2.230.g3dd15c0
>
This is available at u-boot-dm branch rbk-working if you are
interested in trying it out. But it only works for sandbox.
make O=sandbox sandbox_defconfig all
./sandbox/u-boot -Dl
Regards,
Simon
More information about the U-Boot
mailing list