aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/common.c')
-rw-r--r--arch/arm/mach-omap2/common.c39
1 files changed, 23 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/common.c b/arch/arm/mach-omap2/common.c
index 778929f7e92d..3f20cbb9967b 100644
--- a/arch/arm/mach-omap2/common.c
+++ b/arch/arm/mach-omap2/common.c
@@ -40,7 +40,7 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
40 40
41#endif 41#endif
42 42
43#if defined(CONFIG_ARCH_OMAP2420) 43#if defined(CONFIG_SOC_OMAP2420)
44 44
45static struct omap_globals omap242x_globals = { 45static struct omap_globals omap242x_globals = {
46 .class = OMAP242X_CLASS, 46 .class = OMAP242X_CLASS,
@@ -50,9 +50,6 @@ static struct omap_globals omap242x_globals = {
50 .ctrl = OMAP242X_CTRL_BASE, 50 .ctrl = OMAP242X_CTRL_BASE,
51 .prm = OMAP2420_PRM_BASE, 51 .prm = OMAP2420_PRM_BASE,
52 .cm = OMAP2420_CM_BASE, 52 .cm = OMAP2420_CM_BASE,
53 .uart1_phys = OMAP2_UART1_BASE,
54 .uart2_phys = OMAP2_UART2_BASE,
55 .uart3_phys = OMAP2_UART3_BASE,
56}; 53};
57 54
58void __init omap2_set_globals_242x(void) 55void __init omap2_set_globals_242x(void)
@@ -61,7 +58,7 @@ void __init omap2_set_globals_242x(void)
61} 58}
62#endif 59#endif
63 60
64#if defined(CONFIG_ARCH_OMAP2430) 61#if defined(CONFIG_SOC_OMAP2430)
65 62
66static struct omap_globals omap243x_globals = { 63static struct omap_globals omap243x_globals = {
67 .class = OMAP243X_CLASS, 64 .class = OMAP243X_CLASS,
@@ -71,9 +68,6 @@ static struct omap_globals omap243x_globals = {
71 .ctrl = OMAP243X_CTRL_BASE, 68 .ctrl = OMAP243X_CTRL_BASE,
72 .prm = OMAP2430_PRM_BASE, 69 .prm = OMAP2430_PRM_BASE,
73 .cm = OMAP2430_CM_BASE, 70 .cm = OMAP2430_CM_BASE,
74 .uart1_phys = OMAP2_UART1_BASE,
75 .uart2_phys = OMAP2_UART2_BASE,
76 .uart3_phys = OMAP2_UART3_BASE,
77}; 71};
78 72
79void __init omap2_set_globals_243x(void) 73void __init omap2_set_globals_243x(void)
@@ -92,10 +86,6 @@ static struct omap_globals omap3_globals = {
92 .ctrl = OMAP343X_CTRL_BASE, 86 .ctrl = OMAP343X_CTRL_BASE,
93 .prm = OMAP3430_PRM_BASE, 87 .prm = OMAP3430_PRM_BASE,
94 .cm = OMAP3430_CM_BASE, 88 .cm = OMAP3430_CM_BASE,
95 .uart1_phys = OMAP3_UART1_BASE,
96 .uart2_phys = OMAP3_UART2_BASE,
97 .uart3_phys = OMAP3_UART3_BASE,
98 .uart4_phys = OMAP3_UART4_BASE, /* Only on 3630 */
99}; 89};
100 90
101void __init omap2_set_globals_3xxx(void) 91void __init omap2_set_globals_3xxx(void)
@@ -108,6 +98,27 @@ void __init omap3_map_io(void)
108 omap2_set_globals_3xxx(); 98 omap2_set_globals_3xxx();
109 omap34xx_map_common_io(); 99 omap34xx_map_common_io();
110} 100}
101
102/*
103 * Adjust TAP register base such that omap3_check_revision accesses the correct
104 * TI816X register for checking device ID (it adds 0x204 to tap base while
105 * TI816X DEVICE ID register is at offset 0x600 from control base).
106 */
107#define TI816X_TAP_BASE (TI816X_CTRL_BASE + \
108 TI816X_CONTROL_DEVICE_ID - 0x204)
109
110static struct omap_globals ti816x_globals = {
111 .class = OMAP343X_CLASS,
112 .tap = OMAP2_L4_IO_ADDRESS(TI816X_TAP_BASE),
113 .ctrl = TI816X_CTRL_BASE,
114 .prm = TI816X_PRCM_BASE,
115 .cm = TI816X_PRCM_BASE,
116};
117
118void __init omap2_set_globals_ti816x(void)
119{
120 __omap2_set_globals(&ti816x_globals);
121}
111#endif 122#endif
112 123
113#if defined(CONFIG_ARCH_OMAP4) 124#if defined(CONFIG_ARCH_OMAP4)
@@ -119,10 +130,6 @@ static struct omap_globals omap4_globals = {
119 .prm = OMAP4430_PRM_BASE, 130 .prm = OMAP4430_PRM_BASE,
120 .cm = OMAP4430_CM_BASE, 131 .cm = OMAP4430_CM_BASE,
121 .cm2 = OMAP4430_CM2_BASE, 132 .cm2 = OMAP4430_CM2_BASE,
122 .uart1_phys = OMAP4_UART1_BASE,
123 .uart2_phys = OMAP4_UART2_BASE,
124 .uart3_phys = OMAP4_UART3_BASE,
125 .uart4_phys = OMAP4_UART4_BASE,
126}; 133};
127 134
128void __init omap2_set_globals_443x(void) 135void __init omap2_set_globals_443x(void)