All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] drm: add support for Atmel HLCDC Display Controller
@ 2014-06-09 16:04 ` Boris BREZILLON
  0 siblings, 0 replies; 65+ messages in thread
From: Boris BREZILLON @ 2014-06-09 16:04 UTC (permalink / raw)
  To: Thierry Reding, Nicolas Ferre, David Airlie, Samuel Ortiz, Lee Jones
  Cc: Jean-Jacques Hiblot, Alexandre Belloni,
	Jean-Christophe Plagniol-Villard, Laurent Pinchart, devicetree,
	linux-doc, linux-kernel, linux-pwm, linux-arm-kernel, dri-devel,
	Boris BREZILLON

Hello,

This patch series adds support for Atmel HLCDC (High LCD Controller)
available on some Atmel SoCs (i.e. the sama5d3 family).

The HLCDC actually provides a Display Controller and a PWM device, hence I
decided to declare an MFD device that exposes 2 subdevices: a display
controller and a PWM chip.
This also solves a circular dependency issue preventing HLCDC driver from
unloading.
The HLCDC request a drm_panel device, which request a backlight device
(a PWM backlight), which depends on a PWM which is provided by the HLCDC
driver (hlcdc -> panel -> backlight -> hlcdc (pwm part)).

The current implementation only support sama5d3 SoCs but other SoCs should
be easily ported by defining new compatible strings and adding HLCDC
description structures for these SoCs.

The drivers supports basic CRTC functionalities, several overlays and an
hardware cursor.

It alse supports several RGB format on all planes and some YUV formats on
the HEO overlay plane, though YUV formats have not been tested yet.

Best Regards,

Boris

Changes since v1:
- replace the backlight driver by a PWM driver
- make use of drm_panel infrastructure
- split driver code in several subsystem: MFD, PWM and DRM
- add support for overlays
- add support for hardware cursor

Boris BREZILLON (7):
  mfd: add atmel-hlcdc driver
  pwm: add support for atmel-hlcdc-pwm device
  drm: add Atmel HLCDC Display Controller support
  ARM: AT91/dt: split sama5d3 lcd pin definitions to match RGB mode
    configs
  ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs
  ARM: at91/dt: add LCD panel description to sama5d3xdm.dtsi
  ARM: at91/dt: enable the LCD panel on sama5d3xek boards

 .../devicetree/bindings/drm/atmel-hlcdc-dc.txt     |  59 ++
 .../devicetree/bindings/mfd/atmel-hlcdc.txt        |  41 ++
 .../devicetree/bindings/pwm/atmel-hlcdc-pwm.txt    |  40 ++
 arch/arm/boot/dts/sama5d31ek.dts                   |  24 +
 arch/arm/boot/dts/sama5d33ek.dts                   |  24 +
 arch/arm/boot/dts/sama5d34ek.dts                   |  24 +
 arch/arm/boot/dts/sama5d36ek.dts                   |  24 +
 arch/arm/boot/dts/sama5d3_lcd.dtsi                 | 153 ++++-
 arch/arm/boot/dts/sama5d3xdm.dtsi                  |  32 +
 drivers/gpu/drm/Kconfig                            |   2 +
 drivers/gpu/drm/Makefile                           |   1 +
 drivers/gpu/drm/atmel-hlcdc/Kconfig                |  11 +
 drivers/gpu/drm/atmel-hlcdc/Makefile               |   7 +
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c     | 529 ++++++++++++++++
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c       | 477 ++++++++++++++
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h       | 178 ++++++
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c    | 701 +++++++++++++++++++++
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h    | 417 ++++++++++++
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_panel.c    | 351 +++++++++++
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c    | 658 +++++++++++++++++++
 drivers/gpu/drm/atmel_hlcdc/Kconfig                |  11 +
 drivers/gpu/drm/atmel_hlcdc/Makefile               |   8 +
 drivers/mfd/Kconfig                                |  11 +
 drivers/mfd/Makefile                               |   1 +
 drivers/mfd/atmel-hlcdc.c                          | 116 ++++
 drivers/pwm/Kconfig                                |   9 +
 drivers/pwm/Makefile                               |   1 +
 drivers/pwm/pwm-atmel-hlcdc.c                      | 216 +++++++
 include/linux/mfd/atmel-hlcdc.h                    |  78 +++
 29 files changed, 4173 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/drm/atmel-hlcdc-dc.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/Kconfig
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/Makefile
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_panel.c
 create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
 create mode 100644 drivers/gpu/drm/atmel_hlcdc/Kconfig
 create mode 100644 drivers/gpu/drm/atmel_hlcdc/Makefile
 create mode 100644 drivers/mfd/atmel-hlcdc.c
 create mode 100644 drivers/pwm/pwm-atmel-hlcdc.c
 create mode 100644 include/linux/mfd/atmel-hlcdc.h

-- 
1.8.3.2


^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2014-07-04 13:31 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-09 16:04 [PATCH v2 0/7] drm: add support for Atmel HLCDC Display Controller Boris BREZILLON
2014-06-09 16:04 ` Boris BREZILLON
2014-06-09 16:04 ` [PATCH v2 1/7] mfd: add atmel-hlcdc driver Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-15  8:53   ` Jean-Jacques Hiblot
2014-06-15  8:53     ` Jean-Jacques Hiblot
2014-06-15 14:48     ` Boris BREZILLON
2014-06-15 14:48       ` Boris BREZILLON
2014-06-16  7:46       ` Jean-Jacques Hiblot
2014-06-16  7:46         ` Jean-Jacques Hiblot
2014-06-16  7:46         ` Jean-Jacques Hiblot
2014-06-16 12:50   ` Lee Jones
2014-06-16 12:50     ` Lee Jones
2014-06-16 13:23     ` Boris BREZILLON
2014-06-16 13:23       ` Boris BREZILLON
2014-06-16 13:23       ` Boris BREZILLON
2014-06-16 17:03       ` Lee Jones
2014-06-16 17:03         ` Lee Jones
2014-06-16 17:03         ` Lee Jones
2014-06-16 17:09         ` Boris BREZILLON
2014-06-16 17:09           ` Boris BREZILLON
2014-06-09 16:04 ` [PATCH v2 2/7] pwm: add support for atmel-hlcdc-pwm device Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-13 11:43   ` Alexandre Belloni
2014-06-13 11:43     ` Alexandre Belloni
2014-06-13 12:17     ` Boris BREZILLON
2014-06-13 12:17       ` Boris BREZILLON
2014-06-15  9:11   ` Jean-Jacques Hiblot
2014-06-15  9:11     ` Jean-Jacques Hiblot
2014-06-15 14:55     ` Boris BREZILLON
2014-06-15 14:55       ` Boris BREZILLON
2014-07-04 13:31     ` Boris BREZILLON
2014-07-04 13:31       ` Boris BREZILLON
2014-06-09 16:04 ` [PATCH v2 3/7] drm: add Atmel HLCDC Display Controller support Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-15  9:32   ` Jean-Jacques Hiblot
2014-06-15 15:00     ` Boris BREZILLON
2014-06-15 15:00       ` Boris BREZILLON
2014-06-17  9:06   ` Boris BREZILLON
2014-07-03 13:34   ` Boris BREZILLON
2014-06-09 16:04 ` [PATCH v2 4/7] ARM: at91/dt: split sama5d3 lcd pin definitions to match RGB mode configs Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-19  7:07   ` Bo Shen
2014-06-19  7:07     ` Bo Shen
2014-06-19  7:07     ` Bo Shen
2014-06-19  7:40     ` Boris BREZILLON
2014-06-19  7:40       ` Boris BREZILLON
2014-06-19 11:42     ` Boris BREZILLON
2014-06-19 11:42       ` Boris BREZILLON
2014-06-09 16:04 ` [PATCH v2 5/7] ARM: at91/dt: define the HLCDC node available on sama5d3 SoCs Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-09 16:04 ` [PATCH v2 6/7] ARM: at91/dt: add LCD panel description to sama5d3xdm.dtsi Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-09 16:04 ` [PATCH v2 7/7] ARM: at91/dt: enable the LCD panel on sama5d3xek boards Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-09 16:04   ` Boris BREZILLON
2014-06-19  7:12   ` Bo Shen
2014-06-19  7:12     ` Bo Shen
2014-06-19  7:12     ` Bo Shen
2014-06-19  7:54     ` Boris BREZILLON
2014-06-19  7:54       ` Boris BREZILLON

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.