Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[pandora-kernel.git] / arch / arm / mach-omap2 / omap_hwmod_2430.h
1 /*
2  * omap_hwmod_2430.h - hardware modules present on the OMAP2430 chips
3  *
4  * Copyright (C) 2009 Nokia Corporation
5  * Paul Walmsley
6  *
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.
10  *
11  * XXX handle crossbar/shared link difference for L3?
12  *
13  */
14 #ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_HWMOD2430_H
15 #define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_OMAP_HWMOD2430_H
16
17 #ifdef CONFIG_ARCH_OMAP2430
18
19 #include <mach/omap_hwmod.h>
20 #include <mach/irqs.h>
21 #include <mach/cpu.h>
22 #include <mach/dma.h>
23
24 #include "prm-regbits-24xx.h"
25
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;
29
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,
35 };
36
37 /* MPU -> L3 interface */
38 static struct omap_hwmod_ocp_if omap2430_mpu__l3 = {
39         .master = &omap2430_mpu_hwmod,
40         .slave  = &omap2430_l3_hwmod,
41         .user   = OCP_USER_MPU,
42 };
43
44 /* Slave interfaces on the L3 interconnect */
45 static struct omap_hwmod_ocp_if *omap2430_l3_slaves[] = {
46         &omap2430_mpu__l3,
47 };
48
49 /* Master interfaces on the L3 interconnect */
50 static struct omap_hwmod_ocp_if *omap2430_l3_masters[] = {
51         &omap2430_l3__l4_core,
52 };
53
54 /* L3 */
55 static struct omap_hwmod omap2430_l3_hwmod = {
56         .name           = "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)
62 };
63
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;
67
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,
73 };
74
75 /* Slave interfaces on the L4_CORE interconnect */
76 static struct omap_hwmod_ocp_if *omap2430_l4_core_slaves[] = {
77         &omap2430_l3__l4_core,
78 };
79
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,
83 };
84
85 /* L4 CORE */
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)
93 };
94
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,
98 };
99
100 /* Master interfaces on the L4_WKUP interconnect */
101 static struct omap_hwmod_ocp_if *omap2430_l4_wkup_masters[] = {
102 };
103
104 /* L4 WKUP */
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)
112 };
113
114 /* Master interfaces on the MPU device */
115 static struct omap_hwmod_ocp_if *omap2430_mpu_masters[] = {
116         &omap2430_mpu__l3,
117 };
118
119 /* MPU */
120 static struct omap_hwmod omap2430_mpu_hwmod = {
121         .name           = "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),
127 };
128
129 static __initdata struct omap_hwmod *omap2430_hwmods[] = {
130         &omap2430_l3_hwmod,
131         &omap2430_l4_core_hwmod,
132         &omap2430_l4_wkup_hwmod,
133         &omap2430_mpu_hwmod,
134         NULL,
135 };
136
137 #else
138 # define omap2430_hwmods                0
139 #endif
140
141 #endif
142
143