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; |
