aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/tidss
diff options
context:
space:
mode:
authorNikhil M Jain2023-07-27 12:01:26 +0530
committerAnatolij Gustschin2023-08-01 13:41:02 +0200
commitb8d3a6c7d12fc6101f99cde0acedb4a799fdb5f3 (patch)
treef556c662c07a7e2888493e5b810f9096b293ee58 /drivers/video/tidss
parent3f9b5a7ffa75871b238f931af37f8f595e998838 (diff)
drivers: video: tidss: tidss_drv: Use kconfig VIDEO_REMOVE to remove video
Perform removal of DSS if kconfigs VIDEO_REMOVE or SPL_VIDEO_REMOVE is set by user. Otherwise if above Kconfigs are not selected, it is assumed that user wants splash screen to be displayed until linux kernel boots up. In such scenario, leave the power domain of DSS as "on" so that splash screen stays intact until kernel boots up. Signed-off-by: Nikhil M Jain <n-jain1@ti.com> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Diffstat (limited to 'drivers/video/tidss')
-rw-r--r--drivers/video/tidss/tidss_drv.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c
index 623bf4cf31f..e285f255d76 100644
--- a/drivers/video/tidss/tidss_drv.c
+++ b/drivers/video/tidss/tidss_drv.c
@@ -901,9 +901,11 @@ static int tidss_drv_probe(struct udevice *dev)
static int tidss_drv_remove(struct udevice *dev)
{
- struct tidss_drv_priv *priv = dev_get_priv(dev);
+ if (CONFIG_IS_ENABLED(VIDEO_REMOVE)) {
+ struct tidss_drv_priv *priv = dev_get_priv(dev);
- VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0);
+ VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0);
+ }
return 0;
}
@@ -929,5 +931,9 @@ U_BOOT_DRIVER(tidss_drv) = {
.probe = tidss_drv_probe,
.remove = tidss_drv_remove,
.priv_auto = sizeof(struct tidss_drv_priv),
+#if CONFIG_IS_ENABLED(VIDEO_REMOVE)
.flags = DM_FLAG_OS_PREPARE,
+#else
+ .flags = DM_FLAG_OS_PREPARE | DM_FLAG_LEAVE_PD_ON,
+#endif
};