drm/msm: basic KMS driver for snapdragon
The snapdragon chips have multiple different display controllers,
depending on which chip variant/version. (As far as I can tell, current
devices have either MDP3 or MDP4, and upcoming devices have MDSS.) And
then external to the display controller are HDMI, DSI, etc. blocks which
may be shared across devices which have different display controller
blocks.
To more easily add support for different display controller blocks, the
display controller specific bits are split out into a "kms" module,
which provides the kms plane/crtc/encoder objects.
The external HDMI, DSI, etc. blocks are part encoder, and part connector
currently. But I think I will pull in the drm_bridge patches from
chromeos tree, and split them into a bridge+connector, with the
registers that need to be set in modeset handled by the bridge. This
would remove the 'msm_connector' base class. But some things need to be
double checked to make sure I could get the correct ON/OFF sequencing..
This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
(part of MDP4 block), and hdmi.
Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-06-26 16:44:06 +00:00
|
|
|
|
|
|
|
config DRM_MSM
|
|
|
|
tristate "MSM DRM"
|
|
|
|
depends on DRM
|
2014-05-30 19:37:54 +00:00
|
|
|
depends on ARCH_QCOM || (ARM && COMPILE_TEST)
|
2015-01-28 13:48:09 +00:00
|
|
|
depends on OF && COMMON_CLK
|
2017-01-11 13:33:35 +00:00
|
|
|
depends on MMU
|
2014-10-31 16:19:40 +00:00
|
|
|
select REGULATOR
|
drm/msm: basic KMS driver for snapdragon
The snapdragon chips have multiple different display controllers,
depending on which chip variant/version. (As far as I can tell, current
devices have either MDP3 or MDP4, and upcoming devices have MDSS.) And
then external to the display controller are HDMI, DSI, etc. blocks which
may be shared across devices which have different display controller
blocks.
To more easily add support for different display controller blocks, the
display controller specific bits are split out into a "kms" module,
which provides the kms plane/crtc/encoder objects.
The external HDMI, DSI, etc. blocks are part encoder, and part connector
currently. But I think I will pull in the drm_bridge patches from
chromeos tree, and split them into a bridge+connector, with the
registers that need to be set in modeset handled by the bridge. This
would remove the 'msm_connector' base class. But some things need to be
double checked to make sure I could get the correct ON/OFF sequencing..
This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
(part of MDP4 block), and hdmi.
Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-06-26 16:44:06 +00:00
|
|
|
select DRM_KMS_HELPER
|
2014-08-01 17:08:11 +00:00
|
|
|
select DRM_PANEL
|
drm/msm: basic KMS driver for snapdragon
The snapdragon chips have multiple different display controllers,
depending on which chip variant/version. (As far as I can tell, current
devices have either MDP3 or MDP4, and upcoming devices have MDSS.) And
then external to the display controller are HDMI, DSI, etc. blocks which
may be shared across devices which have different display controller
blocks.
To more easily add support for different display controller blocks, the
display controller specific bits are split out into a "kms" module,
which provides the kms plane/crtc/encoder objects.
The external HDMI, DSI, etc. blocks are part encoder, and part connector
currently. But I think I will pull in the drm_bridge patches from
chromeos tree, and split them into a bridge+connector, with the
registers that need to be set in modeset handled by the bridge. This
would remove the 'msm_connector' base class. But some things need to be
double checked to make sure I could get the correct ON/OFF sequencing..
This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
(part of MDP4 block), and hdmi.
Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-06-26 16:44:06 +00:00
|
|
|
select SHMEM
|
|
|
|
select TMPFS
|
2015-04-02 21:49:01 +00:00
|
|
|
select QCOM_SCM
|
2016-06-10 09:45:56 +00:00
|
|
|
select SND_SOC_HDMI_CODEC if SND_SOC
|
2016-06-16 20:08:19 +00:00
|
|
|
select SYNC_FILE
|
drm/msm: basic KMS driver for snapdragon
The snapdragon chips have multiple different display controllers,
depending on which chip variant/version. (As far as I can tell, current
devices have either MDP3 or MDP4, and upcoming devices have MDSS.) And
then external to the display controller are HDMI, DSI, etc. blocks which
may be shared across devices which have different display controller
blocks.
To more easily add support for different display controller blocks, the
display controller specific bits are split out into a "kms" module,
which provides the kms plane/crtc/encoder objects.
The external HDMI, DSI, etc. blocks are part encoder, and part connector
currently. But I think I will pull in the drm_bridge patches from
chromeos tree, and split them into a bridge+connector, with the
registers that need to be set in modeset handled by the bridge. This
would remove the 'msm_connector' base class. But some things need to be
double checked to make sure I could get the correct ON/OFF sequencing..
This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
(part of MDP4 block), and hdmi.
Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-06-26 16:44:06 +00:00
|
|
|
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.
|
2015-03-31 18:36:33 +00:00
|
|
|
|
2016-03-20 14:16:29 +00:00
|
|
|
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
|
|
|
|
|
2015-03-31 18:36:33 +00:00
|
|
|
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.
|
|
|
|
|
2015-05-15 17:04:04 +00:00
|
|
|
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.
|
2015-08-13 21:45:53 +00:00
|
|
|
|
|
|
|
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.
|
2015-10-14 06:30:34 +00:00
|
|
|
|
|
|
|
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.
|
2017-01-03 14:15:43 +00:00
|
|
|
|
|
|
|
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.
|