[U-Boot] [PATCH v2 0/7] sunxi: video: Add support for HDMI output on A64/H3/H5

Jernej Skrabec jernej.skrabec at siol.net
Mon Mar 20 22:01:21 UTC 2017


This series implements support for HDMI output. This is done using
DM video framework and sharing the HDMI controller code with RK3288.

Patch 1 splits out RK3288 HDMI code in a way that it is appropriate
for sharing with Allwinner SoCs.

Patch 2 splits out TCON code which is completely reusable on
all Allwinner SoCs.

Patch 3 (new) converts commont TCON code to use DM video compatible
timing structure.

Patch 4 adds all necessary clocks which are needed for Display
Engine 2, TCON and HDMI.

Patch 5 implement actual DE2 and HDMI driver and patch 6 disables HDMI
on all boards which don't have it (default is on).

Patch 7 is included here only for testing HDMI output on A64 due
to missing power regulator support (AXP803). Another option is to
use ATF which powers on HDMI. Such ATF can be found on Andre
Przywara's github.

Code was tested on OrangePi 2 & OrangePi Plus 2E (both H3),
OrangePi PC 2 (H5) and Pine64 (A64). It was also tested on RK3288 Tinker
board. However, it was only compile tested for A10 and A20 targets.

This series was developed on u-boot-sunxi repository with additional,
not yet merged, patch: https://patchwork.ozlabs.org/patch/735617/

Because already merged patches are not yet included in u-boot-sunxi
repository, they need to be cherry picked from u-boot-rockchip:
a0a2774aebdaa039ce787090c903cf47263f04c9
520c174b3564ae183f0e7c118dc8ce3770ae20b0

Best regards,
Jernej Skrabec

Changes in v2:
- patch 1 & 2 were removed because they were merged
- collect reviewed by and tested by tags
- TCON split out patch is splitted in two patches
- fixed lcdc_enable() calls in video driver for old SoCs
- defconfigs should disable video driver, not enable it
- minor constant style fix


Icenowy Zheng (1):
  [DO NOT MERGE] sunxi: add AXP803 support

Jernej Skrabec (6):
  rockchip: video: Split out HDMI controller code
  sunxi: video: Split out TCON code
  sunxi: video: Convert lcdc to use struct display_timing
  sunxi: Add clock support for DE2/HDMI/TCON on newer SoCs
  sunxi: video: Add A64/H3/H5 HDMI driver
  sunxi: Disable DE2 video driver where not needed

 arch/arm/include/asm/arch-rockchip/hdmi_rk3288.h | 456 --------------
 arch/arm/include/asm/arch-sunxi/clock_sun6i.h    |  54 ++
 arch/arm/include/asm/arch-sunxi/cpu_sun4i.h      |   8 +
 arch/arm/include/asm/arch-sunxi/display.h        | 103 ---
 arch/arm/include/asm/arch-sunxi/display2.h       | 124 ++++
 arch/arm/include/asm/arch-sunxi/lcdc.h           | 128 ++++
 arch/arm/mach-sunxi/Makefile                     |   3 +
 arch/arm/mach-sunxi/clock_sun6i.c                |  40 +-
 arch/arm/mach-sunxi/pmic_bus.c                   |   6 +-
 arch/arm/mach-sunxi/rsb.c                        |   2 +-
 board/sunxi/Kconfig                              |  10 +
 board/sunxi/board.c                              |  31 +-
 configs/nanopi_neo_air_defconfig                 |   1 +
 configs/nanopi_neo_defconfig                     |   1 +
 configs/orangepi_zero_defconfig                  |   1 +
 drivers/power/Kconfig                            |  87 ++-
 drivers/power/Makefile                           |   1 +
 drivers/power/axp803.c                           | 256 ++++++++
 drivers/power/axp818.c                           |   2 +-
 drivers/video/Makefile                           |   2 +-
 drivers/video/dw_hdmi.c                          | 764 +++++++++++++++++++++++
 drivers/video/rockchip/Makefile                  |   2 +-
 drivers/video/rockchip/rk_hdmi.c                 | 757 +---------------------
 drivers/video/rockchip/rk_vop.c                  |   1 -
 drivers/video/sunxi/Makefile                     |   9 +
 drivers/video/sunxi/lcdc.c                       | 209 +++++++
 drivers/video/sunxi/sunxi_de2.c                  | 258 ++++++++
 drivers/video/{ => sunxi}/sunxi_display.c        | 220 ++-----
 drivers/video/sunxi/sunxi_dw_hdmi.c              | 389 ++++++++++++
 include/axp803.h                                 |  73 +++
 include/axp_pmic.h                               |   3 +
 include/configs/sun50i.h                         |   2 +
 include/configs/sun8i.h                          |   4 +
 include/configs/sunxi-common.h                   |   5 +
 include/dw_hdmi.h                                | 486 ++++++++++++++
 scripts/config_whitelist.txt                     |   1 +
 36 files changed, 2977 insertions(+), 1522 deletions(-)
 delete mode 100644 arch/arm/include/asm/arch-rockchip/hdmi_rk3288.h
 create mode 100644 arch/arm/include/asm/arch-sunxi/display2.h
 create mode 100644 arch/arm/include/asm/arch-sunxi/lcdc.h
 create mode 100644 drivers/power/axp803.c
 create mode 100644 drivers/video/dw_hdmi.c
 create mode 100644 drivers/video/sunxi/Makefile
 create mode 100644 drivers/video/sunxi/lcdc.c
 create mode 100644 drivers/video/sunxi/sunxi_de2.c
 rename drivers/video/{ => sunxi}/sunxi_display.c (87%)
 create mode 100644 drivers/video/sunxi/sunxi_dw_hdmi.c
 create mode 100644 include/axp803.h
 create mode 100644 include/dw_hdmi.h

-- 
2.12.0



More information about the U-Boot mailing list