2 * omap_hwmod_2430.h - hardware modules present on the OMAP2430 chips
4 * Copyright (C) 2009 Nokia Corporation
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
11 * XXX handle crossbar/shared link difference for L3?
14 #ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_HWMOD2430_H
15 #define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_HWMOD2430_H
17 #ifdef CONFIG_ARCH_OMAP2430
19 #include <mach/omap_hwmod.h>
20 #include <mach/irqs.h>
24 #include "prm-regbits-24xx.h"
26 static struct omap_hwmod omap2430_mpu_hwmod
;
27 static struct omap_hwmod omap2430_l3_hwmod
;
28 static struct omap_hwmod omap2430_l4_core_hwmod
;
30 /* L3 -> L4_CORE interface */
31 static struct omap_hwmod_ocp_if omap2430_l3__l4_core
= {
32 .master
= &omap2430_l3_hwmod
,
33 .slave
= &omap2430_l4_core_hwmod
,
34 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
37 /* MPU -> L3 interface */
38 static struct omap_hwmod_ocp_if omap2430_mpu__l3
= {
39 .master
= &omap2430_mpu_hwmod
,
40 .slave
= &omap2430_l3_hwmod
,
44 /* Slave interfaces on the L3 interconnect */
45 static struct omap_hwmod_ocp_if
*omap2430_l3_slaves
[] = {
49 /* Master interfaces on the L3 interconnect */
50 static struct omap_hwmod_ocp_if
*omap2430_l3_masters
[] = {
51 &omap2430_l3__l4_core
,
55 static struct omap_hwmod omap2430_l3_hwmod
= {
57 .masters
= omap2430_l3_masters
,
58 .masters_cnt
= ARRAY_SIZE(omap2430_l3_masters
),
59 .slaves
= omap2430_l3_slaves
,
60 .slaves_cnt
= ARRAY_SIZE(omap2430_l3_slaves
),
61 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2430
)
64 static struct omap_hwmod omap2430_l4_wkup_hwmod
;
65 static struct omap_hwmod omap2430_mmc1_hwmod
;
66 static struct omap_hwmod omap2430_mmc2_hwmod
;
68 /* L4_CORE -> L4_WKUP interface */
69 static struct omap_hwmod_ocp_if omap2430_l4_core__l4_wkup
= {
70 .master
= &omap2430_l4_core_hwmod
,
71 .slave
= &omap2430_l4_wkup_hwmod
,
72 .user
= OCP_USER_MPU
| OCP_USER_SDMA
,
75 /* Slave interfaces on the L4_CORE interconnect */
76 static struct omap_hwmod_ocp_if
*omap2430_l4_core_slaves
[] = {
77 &omap2430_l3__l4_core
,
80 /* Master interfaces on the L4_CORE interconnect */
81 static struct omap_hwmod_ocp_if
*omap2430_l4_core_masters
[] = {
82 &omap2430_l4_core__l4_wkup
,
86 static struct omap_hwmod omap2430_l4_core_hwmod
= {
87 .name
= "l4_core_hwmod",
88 .masters
= omap2430_l4_core_masters
,
89 .masters_cnt
= ARRAY_SIZE(omap2430_l4_core_masters
),
90 .slaves
= omap2430_l4_core_slaves
,
91 .slaves_cnt
= ARRAY_SIZE(omap2430_l4_core_slaves
),
92 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2430
)
95 /* Slave interfaces on the L4_WKUP interconnect */
96 static struct omap_hwmod_ocp_if
*omap2430_l4_wkup_slaves
[] = {
97 &omap2430_l4_core__l4_wkup
,
100 /* Master interfaces on the L4_WKUP interconnect */
101 static struct omap_hwmod_ocp_if
*omap2430_l4_wkup_masters
[] = {
105 static struct omap_hwmod omap2430_l4_wkup_hwmod
= {
106 .name
= "l4_wkup_hwmod",
107 .masters
= omap2430_l4_wkup_masters
,
108 .masters_cnt
= ARRAY_SIZE(omap2430_l4_wkup_masters
),
109 .slaves
= omap2430_l4_wkup_slaves
,
110 .slaves_cnt
= ARRAY_SIZE(omap2430_l4_wkup_slaves
),
111 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2430
)
114 /* Master interfaces on the MPU device */
115 static struct omap_hwmod_ocp_if
*omap2430_mpu_masters
[] = {
120 static struct omap_hwmod omap2430_mpu_hwmod
= {
122 .clkdev_dev_id
= NULL
,
123 .clkdev_con_id
= "mpu_ck",
124 .masters
= omap2430_mpu_masters
,
125 .masters_cnt
= ARRAY_SIZE(omap2430_mpu_masters
),
126 .omap_chip
= OMAP_CHIP_INIT(CHIP_IS_OMAP2430
),
129 static __initdata
struct omap_hwmod
*omap2430_hwmods
[] = {
131 &omap2430_l4_core_hwmod
,
132 &omap2430_l4_wkup_hwmod
,
138 # define omap2430_hwmods 0