aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoît Cousson <b-cousson@ti.com>2012-04-19 15:33:56 -0400
committerPaul Walmsley <paul@pwsan.com>2012-04-19 15:33:56 -0400
commit9a817bc815c86322386c457ae670c73390776a2d (patch)
treeed3a05a325d2fa2fe3750b2c9129f67734d129d1
parente17f18c007040053babe785f5ba61aa3536bd77d (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.c51
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 */
269static struct omap_hwmod_class omap44xx_ocp_wp_noc_hwmod_class = {
270 .name = "ocp_wp_noc",
271};
272
273/* ocp_wp_noc */
274static 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 */
3560static 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 */
3539static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = { 3568static 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
3845static 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 */
3855static 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
3816static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = { 3863static 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,