[PATCH v3 0/4] Introduce ClockworkPi CWD686 DRM panel driver

From: Max Fierke
Date: Sat Sep 17 2022 - 23:44:57 EST


The ClockworkPi DevTerm (all models) uses a 6.86" IPS display
of unknown provenance, which uses the Chipone ICNL9707 IC driver[1].

The display panel I have has two model numbers: TXW686001 and WTL068601G,
but cannot find any manufacturer associated with either, so opting for the
ClockworkPi model number.

This driver is based on the GPL-licensed driver released by ClockworkPi[1],
authored by Pinfan Zhu, with some additional cleanup, rotation support,
and display sleep re-enabling done by me.

[1] https://github.com/clockworkpi/DevTerm/blob/main/Schematics/ICNL9707_Datasheet.pdf
[2] https://github.com/clockworkpi/DevTerm/blob/main/Code/patch/armbian_build_a06/patch/kernel-004-panel.patch

Thanks to Krzysztof Kozlowski, Rob Herring, and Sam Ravnborg for their
prior reviews and apologies for the long delay between patch set versions.

Changes in v3:
- dt-bindings: add missing lines for spacing

Changes in v2:
- dt-bindings: remove redundant backlight example
- add missing regulators
- remove some unused properties from definition (e.g. enable_gpio, supply)
- reorder includes
- remove redundant ctx->backlight in favor of backlight through drm_panel_of_backlight
- remove now-unneeded ctx->enabled and enable/disable hooks
- replace ICNL9707_DCS macro with mipi_dsi_dcs_write_seq
- use dev_err_probe instead of checking EPROBE_DEFER
- fixed return type of cwd686_remove to be void following changes to mipi_dsi_driver
- add .get_orientation callback

Max Fierke (4):
dt-bindings: vendor-prefixes: Add prefix for ClockworkPi
dt-bindings: display: Add ClockworkPi CWD686 panel
drm: panel: Add driver for ClockworkPi cwd686 panel
drm/panel: clockworkpi-cwd686: Implement .get_orientation callback

.../display/panel/clockworkpi,cwd686.yaml | 65 +++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
drivers/gpu/drm/panel/Kconfig | 12 +
drivers/gpu/drm/panel/Makefile | 1 +
.../gpu/drm/panel/panel-clockworkpi-cwd686.c | 456 ++++++++++++++++++
5 files changed, 536 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
create mode 100644 drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c

--
2.37.2