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

Simon Glass sjg at chromium.org
Mon Feb 22 05:08:37 CET 2016


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



More information about the U-Boot mailing list