diff options
Diffstat (limited to 'arch/arm/plat-omap/devices.c')
-rw-r--r-- | arch/arm/plat-omap/devices.c | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index 09b07d252892..1cba9273d2cb 100644 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c | |||
@@ -28,54 +28,6 @@ | |||
28 | #include <plat/menelaus.h> | 28 | #include <plat/menelaus.h> |
29 | #include <plat/omap44xx.h> | 29 | #include <plat/omap44xx.h> |
30 | 30 | ||
31 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \ | ||
32 | defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) | ||
33 | |||
34 | #define OMAP_MMC_NR_RES 2 | ||
35 | |||
36 | /* | ||
37 | * Register MMC devices. Called from mach-omap1 and mach-omap2 device init. | ||
38 | */ | ||
39 | int __init omap_mmc_add(const char *name, int id, unsigned long base, | ||
40 | unsigned long size, unsigned int irq, | ||
41 | struct omap_mmc_platform_data *data) | ||
42 | { | ||
43 | struct platform_device *pdev; | ||
44 | struct resource res[OMAP_MMC_NR_RES]; | ||
45 | int ret; | ||
46 | |||
47 | pdev = platform_device_alloc(name, id); | ||
48 | if (!pdev) | ||
49 | return -ENOMEM; | ||
50 | |||
51 | memset(res, 0, OMAP_MMC_NR_RES * sizeof(struct resource)); | ||
52 | res[0].start = base; | ||
53 | res[0].end = base + size - 1; | ||
54 | res[0].flags = IORESOURCE_MEM; | ||
55 | res[1].start = res[1].end = irq; | ||
56 | res[1].flags = IORESOURCE_IRQ; | ||
57 | |||
58 | ret = platform_device_add_resources(pdev, res, ARRAY_SIZE(res)); | ||
59 | if (ret == 0) | ||
60 | ret = platform_device_add_data(pdev, data, sizeof(*data)); | ||
61 | if (ret) | ||
62 | goto fail; | ||
63 | |||
64 | ret = platform_device_add(pdev); | ||
65 | if (ret) | ||
66 | goto fail; | ||
67 | |||
68 | /* return device handle to board setup code */ | ||
69 | data->dev = &pdev->dev; | ||
70 | return 0; | ||
71 | |||
72 | fail: | ||
73 | platform_device_put(pdev); | ||
74 | return ret; | ||
75 | } | ||
76 | |||
77 | #endif | ||
78 | |||
79 | /*-------------------------------------------------------------------------*/ | 31 | /*-------------------------------------------------------------------------*/ |
80 | 32 | ||
81 | #if defined(CONFIG_HW_RANDOM_OMAP) || defined(CONFIG_HW_RANDOM_OMAP_MODULE) | 33 | #if defined(CONFIG_HW_RANDOM_OMAP) || defined(CONFIG_HW_RANDOM_OMAP_MODULE) |
@@ -109,79 +61,6 @@ static void omap_init_rng(void) | |||
109 | static inline void omap_init_rng(void) {} | 61 | static inline void omap_init_rng(void) {} |
110 | #endif | 62 | #endif |
111 | 63 | ||
112 | /*-------------------------------------------------------------------------*/ | ||
113 | |||
114 | /* Numbering for the SPI-capable controllers when used for SPI: | ||
115 | * spi = 1 | ||
116 | * uwire = 2 | ||
117 | * mmc1..2 = 3..4 | ||
118 | * mcbsp1..3 = 5..7 | ||
119 | */ | ||
120 | |||
121 | #if defined(CONFIG_SPI_OMAP_UWIRE) || defined(CONFIG_SPI_OMAP_UWIRE_MODULE) | ||
122 | |||
123 | #define OMAP_UWIRE_BASE 0xfffb3000 | ||
124 | |||
125 | static struct resource uwire_resources[] = { | ||
126 | { | ||
127 | .start = OMAP_UWIRE_BASE, | ||
128 | .end = OMAP_UWIRE_BASE + 0x20, | ||
129 | .flags = IORESOURCE_MEM, | ||
130 | }, | ||
131 | }; | ||
132 | |||
133 | static struct platform_device omap_uwire_device = { | ||
134 | .name = "omap_uwire", | ||
135 | .id = -1, | ||
136 | .num_resources = ARRAY_SIZE(uwire_resources), | ||
137 | .resource = uwire_resources, | ||
138 | }; | ||
139 | |||
140 | static void omap_init_uwire(void) | ||
141 | { | ||
142 | /* FIXME define and use a boot tag; not all boards will be hooking | ||
143 | * up devices to the microwire controller, and multi-board configs | ||
144 | * mean that CONFIG_SPI_OMAP_UWIRE may be configured anyway... | ||
145 | */ | ||
146 | |||
147 | /* board-specific code must configure chipselects (only a few | ||
148 | * are normally used) and SCLK/SDI/SDO (each has two choices). | ||
149 | */ | ||
150 | (void) platform_device_register(&omap_uwire_device); | ||
151 | } | ||
152 | #else | ||
153 | static inline void omap_init_uwire(void) {} | ||
154 | #endif | ||
155 | |||
156 | #if defined(CONFIG_TIDSPBRIDGE) || defined(CONFIG_TIDSPBRIDGE_MODULE) | ||
157 | |||
158 | static phys_addr_t omap_dsp_phys_mempool_base; | ||
159 | |||
160 | void __init omap_dsp_reserve_sdram_memblock(void) | ||
161 | { | ||
162 | phys_addr_t size = CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE; | ||
163 | phys_addr_t paddr; | ||
164 | |||
165 | if (!size) | ||
166 | return; | ||
167 | |||
168 | paddr = arm_memblock_steal(size, SZ_1M); | ||
169 | if (!paddr) { | ||
170 | pr_err("%s: failed to reserve %llx bytes\n", | ||
171 | __func__, (unsigned long long)size); | ||
172 | return; | ||
173 | } | ||
174 | |||
175 | omap_dsp_phys_mempool_base = paddr; | ||
176 | } | ||
177 | |||
178 | phys_addr_t omap_dsp_get_mempool_base(void) | ||
179 | { | ||
180 | return omap_dsp_phys_mempool_base; | ||
181 | } | ||
182 | EXPORT_SYMBOL(omap_dsp_get_mempool_base); | ||
183 | #endif | ||
184 | |||
185 | /* | 64 | /* |
186 | * This gets called after board-specific INIT_MACHINE, and initializes most | 65 | * This gets called after board-specific INIT_MACHINE, and initializes most |
187 | * on-chip peripherals accessible on this board (except for few like USB): | 66 | * on-chip peripherals accessible on this board (except for few like USB): |
@@ -208,7 +87,6 @@ static int __init omap_init_devices(void) | |||
208 | * in alphabetical order so they're easier to sort through. | 87 | * in alphabetical order so they're easier to sort through. |
209 | */ | 88 | */ |
210 | omap_init_rng(); | 89 | omap_init_rng(); |
211 | omap_init_uwire(); | ||
212 | return 0; | 90 | return 0; |
213 | } | 91 | } |
214 | arch_initcall(omap_init_devices); | 92 | arch_initcall(omap_init_devices); |