diff options
| author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-11-08 03:16:09 -0700 | 
|---|---|---|
| committer | Paul Walmsley <paul@pwsan.com> | 2011-11-08 03:16:09 -0700 | 
| commit | b8ac10d8b75843c9ddd6aadf70a0cdf8aa783659 (patch) | |
| tree | 94bf21f155e8318cd8050fded397b1c5fa3dfd1e /arch/arm/mach-omap2 | |
| parent | 1258ea596fe0422272525d9ec8a25b703de4623f (diff) | |
| download | olio-linux-3.10-b8ac10d8b75843c9ddd6aadf70a0cdf8aa783659.tar.xz olio-linux-3.10-b8ac10d8b75843c9ddd6aadf70a0cdf8aa783659.zip  | |
ARM: OMAP2xxx: HWMOD: fix DSS clock data
The OMAP2xxx HWMOD data currently contains two errors with DSS clocks:
- dss_rfbi is missing ick opt-clock, which is needed for RFBI to
  calculate timings
- dss_venc's interface and main clocks are wrong, causing VENC to fail
  to start
These problems were temporarily fixed with a DSS patch
9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
for OMAP2/3"), which can be reverted after this patch (and the similar
patches for other OMAPs).
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2')
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2420_data.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2430_data.c | 10 | 
2 files changed, 16 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c index 5160e3509d5..74037a5807a 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c @@ -965,6 +965,10 @@ static struct omap_hwmod_ocp_if *omap2420_dss_rfbi_slaves[] = {  	&omap2420_l4_core__dss_rfbi,  }; +static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = { +	{ .role = "ick", .clk = "dss_ick" }, +}; +  static struct omap_hwmod omap2420_dss_rfbi_hwmod = {  	.name		= "dss_rfbi",  	.class		= &omap2_rfbi_hwmod_class, @@ -976,6 +980,8 @@ static struct omap_hwmod omap2420_dss_rfbi_hwmod = {  			.module_offs = CORE_MOD,  		},  	}, +	.opt_clks	= dss_rfbi_opt_clks, +	.opt_clks_cnt	= ARRAY_SIZE(dss_rfbi_opt_clks),  	.slaves		= omap2420_dss_rfbi_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap2420_dss_rfbi_slaves),  	.flags		= HWMOD_NO_IDLEST, @@ -985,7 +991,7 @@ static struct omap_hwmod omap2420_dss_rfbi_hwmod = {  static struct omap_hwmod_ocp_if omap2420_l4_core__dss_venc = {  	.master		= &omap2420_l4_core_hwmod,  	.slave		= &omap2420_dss_venc_hwmod, -	.clk		= "dss_54m_fck", +	.clk		= "dss_ick",  	.addr		= omap2_dss_venc_addrs,  	.fw = {  		.omap2 = { @@ -1005,7 +1011,7 @@ static struct omap_hwmod_ocp_if *omap2420_dss_venc_slaves[] = {  static struct omap_hwmod omap2420_dss_venc_hwmod = {  	.name		= "dss_venc",  	.class		= &omap2_venc_hwmod_class, -	.main_clk	= "dss1_fck", +	.main_clk	= "dss_54m_fck",  	.prcm		= {  		.omap2 = {  			.prcm_reg_id = 1, diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c index d02a44ea7f9..6f0365388df 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c @@ -1020,6 +1020,10 @@ static struct omap_hwmod_ocp_if *omap2430_dss_rfbi_slaves[] = {  	&omap2430_l4_core__dss_rfbi,  }; +static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = { +	{ .role = "ick", .clk = "dss_ick" }, +}; +  static struct omap_hwmod omap2430_dss_rfbi_hwmod = {  	.name		= "dss_rfbi",  	.class		= &omap2_rfbi_hwmod_class, @@ -1031,6 +1035,8 @@ static struct omap_hwmod omap2430_dss_rfbi_hwmod = {  			.module_offs = CORE_MOD,  		},  	}, +	.opt_clks	= dss_rfbi_opt_clks, +	.opt_clks_cnt	= ARRAY_SIZE(dss_rfbi_opt_clks),  	.slaves		= omap2430_dss_rfbi_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap2430_dss_rfbi_slaves),  	.flags		= HWMOD_NO_IDLEST, @@ -1040,7 +1046,7 @@ static struct omap_hwmod omap2430_dss_rfbi_hwmod = {  static struct omap_hwmod_ocp_if omap2430_l4_core__dss_venc = {  	.master		= &omap2430_l4_core_hwmod,  	.slave		= &omap2430_dss_venc_hwmod, -	.clk		= "dss_54m_fck", +	.clk		= "dss_ick",  	.addr		= omap2_dss_venc_addrs,  	.flags		= OCPIF_SWSUP_IDLE,  	.user		= OCP_USER_MPU | OCP_USER_SDMA, @@ -1054,7 +1060,7 @@ static struct omap_hwmod_ocp_if *omap2430_dss_venc_slaves[] = {  static struct omap_hwmod omap2430_dss_venc_hwmod = {  	.name		= "dss_venc",  	.class		= &omap2_venc_hwmod_class, -	.main_clk	= "dss1_fck", +	.main_clk	= "dss_54m_fck",  	.prcm		= {  		.omap2 = {  			.prcm_reg_id = 1,  |