diff options
author | Jon Hunter <jon-hunter@ti.com> | 2012-09-23 19:28:28 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-09-23 19:28:28 -0400 |
commit | c7dad45f351e9bea8ebaa974f01b01c8f69432b4 (patch) | |
tree | 7aa124b6e3ffddf7880aba706530c7363f704b9a /arch | |
parent | b71c72178e24118214f21567a15adcad61b4238a (diff) |
ARM: OMAP3: hwmod data: Add debugss HWMOD data
To enable PMU with runtime PM support on OMAP3 devices we need to be able to
dynamically enable and disable the debug sub-system at runtime. By adding HWMOD
data for the debug sub-system for OMAP3, we can build the PMU device using the
debug sub-system HWMOD and control this power domain using runtime PM.
Reviewed-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
[paul@pwsan.com: updated to apply; added L4-EMU address space]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 5ef9007ace50..ffc014244386 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | |||
@@ -124,6 +124,24 @@ static struct omap_hwmod omap3xxx_iva_hwmod = { | |||
124 | }, | 124 | }, |
125 | }; | 125 | }; |
126 | 126 | ||
127 | /* | ||
128 | * 'debugss' class | ||
129 | * debug and emulation sub system | ||
130 | */ | ||
131 | |||
132 | static struct omap_hwmod_class omap3xxx_debugss_hwmod_class = { | ||
133 | .name = "debugss", | ||
134 | }; | ||
135 | |||
136 | /* debugss */ | ||
137 | static struct omap_hwmod omap3xxx_debugss_hwmod = { | ||
138 | .name = "debugss", | ||
139 | .class = &omap3xxx_debugss_hwmod_class, | ||
140 | .clkdm_name = "emu_clkdm", | ||
141 | .main_clk = "emu_src_ck", | ||
142 | .flags = HWMOD_NO_IDLEST, | ||
143 | }; | ||
144 | |||
127 | /* timer class */ | 145 | /* timer class */ |
128 | static struct omap_hwmod_class_sysconfig omap3xxx_timer_1ms_sysc = { | 146 | static struct omap_hwmod_class_sysconfig omap3xxx_timer_1ms_sysc = { |
129 | .rev_offs = 0x0000, | 147 | .rev_offs = 0x0000, |
@@ -2186,6 +2204,23 @@ static struct omap_hwmod_ocp_if omap3xxx_mpu__l3_main = { | |||
2186 | .user = OCP_USER_MPU, | 2204 | .user = OCP_USER_MPU, |
2187 | }; | 2205 | }; |
2188 | 2206 | ||
2207 | static struct omap_hwmod_addr_space omap3xxx_l4_emu_addrs[] = { | ||
2208 | { | ||
2209 | .pa_start = 0x54000000, | ||
2210 | .pa_end = 0x547fffff, | ||
2211 | .flags = ADDR_TYPE_RT, | ||
2212 | }, | ||
2213 | { } | ||
2214 | }; | ||
2215 | |||
2216 | /* l3 -> debugss */ | ||
2217 | static struct omap_hwmod_ocp_if omap3xxx_l3_main__l4_debugss = { | ||
2218 | .master = &omap3xxx_l3_main_hwmod, | ||
2219 | .slave = &omap3xxx_debugss_hwmod, | ||
2220 | .addr = &omap3xxx_l4_emu_hwmod, | ||
2221 | .user = OCP_USER_MPU, | ||
2222 | }; | ||
2223 | |||
2189 | /* DSS -> l3 */ | 2224 | /* DSS -> l3 */ |
2190 | static struct omap_hwmod_ocp_if omap3430es1_dss__l3 = { | 2225 | static struct omap_hwmod_ocp_if omap3430es1_dss__l3 = { |
2191 | .master = &omap3430es1_dss_core_hwmod, | 2226 | .master = &omap3430es1_dss_core_hwmod, |
@@ -3506,6 +3541,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_hwmod_ocp_ifs[] __initdata = { | |||
3506 | &omap3xxx_l3_main__l4_core, | 3541 | &omap3xxx_l3_main__l4_core, |
3507 | &omap3xxx_l3_main__l4_per, | 3542 | &omap3xxx_l3_main__l4_per, |
3508 | &omap3xxx_mpu__l3_main, | 3543 | &omap3xxx_mpu__l3_main, |
3544 | &omap3xxx_l3_main__l4_debugss, | ||
3509 | &omap3xxx_l4_core__l4_wkup, | 3545 | &omap3xxx_l4_core__l4_wkup, |
3510 | &omap3xxx_l4_core__mmc3, | 3546 | &omap3xxx_l4_core__mmc3, |
3511 | &omap3_l4_core__uart1, | 3547 | &omap3_l4_core__uart1, |