linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Cc: b-cousson@ti.com, paul@pwsan.com, khilman@ti.com,
	Tomi Valkeinen <tomi.valkeinen@ti.com>
Subject: [PATCHv2 15/28] OMAP4: HWMOD: Modify DSS opt clocks
Date: Thu, 09 Jun 2011 13:56:37 +0000	[thread overview]
Message-ID: <1307627810-3768-16-git-send-email-tomi.valkeinen@ti.com> (raw)
In-Reply-To: <1307627810-3768-1-git-send-email-tomi.valkeinen@ti.com>

Add missing DSS optional clocks to HWMOD data for OMAP4xxx.

Add HWMOD_CONTROL_OPT_CLKS_IN_RESET flag for dispc to fix dispc reset.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   40 ++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index abc548a..4f6ae94 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -1263,9 +1263,21 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dispc_slaves[] = {
 	&omap44xx_l4_per__dss_dispc,
 };
 
+static struct omap_hwmod_opt_clk dispc_opt_clks[] = {
+	{ .role = "dss_clk", .clk = "dss_dss_clk" },
+	/*
+	 * The rest of the clocks are not needed by the driver,
+	 * but are needed by the hwmod to reset DSS properly.
+	 */
+	{ .role = "sys_clk", .clk = "dss_sys_clk" },
+	{ .role = "tv_clk", .clk = "dss_tv_clk" },
+	{ .role = "hdmi_clk", .clk = "dss_48mhz_clk" },
+};
+
 static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
 	.name		= "dss_dispc",
 	.class		= &omap44xx_dispc_hwmod_class,
+	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
 	.mpu_irqs	= omap44xx_dss_dispc_irqs,
 	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_irqs),
 	.sdma_reqs	= omap44xx_dss_dispc_sdma_reqs,
@@ -1276,6 +1288,8 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
 		},
 	},
+	.opt_clks	= dispc_opt_clks,
+	.opt_clks_cnt	= ARRAY_SIZE(dispc_opt_clks),
 	.slaves		= omap44xx_dss_dispc_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
@@ -1354,6 +1368,11 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dsi1_slaves[] = {
 	&omap44xx_l4_per__dss_dsi1,
 };
 
+static struct omap_hwmod_opt_clk dsi1_opt_clks[] = {
+	{ .role = "dss_clk", .clk = "dss_dss_clk" },
+	{ .role = "sys_clk", .clk = "dss_sys_clk" },
+};
+
 static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
 	.name		= "dss_dsi1",
 	.class		= &omap44xx_dsi_hwmod_class,
@@ -1367,6 +1386,8 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
 		},
 	},
+	.opt_clks	= dsi1_opt_clks,
+	.opt_clks_cnt	= ARRAY_SIZE(dsi1_opt_clks),
 	.slaves		= omap44xx_dss_dsi1_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
@@ -1514,6 +1535,11 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_hdmi_slaves[] = {
 	&omap44xx_l4_per__dss_hdmi,
 };
 
+static struct omap_hwmod_opt_clk hdmi_opt_clks[] = {
+	{ .role = "sys_clk", .clk = "dss_sys_clk" },
+	{ .role = "hdmi_clk", .clk = "dss_48mhz_clk" },
+};
+
 static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
 	.name		= "dss_hdmi",
 	.class		= &omap44xx_hdmi_hwmod_class,
@@ -1527,6 +1553,8 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
 		},
 	},
+	.opt_clks	= hdmi_opt_clks,
+	.opt_clks_cnt	= ARRAY_SIZE(hdmi_opt_clks),
 	.slaves		= omap44xx_dss_hdmi_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
@@ -1600,6 +1628,10 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_rfbi_slaves[] = {
 	&omap44xx_l4_per__dss_rfbi,
 };
 
+static struct omap_hwmod_opt_clk rfbi_opt_clks[] = {
+	{ .role = "rfbi_iclk", .clk = "dss_fck" },
+};
+
 static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
 	.name		= "dss_rfbi",
 	.class		= &omap44xx_rfbi_hwmod_class,
@@ -1611,6 +1643,8 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
 		},
 	},
+	.opt_clks	= rfbi_opt_clks,
+	.opt_clks_cnt	= ARRAY_SIZE(rfbi_opt_clks),
 	.slaves		= omap44xx_dss_rfbi_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
@@ -1669,6 +1703,10 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_venc_slaves[] = {
 	&omap44xx_l4_per__dss_venc,
 };
 
+static struct omap_hwmod_opt_clk venc_opt_clks[] = {
+	{ .role = "tv_clk", .clk = "dss_tv_clk" },
+};
+
 static struct omap_hwmod omap44xx_dss_venc_hwmod = {
 	.name		= "dss_venc",
 	.class		= &omap44xx_venc_hwmod_class,
@@ -1678,6 +1716,8 @@ static struct omap_hwmod omap44xx_dss_venc_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
 		},
 	},
+	.opt_clks	= venc_opt_clks,
+	.opt_clks_cnt	= ARRAY_SIZE(venc_opt_clks),
 	.slaves		= omap44xx_dss_venc_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_venc_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-- 
1.7.4.1


  parent reply	other threads:[~2011-06-09 13:56 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-09 13:56 [PATCHv2 00/28] OMAP DSS runtime PM adaptation Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 01/28] OMAP: change get_context_loss_count ret value to int Tomi Valkeinen
2011-06-13  9:51   ` [PATCHv2 01/28] OMAP: change get_context_loss_count ret value Tomi Valkeinen
2011-06-13 16:37     ` [PATCHv2 01/28] OMAP: change get_context_loss_count ret value to int Ghongdemath, Girish
2011-06-13 16:45       ` [PATCHv2 01/28] OMAP: change get_context_loss_count ret value Tomi Valkeinen
2011-06-14  7:13     ` Paul Walmsley
2011-06-14  7:24       ` Tomi Valkeinen
2011-06-14 13:55         ` Rajendra Nayak
2011-06-15  9:19           ` Rajendra Nayak
2011-08-21  6:19   ` Paul Walmsley
2011-10-06 23:11   ` Paul Walmsley
2011-10-06 23:14     ` Tony Lindgren
2011-06-09 13:56 ` [PATCHv2 02/28] OMAP: DSS2: Taal: Make driver more fault tolerant Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 03/28] OMAP: DSS2: Reset LANEx_ULPS_SIG2 bits after use Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 04/28] OMAP: DSS2: Handle dpll4_m4_ck in dss_get/put_clocks Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 05/28] OMAP: DSS2: Clean up probe for DSS & DSI Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 06/28] OMAP: DSS2: Init dispc first before other components Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 07/28] OMAP: DSS2: Remove clk optimization at dss init Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 08/28] OMAP: DSS2: rewrite use of context_loss_count Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 09/28] OMAP: DSS2: Use omap_pm_get_dev_context_loss_count to get ctx loss count Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 10/28] OMAP: DSS2: DPI: remove unneeded SYSCK enable/disable Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 11/28] OMAP: DSS2: Add FEAT_VENC_REQUIRES_TV_DAC_CLK Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 12/28] OMAP: DSS2: Add new FEAT definitions for features missing from OMAP2 Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 13/28] OMAP: DSS2: Remove core_dump_clocks Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 14/28] OMAP: DSS2: Remove CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET Tomi Valkeinen
2011-06-09 13:56 ` Tomi Valkeinen [this message]
2011-06-15 11:23   ` [PATCHv2 15/28] OMAP4: HWMOD: Modify DSS opt clocks Tomi Valkeinen
2011-06-21  6:20     ` Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 16/28] OMAP3: HWMOD: Add " Tomi Valkeinen
2011-07-15  6:49   ` Paul Walmsley
2011-08-02  1:27     ` Paul Walmsley
2011-08-02  7:47       ` Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 17/28] OMAP2420: " Tomi Valkeinen
2011-07-15  6:48   ` Paul Walmsley
2011-08-02  1:14     ` Paul Walmsley
2011-08-02  7:57       ` Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 18/28] OMAP2430: " Tomi Valkeinen
2011-07-15  6:49   ` Paul Walmsley
2011-06-09 13:56 ` [PATCHv2 19/28] OMAP4: HWMOD: change DSS main_clk scheme Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 20/28] OMAP: DSS2: Use PM runtime & HWMOD support Tomi Valkeinen
2011-06-09 20:03   ` Paul Mundt
2011-06-10  6:52     ` Tomi Valkeinen
2011-06-10  7:24       ` Paul Mundt
2011-06-21 14:49   ` Kevin Hilman
2011-06-21 15:18     ` Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 21/28] OMAP4: HWMOD: Remove unneeded DSS opt clocks Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 22/28] OMAP: DSS2: Remove unused opt_clock_available Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 23/28] OMAP: DSS2: DISPC: remove finegrained clk enables/disables Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 24/28] OMAP: DSS2: Remove unused code from display.c Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 25/28] OMAP: DSS2: Remove ctx loss count from dss.c Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 26/28] OMAP4: CLKDEV: Remove omapdss clock aliases Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 27/28] OMAP: DSS2: DISPC: Fix context save/restore Tomi Valkeinen
2011-06-09 13:56 ` [PATCHv2 28/28] OMAP: DSS2: DSS: " Tomi Valkeinen
2011-06-09 14:27 ` [PATCHv2 00/28] OMAP DSS runtime PM adaptation Tomi Valkeinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1307627810-3768-16-git-send-email-tomi.valkeinen@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=b-cousson@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).