[PATCH v4 0/2] drm/bridge: Support for Toshiba tc358768 RGB to DSI bridge

From: Peter Ujfalusi
Date: Fri Jan 31 2020 - 06:15:26 EST


Hi,

Changes since v3:
- bindings/example: Fixed the node name
- bindings/example: Added include for GPIO_ACTIVE_LOW and fixed up the gpio
binding
- driver: Moved the label for goto in tc358768_calc_pll()
- driver: Replaced the refcounting of enabled with a simple bool as hw_enable()
is only called from one place (tc358768_bridge_pre_enable)
- driver: Added Reviewed-by from Andrzej

Changes since v2:
- Implement pre_enable and post_disbale callbacks and move code from enable and
disable callbacks.
- hw_enable/disable is removed from tc358768_dsi_host_transfer()
- Defines for DSI_CONFW accesses
- breakout from the loops (the check for it) is moved one level up in
tc358768_calc_pll()

Changes since v1:
DT bindings document:
- Removed MaxItems for the regulators
- additionalProperties: false added to port@1

Driver:
- Year is now 2020
- Includes shorted
- The three letter members of the private struct documented 0 they are named as
in the datasheet
- Error handling for the IO functions is following what sil-sii8620.c does
- regmap regcache is disabled along with refcache_sync() and volatile callback
for regmap
- The hw enable and disable functions got separated
- Taken the suggested simplifactions from Andrzej for tc358768_calc_pll() and
tc358768_dsi_host_transfer()
- The driver no longer stores the drm_display_mode, it relies on
priv->bridge.encoder->crtc->state->adjusted_mode where it needs it
- tc358768_calc_pll() can be used for verification only to not modify the state
- refcounting added for hw enable state as a dsi transfer was shutting down the
bridge when it was already enabled.

Tested on top of drm-next + LED backlight patches + DT patches on dra7-evm with
osd101t2045 (panel-simple) and osd101t2587 panel drivers.

Cover letter from v1:
TC358768 is a parallel RGB to MIPI DSI bridge.

The initial driver supports MIPI_DSI_MODE_VIDEO, MIPI_DSI_FMT_RGB888 and
only write is implemented for mipi_dsi_host_ops.transfer due to lack of hardware
where other modes can be tested.

Regards,
Peter
---
Peter Ujfalusi (2):
dt-bindings: display: bridge: Add documentation for Toshiba tc358768
drm/bridge: Add tc358768 driver

.../display/bridge/toshiba,tc358768.yaml | 159 +++
drivers/gpu/drm/bridge/Kconfig | 10 +
drivers/gpu/drm/bridge/Makefile | 1 +
drivers/gpu/drm/bridge/tc358768.c | 1044 +++++++++++++++++
4 files changed, 1214 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml
create mode 100644 drivers/gpu/drm/bridge/tc358768.c

--
Peter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki