[U-Boot] [PATCH v2 00/37] rockchip: Add support for display and keyboard

Simon Glass sjg at chromium.org
Fri Jan 22 03:44:48 CET 2016


This series adds display drivers for rockchip and enables them on jerry,
firefly-rk3288 (HDMI only) and rock2 (HDMI only). It builds on the recent
keyboard series.

Driver are provided for video displays (EDP and HDMI) and the VOP (video
output processor).

This series also adds several new uclasses:
- PWM (Pulse-width modulation)
- Panel (used for LCD panels)
- Display (renamed from DisplayPort - a generic display with power, etc.)
- Backlight (used for LCD backlights)

Since most of this implementation is device-tree-controlled it is fairly
easy to enable HDMI on the other RK3288 devices. This series adds this for
Firefly-RK3288. It also includes Radxa Rock 2 as a separate board since a
device tree file is now available in Linux. HDMI is enabled on that board
also.

There remain quite a few things still to do for core rockchip support. Here
are a few noticed while preparing this series:

- Clocks / caches are not working correctly. The 'dhry' command shows
approximately 60 DMIPS when supposedly running at 1.8GHz. Turning the cache
on or off makes no difference. The platform should run at over 2000 DMIPS by
my estimate. This problem is common on ARM platforms. For example I found:

beaver (Tegra) 818 DMIPS
pit (Exynos) 276 DMIPS
snow (Exynos) 521 DMIPS

- HDMI EDID-reading does not work on Jerry, perhaps because the clocks are
not running as they should. It seems to work fine on other boards.

This series is available at u-boot-dm/rkd-working

Changes in v2:
- Update for new clk_get_by_index() API
- Update for new clk_get_by_index() API
- Rebase to upstream/master

