diff options
Diffstat (limited to 'arch/arm/mach-omap2/devices.c')
-rw-r--r-- | arch/arm/mach-omap2/devices.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 4842ffe26705..aa4322451e8b 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -104,6 +104,51 @@ static inline void omap_init_sti(void) | |||
104 | static inline void omap_init_sti(void) {} | 104 | static inline void omap_init_sti(void) {} |
105 | #endif | 105 | #endif |
106 | 106 | ||
107 | #if defined(CONFIG_SPI_OMAP24XX) | ||
108 | |||
109 | #include <asm/arch/mcspi.h> | ||
110 | |||
111 | #define OMAP2_MCSPI1_BASE 0x48098000 | ||
112 | #define OMAP2_MCSPI2_BASE 0x4809a000 | ||
113 | |||
114 | /* FIXME: use resources instead */ | ||
115 | |||
116 | static struct omap2_mcspi_platform_config omap2_mcspi1_config = { | ||
117 | .base = io_p2v(OMAP2_MCSPI1_BASE), | ||
118 | .num_cs = 4, | ||
119 | }; | ||
120 | |||
121 | struct platform_device omap2_mcspi1 = { | ||
122 | .name = "omap2_mcspi", | ||
123 | .id = 1, | ||
124 | .dev = { | ||
125 | .platform_data = &omap2_mcspi1_config, | ||
126 | }, | ||
127 | }; | ||
128 | |||
129 | static struct omap2_mcspi_platform_config omap2_mcspi2_config = { | ||
130 | .base = io_p2v(OMAP2_MCSPI2_BASE), | ||
131 | .num_cs = 2, | ||
132 | }; | ||
133 | |||
134 | struct platform_device omap2_mcspi2 = { | ||
135 | .name = "omap2_mcspi", | ||
136 | .id = 2, | ||
137 | .dev = { | ||
138 | .platform_data = &omap2_mcspi2_config, | ||
139 | }, | ||
140 | }; | ||
141 | |||
142 | static void omap_init_mcspi(void) | ||
143 | { | ||
144 | platform_device_register(&omap2_mcspi1); | ||
145 | platform_device_register(&omap2_mcspi2); | ||
146 | } | ||
147 | |||
148 | #else | ||
149 | static inline void omap_init_mcspi(void) {} | ||
150 | #endif | ||
151 | |||
107 | /*-------------------------------------------------------------------------*/ | 152 | /*-------------------------------------------------------------------------*/ |
108 | 153 | ||
109 | static int __init omap2_init_devices(void) | 154 | static int __init omap2_init_devices(void) |
@@ -112,6 +157,7 @@ static int __init omap2_init_devices(void) | |||
112 | * in alphabetical order so they're easier to sort through. | 157 | * in alphabetical order so they're easier to sort through. |
113 | */ | 158 | */ |
114 | omap_init_i2c(); | 159 | omap_init_i2c(); |
160 | omap_init_mcspi(); | ||
115 | omap_init_sti(); | 161 | omap_init_sti(); |
116 | 162 | ||
117 | return 0; | 163 | return 0; |