[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