Simon Glass (37):
  stdio: Correct a build error with driver model
  gpio: Warn about invalid GPIOs used with the 'gpio' command
  video: Name consoles by their number
  video: Add a function to control cache flushing
  video: bridge: Allow GPIOs to be optional
  dm: pwm: Add a PWM uclass
  pwm: rockchip: Add a PWM driver for Rockchip SoCs
  dm: backlight: Add a backlight uclass
  dm: backlight: Add a driver for a PWM backlight
  dm: panel: Add a panel uclass
  video: panel: Add a simple panel driver
  dm: video: Repurpose the 'displayport' uclass to 'display'
  rockchip: Rename the CRU_MODE_CON fields
  rockchip: clk: Add support for clocks needed by the displays
  rockchip: video: Add a display driver for rockchip HDMI
  rockchip: video: Add a display driver for rockchip eDP
  rockchip: video: Add a video-output driver
  rockchip: Don't skip low-level init
  rockchip: Add a simple 'clock' command
  rockchip: Add a script to parse datasheets
  rockchip: config: Enable the 'gpio' command
  rockchip: sdram: Tidy up a few comments
  rockchip: sdram: Use syscon_get_first_range() where possible
  rockchip: Tidy up the register-access macros
  rockchip: spl: Drop MMC support code when not needed
  rockchip: jerry: Fix the SDRAM timing
  rockchip: rk3288: clock: Fix various minor errors
  rockchip: rk3288: pinctrl: Fix HDMI pinctrl
  rockchip: spl: Support full-speed CPU in SPL
  rockchip: jerry: Add support for timing SPI flash speed
  rockchip: jerry: Enable EDP and HDMI video output
  rockchip: firefly-rk3288: Enable HDMI output
  rockchip: dts: Sync up SPDIF node with Linux
  rockchip: rock2: Bring in device tree files from Linux
  rockchip: rock2: dts: Make changes for U-Boot
  rockchip: Add support for Raxda Rock 2
  rockchip: Update the README

 arch/arm/dts/Makefile                            |    1 +
 arch/arm/dts/rk3288-jerry.dts                    |    5 +
 arch/arm/dts/rk3288-rock2-som.dtsi               |  278 ++++++
 arch/arm/dts/rk3288-rock2-square.dts             |  201 ++++
 arch/arm/dts/rk3288-veyron.dtsi                  |    4 +-
 arch/arm/dts/rk3288.dtsi                         |   22 +
 arch/arm/include/asm/arch-rockchip/clock.h       |    5 +
 arch/arm/include/asm/arch-rockchip/cru_rk3288.h  |   70 +-
 arch/arm/include/asm/arch-rockchip/edp_rk3288.h  |  636 +++++++++++++
 arch/arm/include/asm/arch-rockchip/hardware.h    |    7 +-
 arch/arm/include/asm/arch-rockchip/hdmi_rk3288.h |  456 +++++++++
 arch/arm/include/asm/arch-rockchip/pwm.h         |   41 +
 arch/arm/include/asm/arch-rockchip/vop_rk3288.h  |  349 +++++++
 arch/arm/mach-rockchip/board.c                   |   28 +
 arch/arm/mach-rockchip/rk3288-board-spl.c        |   10 +-
 arch/arm/mach-rockchip/rk3288/Kconfig            |   19 +
 arch/arm/mach-rockchip/rk3288/sdram_rk3288.c     |   57 +-
 board/radxa/rock2/Kconfig                        |   15 +
 board/radxa/rock2/MAINTAINERS                    |    6 +
 board/radxa/rock2/Makefile                       |    7 +
 board/radxa/rock2/rock2.c                        |    7 +
 common/cmd_gpio.c                                |    4 +-
 common/stdio.c                                   |    3 +
 configs/chromebook_jerry_defconfig               |    7 +
 configs/firefly-rk3288_defconfig                 |    7 +
 configs/nyan-big_defconfig                       |    2 +-
 configs/rock2_defconfig                          |   53 ++
 doc/README.rockchip                              |   53 +-
 drivers/Kconfig                                  |    2 +
 drivers/clk/clk_rk3288.c                         |  290 +++++-
 drivers/pinctrl/rockchip/pinctrl_rk3288.c        |    2 +
 drivers/pwm/Kconfig                              |   19 +
 drivers/pwm/Makefile                             |    2 +
 drivers/pwm/pwm-uclass.c                         |   36 +
 drivers/pwm/rk_pwm.c                             |  103 ++
 drivers/video/Kconfig                            |   23 +-
 drivers/video/Makefile                           |    8 +-
 drivers/video/backlight-uclass.c                 |   25 +
 drivers/video/bridge/video-bridge-uclass.c       |   11 +-
 drivers/video/display-uclass.c                   |   52 ++
 drivers/video/dp-uclass.c                        |   34 -
 drivers/video/panel-uclass.c                     |   25 +
 drivers/video/pwm_backlight.c                    |  134 +++
 drivers/video/rockchip/Makefile                  |    8 +
 drivers/video/rockchip/rk_edp.c                  | 1085 ++++++++++++++++++++++
 drivers/video/rockchip/rk_hdmi.c                 |  933 +++++++++++++++++++
 drivers/video/rockchip/rk_vop.c                  |  346 +++++++
 drivers/video/simple_panel.c                     |   99 ++
 drivers/video/tegra124/display.c                 |   18 +-
 drivers/video/tegra124/dp.c                      |    9 +-
 drivers/video/vidconsole-uclass.c                |    7 +-
 drivers/video/video-uclass.c                     |    7 +
 include/backlight.h                              |   31 +
 include/configs/chromebook_jerry.h               |   14 +-
 include/configs/firefly-rk3288.h                 |    9 +-
 include/configs/rk3288_common.h                  |    2 +-
 include/configs/rock2.h                          |   31 +
 include/configs/sandbox.h                        |    8 +-
 include/{displayport.h => display.h}             |   33 +-
 include/dm/uclass-id.h                           |    5 +-
 include/edid.h                                   |    1 +
 include/panel.h                                  |   31 +
 include/pwm.h                                    |   53 ++
 include/video.h                                  |    8 +
 tools/rkmux.py                                   |  218 +++++
 65 files changed, 5872 insertions(+), 203 deletions(-)
 create mode 100644 arch/arm/dts/rk3288-rock2-som.dtsi
 create mode 100644 arch/arm/dts/rk3288-rock2-square.dts
 create mode 100644 arch/arm/include/asm/arch-rockchip/edp_rk3288.h
 create mode 100644 arch/arm/include/asm/arch-rockchip/hdmi_rk3288.h
 create mode 100644 arch/arm/include/asm/arch-rockchip/pwm.h
 create mode 100644 arch/arm/include/asm/arch-rockchip/vop_rk3288.h
 create mode 100644 board/radxa/rock2/Kconfig
 create mode 100644 board/radxa/rock2/MAINTAINERS
 create mode 100644 board/radxa/rock2/Makefile
 create mode 100644 board/radxa/rock2/rock2.c
 create mode 100644 configs/rock2_defconfig
 create mode 100644 drivers/pwm/Kconfig
 create mode 100644 drivers/pwm/pwm-uclass.c
 create mode 100644 drivers/pwm/rk_pwm.c
 create mode 100644 drivers/video/backlight-uclass.c
 create mode 100644 drivers/video/display-uclass.c
 delete mode 100644 drivers/video/dp-uclass.c
 create mode 100644 drivers/video/panel-uclass.c
 create mode 100644 drivers/video/pwm_backlight.c
 create mode 100644 drivers/video/rockchip/Makefile
 create mode 100644 drivers/video/rockchip/rk_edp.c
 create mode 100644 drivers/video/rockchip/rk_hdmi.c
 create mode 100644 drivers/video/rockchip/rk_vop.c
 create mode 100644 drivers/video/simple_panel.c
 create mode 100644 include/backlight.h
 create mode 100644 include/configs/rock2.h
 rename include/{displayport.h => display.h} (59%)
 create mode 100644 include/panel.h
 create mode 100755 tools/rkmux.py

-- 
2.7.0.rc3.207.g0ac5344



More information about the U-Boot mailing list