On Thu, Jan 20, 2022 at 10:00 PM Neil Armstrong narmstrong@baylibre.com wrote:
Hi,
On 20/01/2022 15:24, Jagan Teki wrote:
On Thu, Jan 20, 2022 at 2:04 PM Neil Armstrong narmstrong@baylibre.com wrote:
The Amlogic G12A/G12B/SM1 SoCs embeds a Synopsys DW-MIPI-DSI transceiver (ver 1.21a), with a custom glue managing the IP resets, clock and data input similar to the DW-HDMI Glue on other Amlogic SoCs.
This adds support for the Glue managing the transceiver, mimicing the init flow provided by Amlogic to setup the ENCL encoder, the glue, the transceiver, the digital D-PHY and the Analog PHY in the proper way.
An optional "MEAS" clock can be enabled to measure the delay between each vsync feeding the DW-MIPI-DSI transceiver.
Signed-off-by: Neil Armstrong narmstrong@baylibre.com
drivers/gpu/drm/meson/Kconfig | 7 + drivers/gpu/drm/meson/Makefile | 1 + drivers/gpu/drm/meson/meson_dw_mipi_dsi.c | 357 ++++++++++++++++++++++ drivers/gpu/drm/meson/meson_dw_mipi_dsi.h | 160 ++++++++++ 4 files changed, 525 insertions(+) create mode 100644 drivers/gpu/drm/meson/meson_dw_mipi_dsi.c create mode 100644 drivers/gpu/drm/meson/meson_dw_mipi_dsi.h
diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig index 6c70fc3214af..71a1364b51e1 100644 --- a/drivers/gpu/drm/meson/Kconfig +++ b/drivers/gpu/drm/meson/Kconfig @@ -17,3 +17,10 @@ config DRM_MESON_DW_HDMI default y if DRM_MESON select DRM_DW_HDMI imply DRM_DW_HDMI_I2S_AUDIO
+config DRM_MESON_DW_MIPI_DSI
tristate "MIPI DSI Synopsys Controller support for Amlogic Meson Display"
depends on DRM_MESON
default y if DRM_MESON
select DRM_DW_MIPI_DSI
select GENERIC_PHY_MIPI_DPHY
diff --git a/drivers/gpu/drm/meson/Makefile b/drivers/gpu/drm/meson/Makefile index 833e18c20603..43071bdbd4b9 100644 --- a/drivers/gpu/drm/meson/Makefile +++ b/drivers/gpu/drm/meson/Makefile @@ -6,3 +6,4 @@ meson-drm-y += meson_encoder_hdmi.o meson_encoder_dsi.o
obj-$(CONFIG_DRM_MESON) += meson-drm.o obj-$(CONFIG_DRM_MESON_DW_HDMI) += meson_dw_hdmi.o +obj-$(CONFIG_DRM_MESON_DW_MIPI_DSI) += meson_dw_mipi_dsi.o
Can the naming convention prefix with dw-mipi-dsi like other glue drivers follow?
Seems only rockchip names their glue like that:
$ find drivers/gpu/drm/ -name "*dw*mipi*dsi*.c" drivers/gpu/drm/meson/meson_dw_mipi_dsi.c drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
If you look at dw-hdmi it's even worse:
$ find drivers/gpu/drm/ -name "*dw*hdmi*.c" | grep -v mod drivers/gpu/drm/meson/meson_dw_hdmi.c drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c drivers/gpu/drm/bridge/synopsys/dw-hdmi.c drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c drivers/gpu/drm/imx/dw_hdmi-imx.c drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
Look like there is no standard naming, thanks.
Jagan.