[U-Boot] [PATCH v2 00/25] exynos: video: Convert exynos LCD driver to use driver model

Simon Glass
2016-02-22T04:08:37Z

This series converts the exynos LCD driver to work with driver model. Only
the eDP display is converted - the MIPI display is left mostly alone as I
do not have a device to test with.

The conversion involves some refactoring to simplify the code, reduce the
amount of global/static data and allow boards to be built without LCD
support.

The series is tested with snow, spring, pit and pi. It disables LCD on other
exynos boards so that they will still build with these changes. Further work
will be needed (by someone with a board) to convert the others. I am not
sure when this series can be applied.

The series also brings in device tree features from Linux v4.4. It would be
useful to do a full sync with the kernel on these files, but this is really
a job for the Samsung maintainer :-)

The series is available at u-boot-dm/rkg-working.

Changes in v2:
- Rebase to master
- Rebase to master

Simon Glass (25):
exynos: video: Move driver files into their own directory
exynos: video: Drop dead code
exynos: video: Remove use of vidinfo_t typedef
exynos: video: Drop the static lcd_base_addr variable
exynos: video: Drop static variables in exynos_fimd.c
exynos: video: Drop static variables in exynos_fb.c
exynos: video: Drop static variables in exynos_dp_lowlevel.c
exynos: video: Move dsim_config_dt into a function
exynos: video: Move struct exynos_platform_mipi_dsim into vidinfo
exynos: video: Move mipi_lcd_device_dt into a function
exynos: video: Combine LCD driver into one file
exynos: pwm: Add a driver for the exynos5 PWM
video: Add an enum for active low/high
exynos: dts: Add pwm device tree node
exynos: Allow tizen to be built without an LCD
exynos: Allow CONFIG_MISC_COMMON to be build without an LCD
exynos: Disable LCD display for boards we can't convert
dts: Add clock and regulator binding files for max77802
exynos: Allow PWM0 pinmux to be set up
exynos: Simplify calling of exynos_dp_phy_ctrl()
exynos: dts: Add display-related device tree fragments
exynos: video: Rename edp_device_info to exynos_dp_priv
exynos: video: Rename variables for driver model
exynos: video: Convert several boards to driver model for video
exynos: video: Drop old unused code

arch/arm/cpu/armv7/s5p-common/timer.c | 3 +
arch/arm/dts/exynos5.dtsi | 3 +-
arch/arm/dts/exynos5250-snow.dts | 44 ++
arch/arm/dts/exynos5250-spring.dts | 53 ++
arch/arm/dts/exynos5250.dtsi | 7 +
arch/arm/dts/exynos5420-peach-pit.dts | 55 ++
arch/arm/dts/exynos54xx.dtsi | 11 +-
arch/arm/dts/exynos5800-peach-pi.dts | 40 ++
arch/arm/mach-exynos/include/mach/cpu.h | 2 -
arch/arm/mach-exynos/include/mach/dp_info.h | 5 +-
arch/arm/mach-exynos/include/mach/mipi_dsim.h | 10 +-
arch/arm/mach-exynos/include/mach/power.h | 2 +-
arch/arm/mach-exynos/pinmux.c | 6 +
arch/arm/mach-exynos/power.c | 2 +-
board/samsung/common/board.c | 15 -
board/samsung/common/exynos5-dt.c | 158 -----
board/samsung/common/misc.c | 10 +
board/samsung/trats/trats.c | 2 +
board/samsung/universal_c210/universal.c | 2 +
configs/peach-pi_defconfig | 4 +
configs/peach-pit_defconfig | 4 +
configs/snow_defconfig | 4 +
configs/spring_defconfig | 4 +
drivers/pwm/Kconfig | 9 +
drivers/pwm/Makefile | 1 +
drivers/pwm/exynos_pwm.c | 120 ++++
drivers/video/Makefile | 6 +-
drivers/video/exynos/Makefile | 12 +
drivers/video/{ => exynos}/exynos_dp.c | 599 ++++++++++-------
drivers/video/{ => exynos}/exynos_dp_lowlevel.c | 268 ++++----
drivers/video/exynos/exynos_dp_lowlevel.h | 89 +++
drivers/video/exynos/exynos_fb.c | 720 +++++++++++++++++++++
drivers/video/{ => exynos}/exynos_mipi_dsi.c | 71 +-
.../video/{ => exynos}/exynos_mipi_dsi_common.c | 6 +-
.../video/{ => exynos}/exynos_mipi_dsi_common.h | 0
.../video/{ => exynos}/exynos_mipi_dsi_lowlevel.c | 0
.../video/{ => exynos}/exynos_mipi_dsi_lowlevel.h | 0
drivers/video/{ => exynos}/exynos_pwm_bl.c | 0
drivers/video/exynos_dp_lowlevel.h | 68 --
drivers/video/exynos_fb.c | 330 ----------
drivers/video/exynos_fb.h | 41 --
drivers/video/exynos_fimd.c | 409 ------------
drivers/video/s6e8ax0.c | 4 +-
drivers/video/simple_panel.c | 2 +
include/configs/exynos5-common.h | 1 -
include/configs/exynos5-dt-common.h | 5 +-
include/configs/s5pc210_universal.h | 3 -
include/configs/smdk5250.h | 3 +
include/configs/smdk5420.h | 4 +
include/configs/trats.h | 4 -
include/configs/trats2.h | 4 -
include/dt-bindings/clock/maxim,max77802.h | 22 +
include/dt-bindings/regulator/maxim,max77802.h | 18 +
include/exynos_lcd.h | 4 +-
include/libtizen.h | 2 +
include/video.h | 5 +
lib/tizen/tizen.c | 2 +
57 files changed, 1804 insertions(+), 1474 deletions(-)
create mode 100644 drivers/pwm/exynos_pwm.c
create mode 100644 drivers/video/exynos/Makefile
rename drivers/video/{ => exynos}/exynos_dp.c (50%)
rename drivers/video/{ => exynos}/exynos_dp_lowlevel.c (77%)
create mode 100644 drivers/video/exynos/exynos_dp_lowlevel.h
create mode 100644 drivers/video/exynos/exynos_fb.c
rename drivers/video/{ => exynos}/exynos_mipi_dsi.c (80%)
rename drivers/video/{ => exynos}/exynos_mipi_dsi_common.c (99%)
rename drivers/video/{ => exynos}/exynos_mipi_dsi_common.h (100%)
rename drivers/video/{ => exynos}/exynos_mipi_dsi_lowlevel.c (100%)
rename drivers/video/{ => exynos}/exynos_mipi_dsi_lowlevel.h (100%)
rename drivers/video/{ => exynos}/exynos_pwm_bl.c (100%)
delete mode 100644 drivers/video/exynos_dp_lowlevel.h
delete mode 100644 drivers/video/exynos_fb.c
delete mode 100644 drivers/video/exynos_fb.h
delete mode 100644 drivers/video/exynos_fimd.c
create mode 100644 include/dt-bindings/clock/maxim,max77802.h
create mode 100644 include/dt-bindings/regulator/maxim,max77802.h

--
2.7.0.rc3.207.g0ac5344