mbox series

[v4,0/3] Add driver for Himax HX8279 DriverIC panels

Message ID 20250414082918.30298-1-angelogioacchino.delregno@collabora.com (mailing list archive)
Headers show
Series Add driver for Himax HX8279 DriverIC panels | expand

Message

AngeloGioacchino Del Regno April 14, 2025, 8:29 a.m. UTC
Changes in v4:
 - Changed hx8279_set_page() and all other utilities to void (Neil)
 - Changed hx8279_{on,prepare,unprepare}() to return dsi_ctx.accum_err (Neil)
 - Switched to devm_drm_panel_alloc() as suggested (Neil)

Changes in v3:
 - Added support for setting digital gamma parameters and validity check
 - Added support for setting analog gamma parameters
 - Changed gout_{l,r} to a structure and added a description
 - Fixed DSI LPM/HS setting in prepare/unprepare callbacks
 - Remove forced panel off in probe function as that was simply
   useless
 - Renamed function hx8279_check_config to hx8279_check_params
   as that is actually checking multiple parameters and not just
   basic DDIC configuration
 - Moved the GMUX and GOA validation to their own functions to
   improve readability

Changes in v2:
 - Removed unneeded mipi_dsi_device_unregister() call for secondary
   DSI: as the driver is using devm, that's not necessary (CJ)
 - Removed superfluous if branch as pointed out by CJ

This series adds a driver for DSI panels using the Himax HX8279 and
HX8279-D DriverICs, and introduces two panels using such a configuration,
the Startek KX070FHFID078, found on some MediaTek Genio Evaluation Kits,
and the Aoly SL101PM1794FOG-v15 usually found on some I.MX8MM boards.

This panel is found on the latest hardware revisions of some MediaTek
Genio Evaluation Kits, and specifically, at least:
 - Genio 510 EVK
 - Genio 700 EVK
 - Genio 1200 EVK

This driver was tested on all of the aforementioned boards.

AngeloGioacchino Del Regno (3):
  dt-bindings: vendor-prefixes: Add Shenzhen Aoly Technology Co., Ltd.
  dt-bindings: display: panel: Add Himax HX8279/HX8279-D DDIC panels
  drm: panel: Add driver for Himax HX8279 DDIC panels

 .../bindings/display/panel/himax,hx8279.yaml  |   75 +
 .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
 drivers/gpu/drm/panel/Kconfig                 |   11 +
 drivers/gpu/drm/panel/Makefile                |    1 +
 drivers/gpu/drm/panel/panel-himax-hx8279.c    | 1298 +++++++++++++++++
 5 files changed, 1387 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/himax,hx8279.yaml
 create mode 100644 drivers/gpu/drm/panel/panel-himax-hx8279.c

Comments

Neil Armstrong April 17, 2025, 3:43 p.m. UTC | #1
Hi,

On Mon, 14 Apr 2025 10:29:15 +0200, AngeloGioacchino Del Regno wrote:
> Changes in v4:
>  - Changed hx8279_set_page() and all other utilities to void (Neil)
>  - Changed hx8279_{on,prepare,unprepare}() to return dsi_ctx.accum_err (Neil)
>  - Switched to devm_drm_panel_alloc() as suggested (Neil)
> 
> Changes in v3:
>  - Added support for setting digital gamma parameters and validity check
>  - Added support for setting analog gamma parameters
>  - Changed gout_{l,r} to a structure and added a description
>  - Fixed DSI LPM/HS setting in prepare/unprepare callbacks
>  - Remove forced panel off in probe function as that was simply
>    useless
>  - Renamed function hx8279_check_config to hx8279_check_params
>    as that is actually checking multiple parameters and not just
>    basic DDIC configuration
>  - Moved the GMUX and GOA validation to their own functions to
>    improve readability
> 
> [...]

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)

[1/3] dt-bindings: vendor-prefixes: Add Shenzhen Aoly Technology Co., Ltd.
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/a1958a56e52c87aea94c5cb0c08fe61ede929e7c
[2/3] dt-bindings: display: panel: Add Himax HX8279/HX8279-D DDIC panels
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/a424c93db7ea8ffd18c6c170501bb898abf05932
[3/3] drm: panel: Add driver for Himax HX8279 DDIC panels
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/38d42c261389985e8dd4739dbd97e2dc855e8dd0