forked from Minki/linux
f079f6d999
Extend the DSI PHY/PLL drivers to support the DSI 14nm PHY/PLL found on 8x96. These are picked up from the downstream driver. The PHY part is similar to the other DSI PHYs. The PLL driver requires some trickery so that one DSI PLL can drive both the DSIs (i.e, dual DSI mode). In the case of dual DSI mode. One DSI instance becomes the clock master, and other the clock slave. The master PLL's output (Byte and Pixel clock) is fed to both the DSI hosts/PHYs. When the DSIs are configured in dual DSI mode, the PHY driver communicates to the PLL driver using msm_dsi_pll_set_usecase() which instance is the master and which one is the slave. When setting rate, the master PLL also configures some of the slave PLL/PHY registers which need to be identical to the master's for correct dual DSI behaviour. There are 2 PLL post dividers that should have ideally been modelled as generic clk_divider clocks, but require some customization for dual DSI. In particular, when the master PLL's post-diviers are set, the slave PLL's post-dividers need to be set too. The clk_ops for these use clk_divider's helper ops and flags internally to prevent redundant code. Cc: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Archit Taneja <architt@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
82 lines
2.0 KiB
Plaintext
82 lines
2.0 KiB
Plaintext
|
|
config DRM_MSM
|
|
tristate "MSM DRM"
|
|
depends on DRM
|
|
depends on ARCH_QCOM || (ARM && COMPILE_TEST)
|
|
depends on OF && COMMON_CLK
|
|
depends on MMU
|
|
select REGULATOR
|
|
select DRM_KMS_HELPER
|
|
select DRM_PANEL
|
|
select SHMEM
|
|
select TMPFS
|
|
select QCOM_SCM
|
|
select SND_SOC_HDMI_CODEC if SND_SOC
|
|
select SYNC_FILE
|
|
default y
|
|
help
|
|
DRM/KMS driver for MSM/snapdragon.
|
|
|
|
config DRM_MSM_REGISTER_LOGGING
|
|
bool "MSM DRM register logging"
|
|
depends on DRM_MSM
|
|
default n
|
|
help
|
|
Compile in support for logging register reads/writes in a format
|
|
that can be parsed by envytools demsm tool. If enabled, register
|
|
logging can be switched on via msm.reglog=y module param.
|
|
|
|
config DRM_MSM_HDMI_HDCP
|
|
bool "Enable HDMI HDCP support in MSM DRM driver"
|
|
depends on DRM_MSM && QCOM_SCM
|
|
default y
|
|
help
|
|
Choose this option to enable HDCP state machine
|
|
|
|
config DRM_MSM_DSI
|
|
bool "Enable DSI support in MSM DRM driver"
|
|
depends on DRM_MSM
|
|
select DRM_PANEL
|
|
select DRM_MIPI_DSI
|
|
default y
|
|
help
|
|
Choose this option if you have a need for MIPI DSI connector
|
|
support.
|
|
|
|
config DRM_MSM_DSI_PLL
|
|
bool "Enable DSI PLL driver in MSM DRM"
|
|
depends on DRM_MSM_DSI && COMMON_CLK
|
|
default y
|
|
help
|
|
Choose this option to enable DSI PLL driver which provides DSI
|
|
source clocks under common clock framework.
|
|
|
|
config DRM_MSM_DSI_28NM_PHY
|
|
bool "Enable DSI 28nm PHY driver in MSM DRM"
|
|
depends on DRM_MSM_DSI
|
|
default y
|
|
help
|
|
Choose this option if the 28nm DSI PHY is used on the platform.
|
|
|
|
config DRM_MSM_DSI_20NM_PHY
|
|
bool "Enable DSI 20nm PHY driver in MSM DRM"
|
|
depends on DRM_MSM_DSI
|
|
default y
|
|
help
|
|
Choose this option if the 20nm DSI PHY is used on the platform.
|
|
|
|
config DRM_MSM_DSI_28NM_8960_PHY
|
|
bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
|
|
depends on DRM_MSM_DSI
|
|
default y
|
|
help
|
|
Choose this option if the 28nm DSI PHY 8960 variant is used on the
|
|
platform.
|
|
|
|
config DRM_MSM_DSI_14NM_PHY
|
|
bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
|
|
depends on DRM_MSM_DSI
|
|
default y
|
|
help
|
|
Choose this option if DSI PHY on 8996 is used on the platform.
|