71f68fe7f1
SoCs like the rk3288 and rk3399 have 3 mipi dphys on them. One is TX- only, one is RX-only and one can be configured to do either TX or RX. The RX phy is statically connected to the first Image Signal Processor, the TX phy is statically connected to the first DSI controller and the TXRX phy is connected to both the second DSI controller as well as the second ISP. The RX dphy is controlled externally through registers in the "General Register Files", while the other two are controlled through the "Configuration and Test Interface" inside their DSI controller's io-memory area. The Rockchip dw-dsi controller already controls these dphys for the TX case in the driver, but when we want to also allow configuration for RX to the ISP from the media subsystem we need to expose phy- functionality instead. So add a bit of infrastructure to allow the dsi driver to work as a phy and make sure it can be only one or the other at a time. Similarly as the dsi-controller will be part of the drm-graph when active, add an empty component to the drm-graph when in phy-mode to make the rest of the drm-graph not wait for it. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Tested-by: Sebastian Fricke <sebastian.fricke@posteo.net> Acked-by: Helen Koike <helen.koike@collabora.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210210111020.2476369-4-heiko@sntech.de
93 lines
3.1 KiB
Plaintext
93 lines
3.1 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config DRM_ROCKCHIP
|
|
tristate "DRM Support for Rockchip"
|
|
depends on DRM && ROCKCHIP_IOMMU
|
|
select DRM_GEM_CMA_HELPER
|
|
select DRM_KMS_HELPER
|
|
select DRM_PANEL
|
|
select VIDEOMODE_HELPERS
|
|
select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP
|
|
select DRM_DW_HDMI if ROCKCHIP_DW_HDMI
|
|
select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI
|
|
select DRM_RGB if ROCKCHIP_RGB
|
|
select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI
|
|
select GENERIC_PHY_MIPI_DPHY if ROCKCHIP_DW_MIPI_DSI
|
|
select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC
|
|
help
|
|
Choose this option if you have a Rockchip soc chipset.
|
|
This driver provides kernel mode setting and buffer
|
|
management to userspace. This driver does not provide
|
|
2D or 3D acceleration; acceleration is performed by other
|
|
IP found on the SoC.
|
|
|
|
if DRM_ROCKCHIP
|
|
|
|
config ROCKCHIP_ANALOGIX_DP
|
|
bool "Rockchip specific extensions for Analogix DP driver"
|
|
help
|
|
This selects support for Rockchip SoC specific extensions
|
|
for the Analogix Core DP driver. If you want to enable DP
|
|
on RK3288 or RK3399 based SoC, you should select this option.
|
|
|
|
config ROCKCHIP_CDN_DP
|
|
bool "Rockchip cdn DP"
|
|
depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m)
|
|
help
|
|
This selects support for Rockchip SoC specific extensions
|
|
for the cdn DP driver. If you want to enable Dp on
|
|
RK3399 based SoC, you should select this
|
|
option.
|
|
|
|
config ROCKCHIP_DW_HDMI
|
|
bool "Rockchip specific extensions for Synopsys DW HDMI"
|
|
help
|
|
This selects support for Rockchip SoC specific extensions
|
|
for the Synopsys DesignWare HDMI driver. If you want to
|
|
enable HDMI on RK3288 or RK3399 based SoC, you should select
|
|
this option.
|
|
|
|
config ROCKCHIP_DW_MIPI_DSI
|
|
bool "Rockchip specific extensions for Synopsys DW MIPI DSI"
|
|
select GENERIC_PHY_MIPI_DPHY
|
|
help
|
|
This selects support for Rockchip SoC specific extensions
|
|
for the Synopsys DesignWare dsi driver. If you want to
|
|
enable MIPI DSI on RK3288 or RK3399 based SoC, you should
|
|
select this option.
|
|
|
|
config ROCKCHIP_INNO_HDMI
|
|
bool "Rockchip specific extensions for Innosilicon HDMI"
|
|
help
|
|
This selects support for Rockchip SoC specific extensions
|
|
for the Innosilicon HDMI driver. If you want to enable
|
|
HDMI on RK3036 based SoC, you should select this option.
|
|
|
|
config ROCKCHIP_LVDS
|
|
bool "Rockchip LVDS support"
|
|
depends on DRM_ROCKCHIP
|
|
depends on PINCTRL && OF
|
|
help
|
|
Choose this option to enable support for Rockchip LVDS controllers.
|
|
Rockchip rk3288 SoC has LVDS TX Controller can be used, and it
|
|
support LVDS, rgb, dual LVDS output mode. say Y to enable its
|
|
driver.
|
|
|
|
config ROCKCHIP_RGB
|
|
bool "Rockchip RGB support"
|
|
depends on DRM_ROCKCHIP
|
|
depends on PINCTRL
|
|
help
|
|
Choose this option to enable support for Rockchip RGB output.
|
|
Some Rockchip CRTCs, like rv1108, can directly output parallel
|
|
and serial RGB format to panel or connect to a conversion chip.
|
|
say Y to enable its driver.
|
|
|
|
config ROCKCHIP_RK3066_HDMI
|
|
bool "Rockchip specific extensions for RK3066 HDMI"
|
|
depends on DRM_ROCKCHIP
|
|
help
|
|
This selects support for Rockchip SoC specific extensions
|
|
for the RK3066 HDMI driver. If you want to enable
|
|
HDMI on RK3066 based SoC, you should select this option.
|
|
endif
|