public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 00/18] dm: video: Introduce initial driver-model video support
@ 2016-01-05 16:30 Simon Glass
  2016-01-05 16:30 ` [U-Boot] [PATCH 01/18] tiny-printf: Always print zeroes Simon Glass
                   ` (18 more replies)
  0 siblings, 19 replies; 44+ messages in thread
From: Simon Glass @ 2016-01-05 16:30 UTC (permalink / raw)
  To: u-boot

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).


Simon Glass (18):
  tiny-printf: Always print zeroes
  sandbox: Support the bmp command
  dm: core: Call uclass post_bind() after the driver's bind() method
  bzip2: Support compression for sandbox
  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                  |   37 +-
 common/lcd.c                      |   11 -
 common/stdio.c                    |   19 +-
 configs/sandbox_defconfig         |    5 +-
 drivers/core/device.c             |    7 +
 drivers/core/uclass.c             |    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    |  435 ++++++++++++++
 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/bzlib.h                   |    3 +
 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                   |  169 +++++-
 include/video_console.h           |  136 +++++
 lib/bzip2/Makefile                |    1 +
 lib/bzip2/bzlib_blocksort.c       | 1134 +++++++++++++++++++++++++++++++++++++
 lib/bzip2/bzlib_compress.c        |  714 +++++++++++++++++++++++
 lib/fdtdec.c                      |    1 -
 lib/tiny-printf.c                 |   16 +-
 test/dm/Makefile                  |    1 +
 test/dm/video.c                   |  271 +++++++++
 tools/logos/denx-comp.bmp         |  Bin 0 -> 4148 bytes
 37 files changed, 4101 insertions(+), 144 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 lib/bzip2/bzlib_blocksort.c
 create mode 100644 lib/bzip2/bzlib_compress.c
 create mode 100644 test/dm/video.c
 create mode 100644 tools/logos/denx-comp.bmp

-- 
2.6.0.rc2.230.g3dd15c0

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2016-01-18  0:26 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-05 16:30 [U-Boot] [PATCH 00/18] dm: video: Introduce initial driver-model video support Simon Glass
2016-01-05 16:30 ` [U-Boot] [PATCH 01/18] tiny-printf: Always print zeroes Simon Glass
2016-01-05 17:08   ` Stefan Roese
2016-01-13 21:55   ` Tom Rini
2016-01-16  1:26     ` Simon Glass
2016-01-05 16:30 ` [U-Boot] [PATCH 02/18] sandbox: Support the bmp command Simon Glass
2016-01-13 21:55   ` Tom Rini
2016-01-16  1:26     ` Simon Glass
2016-01-05 16:30 ` [U-Boot] [PATCH 03/18] dm: core: Call uclass post_bind() after the driver's bind() method Simon Glass
2016-01-13 21:55   ` Tom Rini
2016-01-16  1:26     ` Simon Glass
2016-01-05 16:31 ` [U-Boot] [PATCH 04/18] bzip2: Support compression for sandbox Simon Glass
2016-01-13 21:55   ` Tom Rini
2016-01-16  1:26     ` Simon Glass
2016-01-05 16:31 ` [U-Boot] [PATCH 05/18] dm: video: Add a video uclass Simon Glass
2016-01-17 18:35   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 06/18] dm: lcd: Avoid using the lcd.h header file with driver model Simon Glass
2016-01-17 18:40   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 07/18] dm: video: Add a uclass for the text console Simon Glass
2016-01-17 19:09   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 08/18] dm: video: Add a 'normal' text console driver Simon Glass
2016-01-17 20:04   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 09/18] dm: video: Add a driver for a rotated text console Simon Glass
2016-01-17 20:07   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 10/18] common: Move LCD and video memory reservation together Simon Glass
2016-01-17 23:37   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 11/18] dm: common: Add memory reservation for the video uclass Simon Glass
2016-01-17 23:39   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 12/18] dm: video: Implement the bmp command for driver model Simon Glass
2016-01-18  0:01   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 13/18] dm: stdio: video: Plumb the video uclass into stdio Simon Glass
2016-01-18  0:04   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 14/18] sandbox: Move CONFIG_VIDEO_SANDBOX_SDL to Kconfig Simon Glass
2016-01-18  0:05   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 15/18] dm: video: sandbox: Convert sandbox to use driver model for video Simon Glass
2016-01-18  0:10   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 16/18] dm: video: test: Add tests for the video uclass Simon Glass
2016-01-18  0:18   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 17/18] dm: video: test: Add tests for rotated consoles Simon Glass
2016-01-18  0:20   ` Anatolij Gustschin
2016-01-05 16:31 ` [U-Boot] [PATCH 18/18] dm: video: test: Test that bitmap display works correctly Simon Glass
2016-01-18  0:26   ` Anatolij Gustschin
2016-01-13 17:58 ` [U-Boot] [PATCH 00/18] dm: video: Introduce initial driver-model video support Hannes Schmelzer
2016-01-13 20:10   ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox