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 Max Fierke has has two model numbers: TXW686001 and
WTL068601G, but couldn’t find any manufacturer associated with either, so
he opted 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 Max Fierke.
[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.
I hope this is the correct way of reviving old patches.
Changes in v4:
- Use existing clockwork vendor ID
- Update the panel initalization code for DRM changes
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