[Linux-stm32] [PATCH v4 0/4] Genericize DW MIPI DSI bridge and add i.MX 6 driver

Philippe CORNU philippe.cornu at st.com
Fri Dec 6 10:29:02 UTC 2019


Hi Adrian,

And sorry for this late reply.
Your patches look good and we ("stm guys") understand that v1.01 is very 
different to v1.30/31.

We are doing our best to review & test your patches and we will go back 
to you asap.
Many thanks,
Philippe :-)


On 12/2/19 8:33 PM, Adrian Ratiu wrote:
> Having a generic Synopsis DesignWare MIPI-DSI host controller bridge
> driver is a very good idea, however the current implementation has
> hardcoded quite a lot of the register layouts used by the two supported
> SoC vendors, STM and Rockchip, which use IP cores v1.30 and v1.31.
> 
> This makes it hard to support other SoC vendors like the FSL/NXP i.MX 6
> which use older v1.01 cores or future versions because, based on history,
> layout changes should also be expected in new DSI versions / SoCs.
> 
> This patch series converts the bridge and platform drivers to access
> registers via generic regmap APIs and allows each platform driver to
> configure its register layout via struct reg_fields, then adds support
> for the host controller found on i.MX 6.
> 
> I only have i.MX hardware with MIPI-DSI panel and relevant documentation
> available for testing so I'll really appreciate it if someone could test
> the series on Rockchip and STM... eyeballing register fields could only
> get me so far, so sorry in advance for any breakage!
> 
> Many thanks to Boris Brezillon <boris.brezillon at collabora.com> for
> suggesting the regmap solution and to Liu Ying <Ying.Liu at freescale.com>
> for doing the initial i.MX platform driver implementation.
> 
> This series applies on top of latest linux-next tree, next-20191202.
> 
> v3 -> v4:
>    * Added commmit message to dt-binding patch (Neil)
>    * Converted the dt-binding to yaml dt-schema format (Neil)
>    * Small DT node + driver fixes (Rob)
>    * Renamed platform driver to reflect it's only for i.MX v6 (Fabio)
>    * Added small panel example to the host controller DT binding
> 
> v2 -> v3:
>    * Added const declarations to dw-mipi-dsi.c structs (Emil)
>    * Fixed Reviewed-by tags and cc'd some more relevant ML (Emil)
> 
> v1 -> v2:
>    * Moved register definitions & regmap initialization into bridge
>    module. Platform drivers get the regmap via plat_data after calling
>    the bridge probe (Emil).
> 
> Adrian Ratiu (4):
>    drm: bridge: dw_mipi_dsi: access registers via a regmap
>    drm: bridge: dw_mipi_dsi: abstract register access using reg_fields
>    drm: imx: Add i.MX 6 MIPI DSI host driver
>    dt-bindings: display: add i.MX6 MIPI DSI host controller doc
> 
>   .../display/imx/fsl,mipi-dsi-imx6.yaml        | 136 ++++
>   drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 699 +++++++++++++-----
>   drivers/gpu/drm/imx/Kconfig                   |   7 +
>   drivers/gpu/drm/imx/Makefile                  |   1 +
>   drivers/gpu/drm/imx/dw_mipi_dsi-imx6.c        | 378 ++++++++++
>   .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c   |  17 +-
>   drivers/gpu/drm/stm/dw_mipi_dsi-stm.c         |  34 +-
>   include/drm/bridge/dw_mipi_dsi.h              |   2 +-
>   8 files changed, 1067 insertions(+), 207 deletions(-)
>   create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,mipi-dsi-imx6.yaml
>   create mode 100644 drivers/gpu/drm/imx/dw_mipi_dsi-imx6.c
> 


More information about the dri-devel mailing list