[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