* [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database
@ 2013-06-18 5:07 Vaibhav Hiremath
2013-06-18 5:07 ` [PATCH 1/2] ARM: AM33XX: clock: Add debugSS clock nodes Vaibhav Hiremath
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Vaibhav Hiremath @ 2013-06-18 5:07 UTC (permalink / raw)
To: linux-omap; +Cc: tony, paul, linux-arm-kernel, b-cousson, Vaibhav Hiremath
This patch adds DebugSS data to clock-tree and hwmod data files.
Changes from RFC/V1 (No code change):
- Based on comments, we have to follow DT and loadable module
approach for debugSS module as well, so separated out 2 patches
of clock-tree and hwmod data addition from the RFC patch-series.
- Added Paul's Ack on clock-tree patch.
- Rebased on top of Benoit's for-3.11/dts branch.
Link to original RFC -
http://archive.arm.linux.org.uk/lurker/message/20130304.113554.53c9ec25.en.html
Vaibhav Hiremath (2):
ARM: AM33XX: clock: Add debugSS clock nodes
ARM: AM33XX: hwmod: Add hwmod data for debugSS
arch/arm/mach-omap2/cclock33xx_data.c | 47 +++++++++++++++++--
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 69 +++++++++++++++++++---------
2 files changed, 89 insertions(+), 27 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] ARM: AM33XX: clock: Add debugSS clock nodes
2013-06-18 5:07 [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Vaibhav Hiremath
@ 2013-06-18 5:07 ` Vaibhav Hiremath
2013-06-18 5:08 ` [PATCH 2/2] ARM: AM33XX: hwmod: Add hwmod data for debugSS Vaibhav Hiremath
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Vaibhav Hiremath @ 2013-06-18 5:07 UTC (permalink / raw)
To: linux-omap; +Cc: tony, paul, linux-arm-kernel, b-cousson, Vaibhav Hiremath
Represent debugSS clock interface as provided in
CM_WKUP_DEBUGSS_CLKCTRL register, includes
- Clock gate for optional DEBUG_CLKA and DBGSYSCLK
- Clock Mux for TRC_PMD and STM_PMD
- Clock divider for STM and TPIU
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/cclock33xx_data.c | 47 +++++++++++++++++++++++++++++---
1 files changed, 42 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c b/arch/arm/mach-omap2/cclock33xx_data.c
index af3544c..6fd0ed1 100644
--- a/arch/arm/mach-omap2/cclock33xx_data.c
+++ b/arch/arm/mach-omap2/cclock33xx_data.c
@@ -431,15 +431,11 @@ DEFINE_STRUCT_CLK(aes0_fck, dpll_core_ck_parents, clk_ops_null);
* - Driver code is not yet migrated to use hwmod/runtime pm
* - Modules outside kernel access (to disable them by default)
*
- * - debugss
* - mmu (gfx domain)
* - cefuse
* - usbotg_fck (its additional clock and not really a modulemode)
* - ieee5000
*/
-DEFINE_CLK_GATE(debugss_ick, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0,
- AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT,
- 0x0, NULL);
DEFINE_CLK_GATE(mmu_fck, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0,
AM33XX_CM_GFX_MMUDATA_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT,
@@ -863,6 +859,42 @@ static struct clk_hw_omap wdt1_fck_hw = {
DEFINE_STRUCT_CLK(wdt1_fck, wdt_ck_parents, gpio_fck_ops);
/*
+ * debugss optional clocks
+ */
+DEFINE_CLK_GATE(dbg_sysclk_ck, "sys_clkin_ck", &sys_clkin_ck,
+ 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
+ AM33XX_OPTFCLKEN_DBGSYSCLK_SHIFT, 0x0, NULL);
+
+DEFINE_CLK_GATE(dbg_clka_ck, "dpll_core_m4_ck", &dpll_core_m4_ck,
+ 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
+ AM33XX_OPTCLK_DEBUG_CLKA_SHIFT, 0x0, NULL);
+
+static const char *stm_pmd_clock_mux_ck_parents[] = {
+ "dbg_sysclk_ck", "dbg_clka_ck",
+};
+
+DEFINE_CLK_MUX(stm_pmd_clock_mux_ck, stm_pmd_clock_mux_ck_parents, NULL, 0x0,
+ AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, AM33XX_STM_PMD_CLKSEL_SHIFT,
+ AM33XX_STM_PMD_CLKSEL_WIDTH, 0x0, NULL);
+
+DEFINE_CLK_MUX(trace_pmd_clk_mux_ck, stm_pmd_clock_mux_ck_parents, NULL, 0x0,
+ AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
+ AM33XX_TRC_PMD_CLKSEL_SHIFT,
+ AM33XX_TRC_PMD_CLKSEL_WIDTH, 0x0, NULL);
+
+DEFINE_CLK_DIVIDER(stm_clk_div_ck, "stm_pmd_clock_mux_ck",
+ &stm_pmd_clock_mux_ck, 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
+ AM33XX_STM_PMD_CLKDIVSEL_SHIFT,
+ AM33XX_STM_PMD_CLKDIVSEL_WIDTH, CLK_DIVIDER_POWER_OF_TWO,
+ NULL);
+
+DEFINE_CLK_DIVIDER(trace_clk_div_ck, "trace_pmd_clk_mux_ck",
+ &trace_pmd_clk_mux_ck, 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
+ AM33XX_TRC_PMD_CLKDIVSEL_SHIFT,
+ AM33XX_TRC_PMD_CLKDIVSEL_WIDTH, CLK_DIVIDER_POWER_OF_TWO,
+ NULL);
+
+/*
* clkdev
*/
static struct omap_clk am33xx_clks[] = {
@@ -899,7 +931,6 @@ static struct omap_clk am33xx_clks[] = {
CLK("481cc000.d_can", NULL, &dcan0_fck),
CLK(NULL, "dcan1_fck", &dcan1_fck),
CLK("481d0000.d_can", NULL, &dcan1_fck),
- CLK(NULL, "debugss_ick", &debugss_ick),
CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk),
CLK(NULL, "mcasp0_fck", &mcasp0_fck),
CLK(NULL, "mcasp1_fck", &mcasp1_fck),
@@ -942,6 +973,12 @@ static struct omap_clk am33xx_clks[] = {
CLK(NULL, "clkout2_div_ck", &clkout2_div_ck),
CLK(NULL, "timer_32k_ck", &clkdiv32k_ick),
CLK(NULL, "timer_sys_ck", &sys_clkin_ck),
+ CLK(NULL, "dbg_sysclk_ck", &dbg_sysclk_ck),
+ CLK(NULL, "dbg_clka_ck", &dbg_clka_ck),
+ CLK(NULL, "stm_pmd_clock_mux_ck", &stm_pmd_clock_mux_ck),
+ CLK(NULL, "trace_pmd_clk_mux_ck", &trace_pmd_clk_mux_ck),
+ CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck),
+ CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck),
};
--
1.7.0.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] ARM: AM33XX: hwmod: Add hwmod data for debugSS
2013-06-18 5:07 [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Vaibhav Hiremath
2013-06-18 5:07 ` [PATCH 1/2] ARM: AM33XX: clock: Add debugSS clock nodes Vaibhav Hiremath
@ 2013-06-18 5:08 ` Vaibhav Hiremath
2013-06-18 9:42 ` [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Cousson, Benoit
2013-06-19 0:49 ` Benoit Cousson
3 siblings, 0 replies; 6+ messages in thread
From: Vaibhav Hiremath @ 2013-06-18 5:08 UTC (permalink / raw)
To: linux-omap; +Cc: tony, paul, linux-arm-kernel, b-cousson, Vaibhav Hiremath
In the original hwmod data file, DebugSS entry was disabled,
since we didn't (and do not) have SW to control it.
This patch enables it back with right data, so that it can be
controlled by different ways; and the suggested method it to
have modular driver for debugSS as well.
Refer to the link for more discussion on handling of debugSS -
https://patchwork.kernel.org/patch/2212111/
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 69 +++++++++++++++++++---------
1 files changed, 47 insertions(+), 22 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
index 075f7cc..2a4bf69 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -416,7 +416,6 @@ static struct omap_hwmod am33xx_adc_tsc_hwmod = {
*
* - cEFUSE (doesn't fall under any ocp_if)
* - clkdiv32k
- * - debugss
* - ocp watch point
*/
#if 0
@@ -460,27 +459,6 @@ static struct omap_hwmod am33xx_clkdiv32k_hwmod = {
},
};
-/*
- * 'debugss' class
- * debug sub system
- */
-static struct omap_hwmod_class am33xx_debugss_hwmod_class = {
- .name = "debugss",
-};
-
-static struct omap_hwmod am33xx_debugss_hwmod = {
- .name = "debugss",
- .class = &am33xx_debugss_hwmod_class,
- .clkdm_name = "l3_aon_clkdm",
- .main_clk = "debugss_ick",
- .prcm = {
- .omap4 = {
- .clkctrl_offs = AM33XX_CM_WKUP_DEBUGSS_CLKCTRL_OFFSET,
- .modulemode = MODULEMODE_SWCTRL,
- },
- },
-};
-
/* ocpwp */
static struct omap_hwmod_class am33xx_ocpwp_hwmod_class = {
.name = "ocpwp",
@@ -598,6 +576,34 @@ static struct omap_hwmod am33xx_ocmcram_hwmod = {
},
};
+/*
+ * 'debugss' class
+ * debug sub system
+ */
+static struct omap_hwmod_opt_clk debugss_opt_clks[] = {
+ { .role = "dbg_sysclk", .clk = "dbg_sysclk_ck" },
+ { .role = "dbg_clka", .clk = "dbg_clka_ck" },
+};
+
+static struct omap_hwmod_class am33xx_debugss_hwmod_class = {
+ .name = "debugss",
+};
+
+static struct omap_hwmod am33xx_debugss_hwmod = {
+ .name = "debugss",
+ .class = &am33xx_debugss_hwmod_class,
+ .clkdm_name = "l3_aon_clkdm",
+ .main_clk = "trace_clk_div_ck",
+ .prcm = {
+ .omap4 = {
+ .clkctrl_offs = AM33XX_CM_WKUP_DEBUGSS_CLKCTRL_OFFSET,
+ .modulemode = MODULEMODE_SWCTRL,
+ },
+ },
+ .opt_clks = debugss_opt_clks,
+ .opt_clks_cnt = ARRAY_SIZE(debugss_opt_clks),
+};
+
/* 'smartreflex' class */
static struct omap_hwmod_class am33xx_smartreflex_hwmod_class = {
.name = "smartreflex",
@@ -2382,6 +2388,24 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__gfx = {
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
+/* l3_main -> debugss */
+static struct omap_hwmod_addr_space am33xx_debugss_addrs[] = {
+ {
+ .pa_start = 0x4b000000,
+ .pa_end = 0x4b000000 + SZ_16M - 1,
+ .flags = ADDR_TYPE_RT
+ },
+ { }
+};
+
+static struct omap_hwmod_ocp_if am33xx_l3_main__debugss = {
+ .master = &am33xx_l3_main_hwmod,
+ .slave = &am33xx_debugss_hwmod,
+ .clk = "dpll_core_m4_ck",
+ .addr = am33xx_debugss_addrs,
+ .user = OCP_USER_MPU,
+};
+
/* l4 wkup -> smartreflex0 */
static struct omap_hwmod_addr_space am33xx_smartreflex0_addrs[] = {
{
@@ -3533,6 +3557,7 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
&am33xx_pruss__l3_main,
&am33xx_wkup_m3__l4_wkup,
&am33xx_gfx__l3_main,
+ &am33xx_l3_main__debugss,
&am33xx_l4_wkup__wkup_m3,
&am33xx_l4_wkup__control,
&am33xx_l4_wkup__smartreflex0,
--
1.7.0.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database
2013-06-18 5:07 [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Vaibhav Hiremath
2013-06-18 5:07 ` [PATCH 1/2] ARM: AM33XX: clock: Add debugSS clock nodes Vaibhav Hiremath
2013-06-18 5:08 ` [PATCH 2/2] ARM: AM33XX: hwmod: Add hwmod data for debugSS Vaibhav Hiremath
@ 2013-06-18 9:42 ` Cousson, Benoit
2013-06-19 0:49 ` Benoit Cousson
3 siblings, 0 replies; 6+ messages in thread
From: Cousson, Benoit @ 2013-06-18 9:42 UTC (permalink / raw)
To: Vaibhav Hiremath; +Cc: linux-omap, tony, paul, linux-arm-kernel
Hi Vaihbav,
On 6/18/2013 7:07 AM, Vaibhav Hiremath wrote:
> This patch adds DebugSS data to clock-tree and hwmod data files.
>
> Changes from RFC/V1 (No code change):
> - Based on comments, we have to follow DT and loadable module
> approach for debugSS module as well, so separated out 2 patches
> of clock-tree and hwmod data addition from the RFC patch-series.
> - Added Paul's Ack on clock-tree patch.
> - Rebased on top of Benoit's for-3.11/dts branch.
Thanks for the update. I'll apply the series in my branch before sending
the pull request to Tony.
Regards,
Benoit
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database
2013-06-18 5:07 [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Vaibhav Hiremath
` (2 preceding siblings ...)
2013-06-18 9:42 ` [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Cousson, Benoit
@ 2013-06-19 0:49 ` Benoit Cousson
2013-07-29 8:35 ` Paul Walmsley
3 siblings, 1 reply; 6+ messages in thread
From: Benoit Cousson @ 2013-06-19 0:49 UTC (permalink / raw)
To: Vaibhav Hiremath, paul; +Cc: linux-omap, tony, linux-arm-kernel
Hi Vaibhav,
On 06/18/2013 12:07 AM, Vaibhav Hiremath wrote:
> This patch adds DebugSS data to clock-tree and hwmod data files.
>
> Changes from RFC/V1 (No code change):
> - Based on comments, we have to follow DT and loadable module
> approach for debugSS module as well, so separated out 2 patches
> of clock-tree and hwmod data addition from the RFC patch-series.
> - Added Paul's Ack on clock-tree patch.
> - Rebased on top of Benoit's for-3.11/dts branch.
>
> Link to original RFC -
> http://archive.arm.linux.org.uk/lurker/message/20130304.113554.53c9ec25.en.html
>
> Vaibhav Hiremath (2):
> ARM: AM33XX: clock: Add debugSS clock nodes
I'll take that one, but the next one:
> ARM: AM33XX: hwmod: Add hwmod data for debugSS
Still need to go through Paul's tree.
Paul,
Do you want to ack it, so I'll be able to take the whole series?
Thanks,
Benoit
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database
2013-06-19 0:49 ` Benoit Cousson
@ 2013-07-29 8:35 ` Paul Walmsley
0 siblings, 0 replies; 6+ messages in thread
From: Paul Walmsley @ 2013-07-29 8:35 UTC (permalink / raw)
To: Vaibhav Hiremath, Benoit Cousson; +Cc: linux-omap, tony, linux-arm-kernel
Hi guys
On Tue, 18 Jun 2013, Benoit Cousson wrote:
> On 06/18/2013 12:07 AM, Vaibhav Hiremath wrote:
> > This patch adds DebugSS data to clock-tree and hwmod data files.
> >
> > Changes from RFC/V1 (No code change):
> > - Based on comments, we have to follow DT and loadable module
> > approach for debugSS module as well, so separated out 2 patches
> > of clock-tree and hwmod data addition from the RFC patch-series.
> > - Added Paul's Ack on clock-tree patch.
> > - Rebased on top of Benoit's for-3.11/dts branch.
> >
> > Link to original RFC -
> > http://archive.arm.linux.org.uk/lurker/message/20130304.113554.53c9ec25.en.html
> >
> > Vaibhav Hiremath (2):
> > ARM: AM33XX: clock: Add debugSS clock nodes
>
> I'll take that one, but the next one:
>
> > ARM: AM33XX: hwmod: Add hwmod data for debugSS
>
> Still need to go through Paul's tree.
>
> Paul,
>
> Do you want to ack it, so I'll be able to take the whole series?
If you all are still waiting on something from me here, please let me know
-- I lost track of this one...
- Paul
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-07-29 8:35 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-18 5:07 [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Vaibhav Hiremath
2013-06-18 5:07 ` [PATCH 1/2] ARM: AM33XX: clock: Add debugSS clock nodes Vaibhav Hiremath
2013-06-18 5:08 ` [PATCH 2/2] ARM: AM33XX: hwmod: Add hwmod data for debugSS Vaibhav Hiremath
2013-06-18 9:42 ` [PATCH 0/2] ARM: AM33XX: clock: Add debugSS data to clk and hwmod database Cousson, Benoit
2013-06-19 0:49 ` Benoit Cousson
2013-07-29 8:35 ` Paul Walmsley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox