Introduce ClockworkPi CWD686 DRM panel driver
From: | Charlotte �leńkec <lotte-AT-chir.rs> | |
To: | neil.armstrong-AT-linaro.org, quic_jesszhan-AT-quicinc.com, robh-AT-kernel.org, krzk+dt-AT-kernel.org, conor+dt-AT-kernel.org, max-AT-maxfierke.com | |
Subject: | [PATCH v4 0/4] Introduce ClockworkPi CWD686 DRM panel driver | |
Date: | Tue, 01 Apr 2025 09:18:30 +0100 | |
Message-ID: | <20250401081852.283532-1-lotte@chir.rs> | |
Cc: | dri-devel-AT-lists.freedesktop.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org | |
Archive-link: | Article |
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/Schemati... [2] https://github.com/clockworkpi/DevTerm/blob/main/Code/pat... 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