mbox series

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

Message ID 20200131111553.472-1-peter.ujfalusi@ti.com (mailing list archive)
Headers show
Series drm/bridge: Support for Toshiba tc358768 RGB to DSI bridge | expand

Message

Peter Ujfalusi Jan. 31, 2020, 11:15 a.m. UTC
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

Comments

Neil Armstrong Feb. 10, 2020, 9:50 a.m. UTC | #1
On 31/01/2020 12:15, Peter Ujfalusi wrote:
> 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
> 


Applying to drm-misc-next

Neil