diff options
author | Benoît Cousson <b-cousson@ti.com> | 2012-04-19 15:33:56 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-04-19 15:33:56 -0400 |
commit | 9a817bc815c86322386c457ae670c73390776a2d (patch) | |
tree | ed3a05a325d2fa2fe3750b2c9129f67734d129d1 | |
parent | e17f18c007040053babe785f5ba61aa3536bd77d (diff) |
ARM: OMAP4: hwmod data: add the OCP-WP IP block
Add the OCP-WP hwmod and associated interconnect data. The OCP-WP,
or OCP watchpoint, can be used to collect interconnect data and
transmit it via the STM port.
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index b8e27132e9db..6b29f8d6d945 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -263,6 +263,28 @@ static struct omap_hwmod omap44xx_mpu_private_hwmod = { | |||
263 | }; | 263 | }; |
264 | 264 | ||
265 | /* | 265 | /* |
266 | * 'ocp_wp_noc' class | ||
267 | * instance(s): ocp_wp_noc | ||
268 | */ | ||
269 | static struct omap_hwmod_class omap44xx_ocp_wp_noc_hwmod_class = { | ||
270 | .name = "ocp_wp_noc", | ||
271 | }; | ||
272 | |||
273 | /* ocp_wp_noc */ | ||
274 | static struct omap_hwmod omap44xx_ocp_wp_noc_hwmod = { | ||
275 | .name = "ocp_wp_noc", | ||
276 | .class = &omap44xx_ocp_wp_noc_hwmod_class, | ||
277 | .clkdm_name = "l3_instr_clkdm", | ||
278 | .prcm = { | ||
279 | .omap4 = { | ||
280 | .clkctrl_offs = OMAP4_CM_L3INSTR_OCP_WP1_CLKCTRL_OFFSET, | ||
281 | .context_offs = OMAP4_RM_L3INSTR_OCP_WP1_CONTEXT_OFFSET, | ||
282 | .modulemode = MODULEMODE_HWCTRL, | ||
283 | }, | ||
284 | }, | ||
285 | }; | ||
286 | |||
287 | /* | ||
266 | * Modules omap_hwmod structures | 288 | * Modules omap_hwmod structures |
267 | * | 289 | * |
268 | * The following IPs are excluded for the moment because: | 290 | * The following IPs are excluded for the moment because: |
@@ -281,7 +303,6 @@ static struct omap_hwmod omap44xx_mpu_private_hwmod = { | |||
281 | * efuse_ctrl_std | 303 | * efuse_ctrl_std |
282 | * mpu_c0 | 304 | * mpu_c0 |
283 | * mpu_c1 | 305 | * mpu_c1 |
284 | * ocp_wp_noc | ||
285 | * prcm_mpu | 306 | * prcm_mpu |
286 | * prm | 307 | * prm |
287 | * scrm | 308 | * scrm |
@@ -3535,6 +3556,14 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_3__l3_instr = { | |||
3535 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3556 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3536 | }; | 3557 | }; |
3537 | 3558 | ||
3559 | /* ocp_wp_noc -> l3_instr */ | ||
3560 | static struct omap_hwmod_ocp_if omap44xx_ocp_wp_noc__l3_instr = { | ||
3561 | .master = &omap44xx_ocp_wp_noc_hwmod, | ||
3562 | .slave = &omap44xx_l3_instr_hwmod, | ||
3563 | .clk = "l3_div_ck", | ||
3564 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3565 | }; | ||
3566 | |||
3538 | /* dsp -> l3_main_1 */ | 3567 | /* dsp -> l3_main_1 */ |
3539 | static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = { | 3568 | static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = { |
3540 | .master = &omap44xx_dsp_hwmod, | 3569 | .master = &omap44xx_dsp_hwmod, |
@@ -3813,6 +3842,24 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__mpu_private = { | |||
3813 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 3842 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
3814 | }; | 3843 | }; |
3815 | 3844 | ||
3845 | static struct omap_hwmod_addr_space omap44xx_ocp_wp_noc_addrs[] = { | ||
3846 | { | ||
3847 | .pa_start = 0x4a102000, | ||
3848 | .pa_end = 0x4a10207f, | ||
3849 | .flags = ADDR_TYPE_RT | ||
3850 | }, | ||
3851 | { } | ||
3852 | }; | ||
3853 | |||
3854 | /* l4_cfg -> ocp_wp_noc */ | ||
3855 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__ocp_wp_noc = { | ||
3856 | .master = &omap44xx_l4_cfg_hwmod, | ||
3857 | .slave = &omap44xx_ocp_wp_noc_hwmod, | ||
3858 | .clk = "l4_div_ck", | ||
3859 | .addr = omap44xx_ocp_wp_noc_addrs, | ||
3860 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
3861 | }; | ||
3862 | |||
3816 | static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = { | 3863 | static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = { |
3817 | { | 3864 | { |
3818 | .pa_start = 0x401f1000, | 3865 | .pa_start = 0x401f1000, |
@@ -5625,6 +5672,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
5625 | &omap44xx_l4_cfg__emif_fw, | 5672 | &omap44xx_l4_cfg__emif_fw, |
5626 | &omap44xx_iva__l3_instr, | 5673 | &omap44xx_iva__l3_instr, |
5627 | &omap44xx_l3_main_3__l3_instr, | 5674 | &omap44xx_l3_main_3__l3_instr, |
5675 | &omap44xx_ocp_wp_noc__l3_instr, | ||
5628 | &omap44xx_dsp__l3_main_1, | 5676 | &omap44xx_dsp__l3_main_1, |
5629 | &omap44xx_dss__l3_main_1, | 5677 | &omap44xx_dss__l3_main_1, |
5630 | &omap44xx_l3_main_2__l3_main_1, | 5678 | &omap44xx_l3_main_2__l3_main_1, |
@@ -5656,6 +5704,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
5656 | &omap44xx_l3_main_2__l4_per, | 5704 | &omap44xx_l3_main_2__l4_per, |
5657 | &omap44xx_l4_cfg__l4_wkup, | 5705 | &omap44xx_l4_cfg__l4_wkup, |
5658 | &omap44xx_mpu__mpu_private, | 5706 | &omap44xx_mpu__mpu_private, |
5707 | &omap44xx_l4_cfg__ocp_wp_noc, | ||
5659 | &omap44xx_l4_abe__aess, | 5708 | &omap44xx_l4_abe__aess, |
5660 | &omap44xx_l4_abe__aess_dma, | 5709 | &omap44xx_l4_abe__aess_dma, |
5661 | &omap44xx_l3_main_2__c2c, | 5710 | &omap44xx_l3_main_2__c2c, |