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@xxxxxxxxxxxxx> for > suggesting the regmap solution and to Liu Ying <Ying.Liu@xxxxxxxxxxxxx> > 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 >