mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-26 22:07:51 +00:00
18ff66cb77
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
164 lines
6.1 KiB
Diff
164 lines
6.1 KiB
Diff
From 497db49799f6c84f5073c6b78e58094ba0b0d52e Mon Sep 17 00:00:00 2001
|
|
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Date: Sat, 9 Jul 2011 20:39:45 -0600
|
|
Subject: [PATCH 067/149] OMAP4: hwmod data: Change DSS main_clk scheme
|
|
|
|
Currently using pm_runtime with DSS requires the DSS driver to enable
|
|
the DSS functional clock before calling pm_runtime_get(). That makes it
|
|
impossible to use pm_runtime in DSS as it is meant to be used, with
|
|
pm_runtime callbacks.
|
|
|
|
This patch changes the hwmod database for OMAP4 so that enabling the
|
|
hwmod via pm_runtime will also enable the DSS functional clock, allowing
|
|
us to use pm_runtime properly in DSS driver.
|
|
|
|
The DSS HWMOD side is not really correct, not before nor after this
|
|
patch, and getting DSS to retention will probably not work currently.
|
|
However, it is not supported in the mainline kernel anyway, so this
|
|
won't break anything.
|
|
|
|
So this patch allows us to write the pm_runtime adaptation for the DSS
|
|
driver the way it should be done, and the HWMOD/PM side can be fixed
|
|
later.
|
|
|
|
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
|
|
Signed-off-by: Paul Walmsley <paul@pwsan.com>
|
|
---
|
|
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 28 ++++++++++++++--------------
|
|
1 files changed, 14 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
|
|
index a7fbe5c..b25ab83 100644
|
|
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
|
|
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
|
|
@@ -1136,7 +1136,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dma_addrs[] = {
|
|
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss = {
|
|
.master = &omap44xx_l3_main_2_hwmod,
|
|
.slave = &omap44xx_dss_hwmod,
|
|
- .clk = "l3_div_ck",
|
|
+ .clk = "dss_fck",
|
|
.addr = omap44xx_dss_dma_addrs,
|
|
.user = OCP_USER_SDMA,
|
|
};
|
|
@@ -1175,7 +1175,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {
|
|
static struct omap_hwmod omap44xx_dss_hwmod = {
|
|
.name = "dss_core",
|
|
.class = &omap44xx_dss_hwmod_class,
|
|
- .main_clk = "dss_fck",
|
|
+ .main_clk = "dss_dss_clk",
|
|
.prcm = {
|
|
.omap4 = {
|
|
.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
|
|
@@ -1238,7 +1238,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dispc_dma_addrs[] = {
|
|
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dispc = {
|
|
.master = &omap44xx_l3_main_2_hwmod,
|
|
.slave = &omap44xx_dss_dispc_hwmod,
|
|
- .clk = "l3_div_ck",
|
|
+ .clk = "dss_fck",
|
|
.addr = omap44xx_dss_dispc_dma_addrs,
|
|
.user = OCP_USER_SDMA,
|
|
};
|
|
@@ -1279,7 +1279,7 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
|
|
.flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET,
|
|
.mpu_irqs = omap44xx_dss_dispc_irqs,
|
|
.sdma_reqs = omap44xx_dss_dispc_sdma_reqs,
|
|
- .main_clk = "dss_fck",
|
|
+ .main_clk = "dss_dss_clk",
|
|
.prcm = {
|
|
.omap4 = {
|
|
.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
|
|
@@ -1338,7 +1338,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi1_dma_addrs[] = {
|
|
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi1 = {
|
|
.master = &omap44xx_l3_main_2_hwmod,
|
|
.slave = &omap44xx_dss_dsi1_hwmod,
|
|
- .clk = "l3_div_ck",
|
|
+ .clk = "dss_fck",
|
|
.addr = omap44xx_dss_dsi1_dma_addrs,
|
|
.user = OCP_USER_SDMA,
|
|
};
|
|
@@ -1376,7 +1376,7 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
|
|
.class = &omap44xx_dsi_hwmod_class,
|
|
.mpu_irqs = omap44xx_dss_dsi1_irqs,
|
|
.sdma_reqs = omap44xx_dss_dsi1_sdma_reqs,
|
|
- .main_clk = "dss_fck",
|
|
+ .main_clk = "dss_dss_clk",
|
|
.prcm = {
|
|
.omap4 = {
|
|
.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
|
|
@@ -1414,7 +1414,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi2_dma_addrs[] = {
|
|
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi2 = {
|
|
.master = &omap44xx_l3_main_2_hwmod,
|
|
.slave = &omap44xx_dss_dsi2_hwmod,
|
|
- .clk = "l3_div_ck",
|
|
+ .clk = "dss_fck",
|
|
.addr = omap44xx_dss_dsi2_dma_addrs,
|
|
.user = OCP_USER_SDMA,
|
|
};
|
|
@@ -1452,7 +1452,7 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
|
|
.class = &omap44xx_dsi_hwmod_class,
|
|
.mpu_irqs = omap44xx_dss_dsi2_irqs,
|
|
.sdma_reqs = omap44xx_dss_dsi2_sdma_reqs,
|
|
- .main_clk = "dss_fck",
|
|
+ .main_clk = "dss_dss_clk",
|
|
.prcm = {
|
|
.omap4 = {
|
|
.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
|
|
@@ -1510,7 +1510,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_hdmi_dma_addrs[] = {
|
|
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_hdmi = {
|
|
.master = &omap44xx_l3_main_2_hwmod,
|
|
.slave = &omap44xx_dss_hdmi_hwmod,
|
|
- .clk = "l3_div_ck",
|
|
+ .clk = "dss_fck",
|
|
.addr = omap44xx_dss_hdmi_dma_addrs,
|
|
.user = OCP_USER_SDMA,
|
|
};
|
|
@@ -1548,7 +1548,7 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
|
|
.class = &omap44xx_hdmi_hwmod_class,
|
|
.mpu_irqs = omap44xx_dss_hdmi_irqs,
|
|
.sdma_reqs = omap44xx_dss_hdmi_sdma_reqs,
|
|
- .main_clk = "dss_fck",
|
|
+ .main_clk = "dss_dss_clk",
|
|
.prcm = {
|
|
.omap4 = {
|
|
.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
|
|
@@ -1601,7 +1601,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_rfbi_dma_addrs[] = {
|
|
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_rfbi = {
|
|
.master = &omap44xx_l3_main_2_hwmod,
|
|
.slave = &omap44xx_dss_rfbi_hwmod,
|
|
- .clk = "l3_div_ck",
|
|
+ .clk = "dss_fck",
|
|
.addr = omap44xx_dss_rfbi_dma_addrs,
|
|
.user = OCP_USER_SDMA,
|
|
};
|
|
@@ -1638,7 +1638,7 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
|
|
.name = "dss_rfbi",
|
|
.class = &omap44xx_rfbi_hwmod_class,
|
|
.sdma_reqs = omap44xx_dss_rfbi_sdma_reqs,
|
|
- .main_clk = "dss_fck",
|
|
+ .main_clk = "dss_dss_clk",
|
|
.prcm = {
|
|
.omap4 = {
|
|
.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
|
|
@@ -1675,7 +1675,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_venc_dma_addrs[] = {
|
|
static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_venc = {
|
|
.master = &omap44xx_l3_main_2_hwmod,
|
|
.slave = &omap44xx_dss_venc_hwmod,
|
|
- .clk = "l3_div_ck",
|
|
+ .clk = "dss_fck",
|
|
.addr = omap44xx_dss_venc_dma_addrs,
|
|
.user = OCP_USER_SDMA,
|
|
};
|
|
@@ -1707,7 +1707,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_venc_slaves[] = {
|
|
static struct omap_hwmod omap44xx_dss_venc_hwmod = {
|
|
.name = "dss_venc",
|
|
.class = &omap44xx_venc_hwmod_class,
|
|
- .main_clk = "dss_fck",
|
|
+ .main_clk = "dss_dss_clk",
|
|
.prcm = {
|
|
.omap4 = {
|
|
.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
|
|
--
|
|
1.7.2.5
|
|
|