diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 18:12:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-26 18:12:47 -0500 |
commit | 5376071069ec8a7e6a8112beab16fc24f5139475 (patch) | |
tree | 81f90d6839b606d907a449d8d83b839ef829f7b0 /arch | |
parent | cfb901bf84fe22eb86525e9fb20675b53fb0462a (diff) | |
parent | 24f11ec001920f1cfaeeed8e8b55725d900bbb56 (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits)
[ARM] fix section-based ioremap
[NET] am79c961a: fix spin_lock usage
[ARM] omap: usb: thou shalt not provide empty release functions
[ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms
[ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3
[ARM] clkdev: fix clock matching
[ARM] 5370/1: at91: fix rm9200 watchdog
[ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix
[ARM] 5365/1: s3cmci: Use new include path of dma.h
[ARM] fix StrongARM-11x0 page copy implementation
[ARM] omap: ensure OMAP drivers pass a struct device to clk_get()
ARM: OMAP: Fix compile for h3 MMC
ARM: OMAP: Remove unused platform devices, v3
ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3
ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23
ARM: OMAP: remove duplicated #include's
ARM: OMAP: Fix DMA CCR programming for request line > 63, v3
ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS
ARM: OMAP: Fix compile for beagle
ARM: OMAP: Fix gpio by switching to generic gpio calls, v2
...
Diffstat (limited to 'arch')
27 files changed, 78 insertions, 545 deletions
diff --git a/arch/arm/common/clkdev.c b/arch/arm/common/clkdev.c index 17a17b49a45b..1037bba18329 100644 --- a/arch/arm/common/clkdev.c +++ b/arch/arm/common/clkdev.c | |||
@@ -24,6 +24,15 @@ | |||
24 | static LIST_HEAD(clocks); | 24 | static LIST_HEAD(clocks); |
25 | static DEFINE_MUTEX(clocks_mutex); | 25 | static DEFINE_MUTEX(clocks_mutex); |
26 | 26 | ||
27 | /* | ||
28 | * Find the correct struct clk for the device and connection ID. | ||
29 | * We do slightly fuzzy matching here: | ||
30 | * An entry with a NULL ID is assumed to be a wildcard. | ||
31 | * If an entry has a device ID, it must match | ||
32 | * If an entry has a connection ID, it must match | ||
33 | * Then we take the most specific entry - with the following | ||
34 | * order of precidence: dev+con > dev only > con only. | ||
35 | */ | ||
27 | static struct clk *clk_find(const char *dev_id, const char *con_id) | 36 | static struct clk *clk_find(const char *dev_id, const char *con_id) |
28 | { | 37 | { |
29 | struct clk_lookup *p; | 38 | struct clk_lookup *p; |
@@ -31,13 +40,17 @@ static struct clk *clk_find(const char *dev_id, const char *con_id) | |||
31 | int match, best = 0; | 40 | int match, best = 0; |
32 | 41 | ||
33 | list_for_each_entry(p, &clocks, node) { | 42 | list_for_each_entry(p, &clocks, node) { |
34 | if ((p->dev_id && !dev_id) || (p->con_id && !con_id)) | ||
35 | continue; | ||
36 | match = 0; | 43 | match = 0; |
37 | if (p->dev_id) | 44 | if (p->dev_id) { |
38 | match += 2 * (strcmp(p->dev_id, dev_id) == 0); | 45 | if (!dev_id || strcmp(p->dev_id, dev_id)) |
39 | if (p->con_id) | 46 | continue; |
40 | match += 1 * (strcmp(p->con_id, con_id) == 0); | 47 | match += 2; |
48 | } | ||
49 | if (p->con_id) { | ||
50 | if (!con_id || strcmp(p->con_id, con_id)) | ||
51 | continue; | ||
52 | match += 1; | ||
53 | } | ||
41 | if (match == 0) | 54 | if (match == 0) |
42 | continue; | 55 | continue; |
43 | 56 | ||
diff --git a/arch/arm/mach-davinci/usb.c b/arch/arm/mach-davinci/usb.c index fe182a85159c..c6fb32c36c52 100644 --- a/arch/arm/mach-davinci/usb.c +++ b/arch/arm/mach-davinci/usb.c | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include <mach/common.h> | 13 | #include <mach/common.h> |
14 | #include <mach/hardware.h> | 14 | #include <mach/hardware.h> |
15 | #include <mach/irqs.h> | ||
15 | 16 | ||
16 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) | 17 | #if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) |
17 | static struct musb_hdrc_eps_bits musb_eps[] = { | 18 | static struct musb_hdrc_eps_bits musb_eps[] = { |
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index b240c5f861da..0d784a795092 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -37,16 +37,14 @@ | |||
37 | #include <asm/mach/flash.h> | 37 | #include <asm/mach/flash.h> |
38 | #include <asm/mach/map.h> | 38 | #include <asm/mach/map.h> |
39 | 39 | ||
40 | #include <mach/gpio-switch.h> | ||
41 | #include <mach/mux.h> | 40 | #include <mach/mux.h> |
41 | #include <mach/dma.h> | ||
42 | #include <mach/tc.h> | 42 | #include <mach/tc.h> |
43 | #include <mach/nand.h> | 43 | #include <mach/nand.h> |
44 | #include <mach/irda.h> | 44 | #include <mach/irda.h> |
45 | #include <mach/usb.h> | 45 | #include <mach/usb.h> |
46 | #include <mach/keypad.h> | 46 | #include <mach/keypad.h> |
47 | #include <mach/common.h> | 47 | #include <mach/common.h> |
48 | #include <mach/mcbsp.h> | ||
49 | #include <mach/omap-alsa.h> | ||
50 | 48 | ||
51 | static int h2_keymap[] = { | 49 | static int h2_keymap[] = { |
52 | KEY(0, 0, KEY_LEFT), | 50 | KEY(0, 0, KEY_LEFT), |
@@ -292,41 +290,6 @@ static struct platform_device h2_lcd_device = { | |||
292 | .id = -1, | 290 | .id = -1, |
293 | }; | 291 | }; |
294 | 292 | ||
295 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | ||
296 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | ||
297 | .spcr1 = RINTM(3) | RRST, | ||
298 | .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) | | ||
299 | RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1), | ||
300 | .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16), | ||
301 | .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) | | ||
302 | XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG, | ||
303 | .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16), | ||
304 | .srgr1 = FWID(15), | ||
305 | .srgr2 = GSYNC | CLKSP | FSGM | FPER(31), | ||
306 | |||
307 | .pcr0 = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP, | ||
308 | /*.pcr0 = CLKXP | CLKRP,*/ /* mcbsp: slave */ | ||
309 | }; | ||
310 | |||
311 | static struct omap_alsa_codec_config alsa_config = { | ||
312 | .name = "H2 TSC2101", | ||
313 | .mcbsp_regs_alsa = &mcbsp_regs, | ||
314 | .codec_configure_dev = NULL, /* tsc2101_configure, */ | ||
315 | .codec_set_samplerate = NULL, /* tsc2101_set_samplerate, */ | ||
316 | .codec_clock_setup = NULL, /* tsc2101_clock_setup, */ | ||
317 | .codec_clock_on = NULL, /* tsc2101_clock_on, */ | ||
318 | .codec_clock_off = NULL, /* tsc2101_clock_off, */ | ||
319 | .get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */ | ||
320 | }; | ||
321 | |||
322 | static struct platform_device h2_mcbsp1_device = { | ||
323 | .name = "omap_alsa_mcbsp", | ||
324 | .id = 1, | ||
325 | .dev = { | ||
326 | .platform_data = &alsa_config, | ||
327 | }, | ||
328 | }; | ||
329 | |||
330 | static struct platform_device *h2_devices[] __initdata = { | 293 | static struct platform_device *h2_devices[] __initdata = { |
331 | &h2_nor_device, | 294 | &h2_nor_device, |
332 | &h2_nand_device, | 295 | &h2_nand_device, |
@@ -334,7 +297,6 @@ static struct platform_device *h2_devices[] __initdata = { | |||
334 | &h2_irda_device, | 297 | &h2_irda_device, |
335 | &h2_kp_device, | 298 | &h2_kp_device, |
336 | &h2_lcd_device, | 299 | &h2_lcd_device, |
337 | &h2_mcbsp1_device, | ||
338 | }; | 300 | }; |
339 | 301 | ||
340 | static void __init h2_init_smc91x(void) | 302 | static void __init h2_init_smc91x(void) |
@@ -409,11 +371,6 @@ static struct omap_board_config_kernel h2_config[] __initdata = { | |||
409 | 371 | ||
410 | #define H2_NAND_RB_GPIO_PIN 62 | 372 | #define H2_NAND_RB_GPIO_PIN 62 |
411 | 373 | ||
412 | static int h2_nand_dev_ready(struct omap_nand_platform_data *data) | ||
413 | { | ||
414 | return gpio_get_value(H2_NAND_RB_GPIO_PIN); | ||
415 | } | ||
416 | |||
417 | static void __init h2_init(void) | 374 | static void __init h2_init(void) |
418 | { | 375 | { |
419 | /* Here we assume the NOR boot config: NOR on CS3 (possibly swapped | 376 | /* Here we assume the NOR boot config: NOR on CS3 (possibly swapped |
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index 5157eea9be35..bf08b6ad22ee 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -49,8 +49,6 @@ | |||
49 | #include <mach/keypad.h> | 49 | #include <mach/keypad.h> |
50 | #include <mach/dma.h> | 50 | #include <mach/dma.h> |
51 | #include <mach/common.h> | 51 | #include <mach/common.h> |
52 | #include <mach/mcbsp.h> | ||
53 | #include <mach/omap-alsa.h> | ||
54 | 52 | ||
55 | #define H3_TS_GPIO 48 | 53 | #define H3_TS_GPIO 48 |
56 | 54 | ||
@@ -387,41 +385,6 @@ static struct spi_board_info h3_spi_board_info[] __initdata = { | |||
387 | }, | 385 | }, |
388 | }; | 386 | }; |
389 | 387 | ||
390 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | ||
391 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | ||
392 | .spcr1 = RINTM(3) | RRST, | ||
393 | .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) | | ||
394 | RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1), | ||
395 | .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16), | ||
396 | .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) | | ||
397 | XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG, | ||
398 | .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16), | ||
399 | .srgr1 = FWID(15), | ||
400 | .srgr2 = GSYNC | CLKSP | FSGM | FPER(31), | ||
401 | |||
402 | .pcr0 = CLKRM | SCLKME | FSXP | FSRP | CLKXP | CLKRP, | ||
403 | /*.pcr0 = CLKXP | CLKRP,*/ /* mcbsp: slave */ | ||
404 | }; | ||
405 | |||
406 | static struct omap_alsa_codec_config alsa_config = { | ||
407 | .name = "H3 TSC2101", | ||
408 | .mcbsp_regs_alsa = &mcbsp_regs, | ||
409 | .codec_configure_dev = NULL, /* tsc2101_configure, */ | ||
410 | .codec_set_samplerate = NULL, /* tsc2101_set_samplerate, */ | ||
411 | .codec_clock_setup = NULL, /* tsc2101_clock_setup, */ | ||
412 | .codec_clock_on = NULL, /* tsc2101_clock_on, */ | ||
413 | .codec_clock_off = NULL, /* tsc2101_clock_off, */ | ||
414 | .get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */ | ||
415 | }; | ||
416 | |||
417 | static struct platform_device h3_mcbsp1_device = { | ||
418 | .name = "omap_alsa_mcbsp", | ||
419 | .id = 1, | ||
420 | .dev = { | ||
421 | .platform_data = &alsa_config, | ||
422 | }, | ||
423 | }; | ||
424 | |||
425 | static struct platform_device *devices[] __initdata = { | 388 | static struct platform_device *devices[] __initdata = { |
426 | &nor_device, | 389 | &nor_device, |
427 | &nand_device, | 390 | &nand_device, |
@@ -430,7 +393,6 @@ static struct platform_device *devices[] __initdata = { | |||
430 | &h3_irda_device, | 393 | &h3_irda_device, |
431 | &h3_kp_device, | 394 | &h3_kp_device, |
432 | &h3_lcd_device, | 395 | &h3_lcd_device, |
433 | &h3_mcbsp1_device, | ||
434 | }; | 396 | }; |
435 | 397 | ||
436 | static struct omap_usb_config h3_usb_config __initdata = { | 398 | static struct omap_usb_config h3_usb_config __initdata = { |
@@ -472,18 +434,6 @@ static struct i2c_board_info __initdata h3_i2c_board_info[] = { | |||
472 | }, | 434 | }, |
473 | }; | 435 | }; |
474 | 436 | ||
475 | static struct omap_gpio_switch h3_gpio_switches[] __initdata = { | ||
476 | { | ||
477 | .name = "mmc_slot", | ||
478 | .gpio = OMAP_MPUIO(1), | ||
479 | .type = OMAP_GPIO_SWITCH_TYPE_COVER, | ||
480 | .debounce_rising = 100, | ||
481 | .debounce_falling = 0, | ||
482 | .notify = h3_mmc_slot_cover_handler, | ||
483 | .notify_data = NULL, | ||
484 | }, | ||
485 | }; | ||
486 | |||
487 | #define H3_NAND_RB_GPIO_PIN 10 | 437 | #define H3_NAND_RB_GPIO_PIN 10 |
488 | 438 | ||
489 | static int nand_dev_ready(struct omap_nand_platform_data *data) | 439 | static int nand_dev_ready(struct omap_nand_platform_data *data) |
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index af2fb9070083..071cd02a734e 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -37,8 +37,6 @@ | |||
37 | #include <mach/usb.h> | 37 | #include <mach/usb.h> |
38 | #include <mach/keypad.h> | 38 | #include <mach/keypad.h> |
39 | #include <mach/common.h> | 39 | #include <mach/common.h> |
40 | #include <mach/mcbsp.h> | ||
41 | #include <mach/omap-alsa.h> | ||
42 | #include <mach/mmc.h> | 40 | #include <mach/mmc.h> |
43 | 41 | ||
44 | static int innovator_keymap[] = { | 42 | static int innovator_keymap[] = { |
@@ -115,42 +113,6 @@ static struct platform_device innovator_flash_device = { | |||
115 | .resource = &innovator_flash_resource, | 113 | .resource = &innovator_flash_resource, |
116 | }; | 114 | }; |
117 | 115 | ||
118 | #define DEFAULT_BITPERSAMPLE 16 | ||
119 | |||
120 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | ||
121 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | ||
122 | .spcr1 = RINTM(3) | RRST, | ||
123 | .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) | | ||
124 | RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0), | ||
125 | .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16), | ||
126 | .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) | | ||
127 | XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG, | ||
128 | .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16), | ||
129 | .srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1), | ||
130 | .srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1), | ||
131 | /*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */ | ||
132 | .pcr0 = CLKXP | CLKRP, /* mcbsp: slave */ | ||
133 | }; | ||
134 | |||
135 | static struct omap_alsa_codec_config alsa_config = { | ||
136 | .name = "OMAP Innovator AIC23", | ||
137 | .mcbsp_regs_alsa = &mcbsp_regs, | ||
138 | .codec_configure_dev = NULL, /* aic23_configure, */ | ||
139 | .codec_set_samplerate = NULL, /* aic23_set_samplerate, */ | ||
140 | .codec_clock_setup = NULL, /* aic23_clock_setup, */ | ||
141 | .codec_clock_on = NULL, /* aic23_clock_on, */ | ||
142 | .codec_clock_off = NULL, /* aic23_clock_off, */ | ||
143 | .get_default_samplerate = NULL, /* aic23_get_default_samplerate, */ | ||
144 | }; | ||
145 | |||
146 | static struct platform_device innovator_mcbsp1_device = { | ||
147 | .name = "omap_alsa_mcbsp", | ||
148 | .id = 1, | ||
149 | .dev = { | ||
150 | .platform_data = &alsa_config, | ||
151 | }, | ||
152 | }; | ||
153 | |||
154 | static struct resource innovator_kp_resources[] = { | 116 | static struct resource innovator_kp_resources[] = { |
155 | [0] = { | 117 | [0] = { |
156 | .start = INT_KEYBOARD, | 118 | .start = INT_KEYBOARD, |
@@ -227,7 +189,6 @@ static struct platform_device innovator1510_spi_device = { | |||
227 | static struct platform_device *innovator1510_devices[] __initdata = { | 189 | static struct platform_device *innovator1510_devices[] __initdata = { |
228 | &innovator_flash_device, | 190 | &innovator_flash_device, |
229 | &innovator1510_smc91x_device, | 191 | &innovator1510_smc91x_device, |
230 | &innovator_mcbsp1_device, | ||
231 | &innovator_kp_device, | 192 | &innovator_kp_device, |
232 | &innovator1510_lcd_device, | 193 | &innovator1510_lcd_device, |
233 | &innovator1510_spi_device, | 194 | &innovator1510_spi_device, |
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index 4970c402a594..af51e0b180f2 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <mach/keypad.h> | 32 | #include <mach/keypad.h> |
33 | #include <mach/common.h> | 33 | #include <mach/common.h> |
34 | #include <mach/dsp_common.h> | 34 | #include <mach/dsp_common.h> |
35 | #include <mach/aic23.h> | ||
36 | #include <mach/omapfb.h> | 35 | #include <mach/omapfb.h> |
37 | #include <mach/lcd_mipid.h> | 36 | #include <mach/lcd_mipid.h> |
38 | #include <mach/mmc.h> | 37 | #include <mach/mmc.h> |
@@ -261,6 +260,13 @@ static DEFINE_MUTEX(audio_pwr_lock); | |||
261 | */ | 260 | */ |
262 | static int audio_pwr_state = -1; | 261 | static int audio_pwr_state = -1; |
263 | 262 | ||
263 | static inline void aic23_power_up(void) | ||
264 | { | ||
265 | } | ||
266 | static inline void aic23_power_down(void) | ||
267 | { | ||
268 | } | ||
269 | |||
264 | /* | 270 | /* |
265 | * audio_pwr_up / down should be called under audio_pwr_lock | 271 | * audio_pwr_up / down should be called under audio_pwr_lock |
266 | */ | 272 | */ |
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index ff9e67baa5c9..1a16ecb2ccc8 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -51,8 +51,6 @@ | |||
51 | #include <mach/mux.h> | 51 | #include <mach/mux.h> |
52 | #include <mach/tc.h> | 52 | #include <mach/tc.h> |
53 | #include <mach/common.h> | 53 | #include <mach/common.h> |
54 | #include <mach/mcbsp.h> | ||
55 | #include <mach/omap-alsa.h> | ||
56 | 54 | ||
57 | static struct mtd_partition osk_partitions[] = { | 55 | static struct mtd_partition osk_partitions[] = { |
58 | /* bootloader (U-Boot, etc) in first sector */ | 56 | /* bootloader (U-Boot, etc) in first sector */ |
@@ -141,47 +139,10 @@ static struct platform_device osk5912_cf_device = { | |||
141 | .resource = osk5912_cf_resources, | 139 | .resource = osk5912_cf_resources, |
142 | }; | 140 | }; |
143 | 141 | ||
144 | #define DEFAULT_BITPERSAMPLE 16 | ||
145 | |||
146 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | ||
147 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | ||
148 | .spcr1 = RINTM(3) | RRST, | ||
149 | .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) | | ||
150 | RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0), | ||
151 | .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16), | ||
152 | .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) | | ||
153 | XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG, | ||
154 | .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16), | ||
155 | .srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1), | ||
156 | .srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1), | ||
157 | /*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */ | ||
158 | .pcr0 = CLKXP | CLKRP, /* mcbsp: slave */ | ||
159 | }; | ||
160 | |||
161 | static struct omap_alsa_codec_config alsa_config = { | ||
162 | .name = "OSK AIC23", | ||
163 | .mcbsp_regs_alsa = &mcbsp_regs, | ||
164 | .codec_configure_dev = NULL, /* aic23_configure, */ | ||
165 | .codec_set_samplerate = NULL, /* aic23_set_samplerate, */ | ||
166 | .codec_clock_setup = NULL, /* aic23_clock_setup, */ | ||
167 | .codec_clock_on = NULL, /* aic23_clock_on, */ | ||
168 | .codec_clock_off = NULL, /* aic23_clock_off, */ | ||
169 | .get_default_samplerate = NULL, /* aic23_get_default_samplerate, */ | ||
170 | }; | ||
171 | |||
172 | static struct platform_device osk5912_mcbsp1_device = { | ||
173 | .name = "omap_alsa_mcbsp", | ||
174 | .id = 1, | ||
175 | .dev = { | ||
176 | .platform_data = &alsa_config, | ||
177 | }, | ||
178 | }; | ||
179 | |||
180 | static struct platform_device *osk5912_devices[] __initdata = { | 142 | static struct platform_device *osk5912_devices[] __initdata = { |
181 | &osk5912_flash_device, | 143 | &osk5912_flash_device, |
182 | &osk5912_smc91x_device, | 144 | &osk5912_smc91x_device, |
183 | &osk5912_cf_device, | 145 | &osk5912_cf_device, |
184 | &osk5912_mcbsp1_device, | ||
185 | }; | 146 | }; |
186 | 147 | ||
187 | static struct gpio_led tps_leds[] = { | 148 | static struct gpio_led tps_leds[] = { |
@@ -259,8 +220,10 @@ static struct i2c_board_info __initdata osk_i2c_board_info[] = { | |||
259 | .platform_data = &tps_board, | 220 | .platform_data = &tps_board, |
260 | 221 | ||
261 | }, | 222 | }, |
223 | { | ||
224 | I2C_BOARD_INFO("tlv320aic23", 0x1B), | ||
225 | }, | ||
262 | /* TODO when driver support is ready: | 226 | /* TODO when driver support is ready: |
263 | * - aic23 audio chip at 0x1a | ||
264 | * - optionally on Mistral, ov9640 camera sensor at 0x30 | 227 | * - optionally on Mistral, ov9640 camera sensor at 0x30 |
265 | */ | 228 | */ |
266 | }; | 229 | }; |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index 75e32d35afd9..99f2b43f2541 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
@@ -42,8 +42,6 @@ | |||
42 | #include <mach/irda.h> | 42 | #include <mach/irda.h> |
43 | #include <mach/keypad.h> | 43 | #include <mach/keypad.h> |
44 | #include <mach/common.h> | 44 | #include <mach/common.h> |
45 | #include <mach/mcbsp.h> | ||
46 | #include <mach/omap-alsa.h> | ||
47 | 45 | ||
48 | static void __init omap_palmte_init_irq(void) | 46 | static void __init omap_palmte_init_irq(void) |
49 | { | 47 | { |
@@ -195,15 +193,6 @@ static struct omap_usb_config palmte_usb_config __initdata = { | |||
195 | .pins[0] = 2, | 193 | .pins[0] = 2, |
196 | }; | 194 | }; |
197 | 195 | ||
198 | static struct omap_mmc_config palmte_mmc_config __initdata = { | ||
199 | .mmc[0] = { | ||
200 | .enabled = 1, | ||
201 | .wp_pin = PALMTE_MMC_WP_GPIO, | ||
202 | .power_pin = PALMTE_MMC_POWER_GPIO, | ||
203 | .switch_pin = PALMTE_MMC_SWITCH_GPIO, | ||
204 | }, | ||
205 | }; | ||
206 | |||
207 | static struct omap_lcd_config palmte_lcd_config __initdata = { | 196 | static struct omap_lcd_config palmte_lcd_config __initdata = { |
208 | .ctrl_name = "internal", | 197 | .ctrl_name = "internal", |
209 | }; | 198 | }; |
@@ -212,24 +201,6 @@ static struct omap_uart_config palmte_uart_config __initdata = { | |||
212 | .enabled_uarts = (1 << 0) | (1 << 1) | (0 << 2), | 201 | .enabled_uarts = (1 << 0) | (1 << 1) | (0 << 2), |
213 | }; | 202 | }; |
214 | 203 | ||
215 | static struct omap_mcbsp_reg_cfg palmte_mcbsp1_regs = { | ||
216 | .spcr2 = FRST | GRST | XRST | XINTM(3), | ||
217 | .xcr2 = XDATDLY(1) | XFIG, | ||
218 | .xcr1 = XWDLEN1(OMAP_MCBSP_WORD_32), | ||
219 | .pcr0 = SCLKME | FSXP | CLKXP, | ||
220 | }; | ||
221 | |||
222 | static struct omap_alsa_codec_config palmte_alsa_config = { | ||
223 | .name = "TSC2102 audio", | ||
224 | .mcbsp_regs_alsa = &palmte_mcbsp1_regs, | ||
225 | .codec_configure_dev = NULL, /* tsc2102_configure, */ | ||
226 | .codec_set_samplerate = NULL, /* tsc2102_set_samplerate, */ | ||
227 | .codec_clock_setup = NULL, /* tsc2102_clock_setup, */ | ||
228 | .codec_clock_on = NULL, /* tsc2102_clock_on, */ | ||
229 | .codec_clock_off = NULL, /* tsc2102_clock_off, */ | ||
230 | .get_default_samplerate = NULL, /* tsc2102_get_default_samplerate, */ | ||
231 | }; | ||
232 | |||
233 | #ifdef CONFIG_APM | 204 | #ifdef CONFIG_APM |
234 | /* | 205 | /* |
235 | * Values measured in 10 minute intervals averaged over 10 samples. | 206 | * Values measured in 10 minute intervals averaged over 10 samples. |
diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c index 5c001afe8062..1cbc1275c95f 100644 --- a/arch/arm/mach-omap1/board-palmtt.c +++ b/arch/arm/mach-omap1/board-palmtt.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <asm/mach/flash.h> | 30 | #include <asm/mach/flash.h> |
31 | 31 | ||
32 | #include <mach/led.h> | 32 | #include <mach/led.h> |
33 | #include <mach/mcbsp.h> | ||
34 | #include <mach/gpio.h> | 33 | #include <mach/gpio.h> |
35 | #include <mach/mux.h> | 34 | #include <mach/mux.h> |
36 | #include <mach/usb.h> | 35 | #include <mach/usb.h> |
@@ -40,7 +39,6 @@ | |||
40 | #include <mach/irda.h> | 39 | #include <mach/irda.h> |
41 | #include <mach/keypad.h> | 40 | #include <mach/keypad.h> |
42 | #include <mach/common.h> | 41 | #include <mach/common.h> |
43 | #include <mach/omap-alsa.h> | ||
44 | 42 | ||
45 | #include <linux/spi/spi.h> | 43 | #include <linux/spi/spi.h> |
46 | #include <linux/spi/ads7846.h> | 44 | #include <linux/spi/ads7846.h> |
@@ -122,44 +120,6 @@ static struct platform_device palmtt_flash_device = { | |||
122 | .resource = &palmtt_flash_resource, | 120 | .resource = &palmtt_flash_resource, |
123 | }; | 121 | }; |
124 | 122 | ||
125 | #define DEFAULT_BITPERSAMPLE 16 | ||
126 | |||
127 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | ||
128 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | ||
129 | .spcr1 = RINTM(3) | RRST, | ||
130 | .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) | | ||
131 | RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0), | ||
132 | .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | | ||
133 | RWDLEN1(OMAP_MCBSP_WORD_16), | ||
134 | .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) | | ||
135 | XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG, | ||
136 | .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | | ||
137 | XWDLEN1(OMAP_MCBSP_WORD_16), | ||
138 | .srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1), | ||
139 | .srgr2 = GSYNC | CLKSP | FSGM | | ||
140 | FPER(DEFAULT_BITPERSAMPLE * 2 - 1), | ||
141 | .pcr0 = CLKXP | CLKRP, /* mcbsp: slave */ | ||
142 | }; | ||
143 | |||
144 | static struct omap_alsa_codec_config alsa_config = { | ||
145 | .name = "PalmTT AIC23", | ||
146 | .mcbsp_regs_alsa = &mcbsp_regs, | ||
147 | .codec_configure_dev = NULL, /* aic23_configure, */ | ||
148 | .codec_set_samplerate = NULL, /* aic23_set_samplerate, */ | ||
149 | .codec_clock_setup = NULL, /* aic23_clock_setup, */ | ||
150 | .codec_clock_on = NULL, /* aic23_clock_on, */ | ||
151 | .codec_clock_off = NULL, /* aic23_clock_off, */ | ||
152 | .get_default_samplerate = NULL, /* aic23_get_default_samplerate, */ | ||
153 | }; | ||
154 | |||
155 | static struct platform_device palmtt_mcbsp1_device = { | ||
156 | .name = "omap_alsa_mcbsp", | ||
157 | .id = 1, | ||
158 | .dev = { | ||
159 | .platform_data = &alsa_config, | ||
160 | }, | ||
161 | }; | ||
162 | |||
163 | static struct resource palmtt_kp_resources[] = { | 123 | static struct resource palmtt_kp_resources[] = { |
164 | [0] = { | 124 | [0] = { |
165 | .start = INT_KEYBOARD, | 125 | .start = INT_KEYBOARD, |
@@ -257,7 +217,6 @@ static struct platform_device palmtt_led_device = { | |||
257 | 217 | ||
258 | static struct platform_device *palmtt_devices[] __initdata = { | 218 | static struct platform_device *palmtt_devices[] __initdata = { |
259 | &palmtt_flash_device, | 219 | &palmtt_flash_device, |
260 | &palmtt_mcbsp1_device, | ||
261 | &palmtt_kp_device, | 220 | &palmtt_kp_device, |
262 | &palmtt_lcd_device, | 221 | &palmtt_lcd_device, |
263 | &palmtt_irda_device, | 222 | &palmtt_irda_device, |
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index cc05257eb1cd..baf5efbfe3e8 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <asm/mach/map.h> | 32 | #include <asm/mach/map.h> |
33 | #include <asm/mach/flash.h> | 33 | #include <asm/mach/flash.h> |
34 | 34 | ||
35 | #include <mach/mcbsp.h> | ||
36 | #include <mach/gpio.h> | 35 | #include <mach/gpio.h> |
37 | #include <mach/mux.h> | 36 | #include <mach/mux.h> |
38 | #include <mach/usb.h> | 37 | #include <mach/usb.h> |
@@ -179,41 +178,6 @@ static struct platform_device palmz71_spi_device = { | |||
179 | .id = -1, | 178 | .id = -1, |
180 | }; | 179 | }; |
181 | 180 | ||
182 | #define DEFAULT_BITPERSAMPLE 16 | ||
183 | |||
184 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | ||
185 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | ||
186 | .spcr1 = RINTM(3) | RRST, | ||
187 | .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) | | ||
188 | RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0), | ||
189 | .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16), | ||
190 | .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) | | ||
191 | XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG, | ||
192 | .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16), | ||
193 | .srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1), | ||
194 | .srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1), | ||
195 | .pcr0 = CLKXP | CLKRP, /* mcbsp: slave */ | ||
196 | }; | ||
197 | |||
198 | static struct omap_alsa_codec_config alsa_config = { | ||
199 | .name = "PalmZ71 AIC23", | ||
200 | .mcbsp_regs_alsa = &mcbsp_regs, | ||
201 | .codec_configure_dev = NULL, /* aic23_configure */ | ||
202 | .codec_set_samplerate = NULL, /* aic23_set_samplerate */ | ||
203 | .codec_clock_setup = NULL, /* aic23_clock_setup */ | ||
204 | .codec_clock_on = NULL, /* aic23_clock_on */ | ||
205 | .codec_clock_off = NULL, /* aic23_clock_off */ | ||
206 | .get_default_samplerate = NULL, /* aic23_get_default_samplerate */ | ||
207 | }; | ||
208 | |||
209 | static struct platform_device palmz71_mcbsp1_device = { | ||
210 | .name = "omap_alsa_mcbsp", | ||
211 | .id = 1, | ||
212 | .dev = { | ||
213 | .platform_data = &alsa_config, | ||
214 | }, | ||
215 | }; | ||
216 | |||
217 | static struct omap_backlight_config palmz71_backlight_config = { | 181 | static struct omap_backlight_config palmz71_backlight_config = { |
218 | .default_intensity = 0xa0, | 182 | .default_intensity = 0xa0, |
219 | }; | 183 | }; |
@@ -229,7 +193,6 @@ static struct platform_device palmz71_backlight_device = { | |||
229 | static struct platform_device *devices[] __initdata = { | 193 | static struct platform_device *devices[] __initdata = { |
230 | &palmz71_rom_device, | 194 | &palmz71_rom_device, |
231 | &palmz71_kp_device, | 195 | &palmz71_kp_device, |
232 | &palmz71_mcbsp1_device, | ||
233 | &palmz71_lcd_device, | 196 | &palmz71_lcd_device, |
234 | &palmz71_irda_device, | 197 | &palmz71_irda_device, |
235 | &palmz71_spi_device, | 198 | &palmz71_spi_device, |
diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c index 8171fe0ca082..28c76a1e71c0 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c | |||
@@ -34,13 +34,12 @@ | |||
34 | 34 | ||
35 | #include <mach/gpio.h> | 35 | #include <mach/gpio.h> |
36 | #include <mach/mux.h> | 36 | #include <mach/mux.h> |
37 | #include <mach/dma.h> | ||
37 | #include <mach/irda.h> | 38 | #include <mach/irda.h> |
38 | #include <mach/usb.h> | 39 | #include <mach/usb.h> |
39 | #include <mach/tc.h> | 40 | #include <mach/tc.h> |
40 | #include <mach/board.h> | 41 | #include <mach/board.h> |
41 | #include <mach/common.h> | 42 | #include <mach/common.h> |
42 | #include <mach/mcbsp.h> | ||
43 | #include <mach/omap-alsa.h> | ||
44 | #include <mach/keypad.h> | 43 | #include <mach/keypad.h> |
45 | 44 | ||
46 | /* Write to I2C device */ | 45 | /* Write to I2C device */ |
@@ -254,35 +253,6 @@ static struct platform_device sx1_irda_device = { | |||
254 | .resource = sx1_irda_resources, | 253 | .resource = sx1_irda_resources, |
255 | }; | 254 | }; |
256 | 255 | ||
257 | /*----------- McBSP & Sound -------------------------*/ | ||
258 | |||
259 | /* Playback interface - McBSP1 */ | ||
260 | static struct omap_mcbsp_reg_cfg mcbsp1_regs = { | ||
261 | .spcr2 = XINTM(3), /* SPCR2=30 */ | ||
262 | .spcr1 = RINTM(3), /* SPCR1=30 */ | ||
263 | .rcr2 = 0, /* RCR2 =00 */ | ||
264 | .rcr1 = RFRLEN1(1) | RWDLEN1(OMAP_MCBSP_WORD_16), /* RCR1=140 */ | ||
265 | .xcr2 = 0, /* XCR2 = 0 */ | ||
266 | .xcr1 = XFRLEN1(1) | XWDLEN1(OMAP_MCBSP_WORD_16), /* XCR1 = 140 */ | ||
267 | .srgr1 = FWID(15) | CLKGDV(12), /* SRGR1=0f0c */ | ||
268 | .srgr2 = FSGM | FPER(31), /* SRGR2=101f */ | ||
269 | .pcr0 = FSXM | FSRM | CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP, | ||
270 | /* PCR0 =0f0f */ | ||
271 | }; | ||
272 | |||
273 | static struct omap_alsa_codec_config sx1_alsa_config = { | ||
274 | .name = "SX1 EGold", | ||
275 | .mcbsp_regs_alsa = &mcbsp1_regs, | ||
276 | }; | ||
277 | |||
278 | static struct platform_device sx1_mcbsp1_device = { | ||
279 | .name = "omap_alsa_mcbsp", | ||
280 | .id = 1, | ||
281 | .dev = { | ||
282 | .platform_data = &sx1_alsa_config, | ||
283 | }, | ||
284 | }; | ||
285 | |||
286 | /*----------- MTD -------------------------*/ | 256 | /*----------- MTD -------------------------*/ |
287 | 257 | ||
288 | static struct mtd_partition sx1_partitions[] = { | 258 | static struct mtd_partition sx1_partitions[] = { |
@@ -394,7 +364,6 @@ static struct platform_device *sx1_devices[] __initdata = { | |||
394 | &sx1_flash_device, | 364 | &sx1_flash_device, |
395 | &sx1_kp_device, | 365 | &sx1_kp_device, |
396 | &sx1_lcd_device, | 366 | &sx1_lcd_device, |
397 | &sx1_mcbsp1_device, | ||
398 | &sx1_irda_device, | 367 | &sx1_irda_device, |
399 | }; | 368 | }; |
400 | /*-----------------------------------------*/ | 369 | /*-----------------------------------------*/ |
@@ -423,9 +392,9 @@ static void __init omap_sx1_init(void) | |||
423 | 392 | ||
424 | /* turn on USB power */ | 393 | /* turn on USB power */ |
425 | /* sx1_setusbpower(1); cant do it here because i2c is not ready */ | 394 | /* sx1_setusbpower(1); cant do it here because i2c is not ready */ |
426 | omap_request_gpio(1); /* A_IRDA_OFF */ | 395 | gpio_request(1, "A_IRDA_OFF"); |
427 | omap_request_gpio(11); /* A_SWITCH */ | 396 | gpio_request(11, "A_SWITCH"); |
428 | omap_request_gpio(15); /* A_USB_ON */ | 397 | gpio_request(15, "A_USB_ON"); |
429 | gpio_direction_output(1, 1); /*A_IRDA_OFF = 1 */ | 398 | gpio_direction_output(1, 1); /*A_IRDA_OFF = 1 */ |
430 | gpio_direction_output(11, 0); /*A_SWITCH = 0 */ | 399 | gpio_direction_output(11, 0); /*A_SWITCH = 0 */ |
431 | gpio_direction_output(15, 0); /*A_USB_ON = 0 */ | 400 | gpio_direction_output(15, 0); /*A_USB_ON = 0 */ |
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index c224f3c64235..a7653542a2b0 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/reboot.h> | 22 | #include <linux/reboot.h> |
23 | #include <linux/serial_8250.h> | 23 | #include <linux/serial_8250.h> |
24 | #include <linux/serial_reg.h> | 24 | #include <linux/serial_reg.h> |
25 | #include <linux/irq.h> | ||
26 | 25 | ||
27 | #include <mach/hardware.h> | 26 | #include <mach/hardware.h> |
28 | #include <asm/mach-types.h> | 27 | #include <asm/mach-types.h> |
diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c index 4474da7bc88a..ca7a0cc1707c 100644 --- a/arch/arm/mach-omap1/mcbsp.c +++ b/arch/arm/mach-omap1/mcbsp.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
19 | 19 | ||
20 | #include <mach/irqs.h> | ||
20 | #include <mach/dma.h> | 21 | #include <mach/dma.h> |
21 | #include <mach/irqs.h> | 22 | #include <mach/irqs.h> |
22 | #include <mach/mux.h> | 23 | #include <mach/mux.h> |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index bf1e5d32c2a3..0a7b24ba1652 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -22,8 +22,6 @@ | |||
22 | #include <linux/mtd/mtd.h> | 22 | #include <linux/mtd/mtd.h> |
23 | #include <linux/mtd/partitions.h> | 23 | #include <linux/mtd/partitions.h> |
24 | #include <linux/mtd/onenand.h> | 24 | #include <linux/mtd/onenand.h> |
25 | #include <linux/irq.h> | ||
26 | #include <linux/interrupt.h> | ||
27 | #include <linux/delay.h> | 25 | #include <linux/delay.h> |
28 | #include <linux/leds.h> | 26 | #include <linux/leds.h> |
29 | #include <linux/err.h> | 27 | #include <linux/err.h> |
@@ -282,65 +280,16 @@ static void __init apollon_led_init(void) | |||
282 | { | 280 | { |
283 | /* LED0 - AA10 */ | 281 | /* LED0 - AA10 */ |
284 | omap_cfg_reg(AA10_242X_GPIO13); | 282 | omap_cfg_reg(AA10_242X_GPIO13); |
285 | omap_request_gpio(LED0_GPIO13); | 283 | gpio_request(LED0_GPIO13, "LED0"); |
286 | omap_set_gpio_direction(LED0_GPIO13, 0); | 284 | gpio_direction_output(LED0_GPIO13, 0); |
287 | omap_set_gpio_dataout(LED0_GPIO13, 0); | ||
288 | /* LED1 - AA6 */ | 285 | /* LED1 - AA6 */ |
289 | omap_cfg_reg(AA6_242X_GPIO14); | 286 | omap_cfg_reg(AA6_242X_GPIO14); |
290 | omap_request_gpio(LED1_GPIO14); | 287 | gpio_request(LED1_GPIO14, "LED1"); |
291 | omap_set_gpio_direction(LED1_GPIO14, 0); | 288 | gpio_direction_output(LED1_GPIO14, 0); |
292 | omap_set_gpio_dataout(LED1_GPIO14, 0); | ||
293 | /* LED2 - AA4 */ | 289 | /* LED2 - AA4 */ |
294 | omap_cfg_reg(AA4_242X_GPIO15); | 290 | omap_cfg_reg(AA4_242X_GPIO15); |
295 | omap_request_gpio(LED2_GPIO15); | 291 | gpio_request(LED2_GPIO15, "LED2"); |
296 | omap_set_gpio_direction(LED2_GPIO15, 0); | 292 | gpio_direction_output(LED2_GPIO15, 0); |
297 | omap_set_gpio_dataout(LED2_GPIO15, 0); | ||
298 | } | ||
299 | |||
300 | static irqreturn_t apollon_sw_interrupt(int irq, void *ignored) | ||
301 | { | ||
302 | static unsigned int led0, led1, led2; | ||
303 | |||
304 | if (irq == OMAP_GPIO_IRQ(SW_ENTER_GPIO16)) | ||
305 | omap_set_gpio_dataout(LED0_GPIO13, led0 ^= 1); | ||
306 | else if (irq == OMAP_GPIO_IRQ(SW_UP_GPIO17)) | ||
307 | omap_set_gpio_dataout(LED1_GPIO14, led1 ^= 1); | ||
308 | else if (irq == OMAP_GPIO_IRQ(SW_DOWN_GPIO58)) | ||
309 | omap_set_gpio_dataout(LED2_GPIO15, led2 ^= 1); | ||
310 | |||
311 | return IRQ_HANDLED; | ||
312 | } | ||
313 | |||
314 | static void __init apollon_sw_init(void) | ||
315 | { | ||
316 | /* Enter SW - Y11 */ | ||
317 | omap_cfg_reg(Y11_242X_GPIO16); | ||
318 | omap_request_gpio(SW_ENTER_GPIO16); | ||
319 | gpio_direction_input(SW_ENTER_GPIO16); | ||
320 | /* Up SW - AA12 */ | ||
321 | omap_cfg_reg(AA12_242X_GPIO17); | ||
322 | omap_request_gpio(SW_UP_GPIO17); | ||
323 | gpio_direction_input(SW_UP_GPIO17); | ||
324 | /* Down SW - AA8 */ | ||
325 | omap_cfg_reg(AA8_242X_GPIO58); | ||
326 | omap_request_gpio(SW_DOWN_GPIO58); | ||
327 | gpio_direction_input(SW_DOWN_GPIO58); | ||
328 | |||
329 | set_irq_type(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), IRQ_TYPE_EDGE_RISING); | ||
330 | if (request_irq(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), &apollon_sw_interrupt, | ||
331 | IRQF_SHARED, "enter sw", | ||
332 | &apollon_sw_interrupt)) | ||
333 | return; | ||
334 | set_irq_type(OMAP_GPIO_IRQ(SW_UP_GPIO17), IRQ_TYPE_EDGE_RISING); | ||
335 | if (request_irq(OMAP_GPIO_IRQ(SW_UP_GPIO17), &apollon_sw_interrupt, | ||
336 | IRQF_SHARED, "up sw", | ||
337 | &apollon_sw_interrupt)) | ||
338 | return; | ||
339 | set_irq_type(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), IRQ_TYPE_EDGE_RISING); | ||
340 | if (request_irq(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), &apollon_sw_interrupt, | ||
341 | IRQF_SHARED, "down sw", | ||
342 | &apollon_sw_interrupt)) | ||
343 | return; | ||
344 | } | 293 | } |
345 | 294 | ||
346 | static void __init apollon_usb_init(void) | 295 | static void __init apollon_usb_init(void) |
@@ -357,7 +306,6 @@ static void __init omap_apollon_init(void) | |||
357 | u32 v; | 306 | u32 v; |
358 | 307 | ||
359 | apollon_led_init(); | 308 | apollon_led_init(); |
360 | apollon_sw_init(); | ||
361 | apollon_flash_init(); | 309 | apollon_flash_init(); |
362 | apollon_usb_init(); | 310 | apollon_usb_init(); |
363 | 311 | ||
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index aa6972781e4a..f6a13451d1fd 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -88,7 +88,7 @@ static inline void __init ldp_init_smc911x(void) | |||
88 | 88 | ||
89 | ldp_smc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio); | 89 | ldp_smc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio); |
90 | 90 | ||
91 | if (omap_request_gpio(eth_gpio) < 0) { | 91 | if (gpio_request(eth_gpio, "smc911x irq") < 0) { |
92 | printk(KERN_ERR "Failed to request GPIO%d for smc911x IRQ\n", | 92 | printk(KERN_ERR "Failed to request GPIO%d for smc911x IRQ\n", |
93 | eth_gpio); | 93 | eth_gpio); |
94 | return; | 94 | return; |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 9e5ada01b5fa..38c88fbe658d 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -28,6 +28,8 @@ | |||
28 | #include <linux/mtd/partitions.h> | 28 | #include <linux/mtd/partitions.h> |
29 | #include <linux/mtd/nand.h> | 29 | #include <linux/mtd/nand.h> |
30 | 30 | ||
31 | #include <linux/i2c/twl4030.h> | ||
32 | |||
31 | #include <mach/hardware.h> | 33 | #include <mach/hardware.h> |
32 | #include <asm/mach-types.h> | 34 | #include <asm/mach-types.h> |
33 | #include <asm/mach/arch.h> | 35 | #include <asm/mach/arch.h> |
@@ -120,6 +122,9 @@ static int beagle_twl_gpio_setup(struct device *dev, | |||
120 | unsigned gpio, unsigned ngpio) | 122 | unsigned gpio, unsigned ngpio) |
121 | { | 123 | { |
122 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 124 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
125 | omap_cfg_reg(AH8_34XX_GPIO29); | ||
126 | mmc[0].gpio_cd = gpio + 0; | ||
127 | twl4030_mmc_init(mmc); | ||
123 | 128 | ||
124 | /* REVISIT: need ehci-omap hooks for external VBUS | 129 | /* REVISIT: need ehci-omap hooks for external VBUS |
125 | * power switch and overcurrent detect | 130 | * power switch and overcurrent detect |
@@ -304,10 +309,6 @@ static void __init omap3_beagle_init(void) | |||
304 | omap_board_config_size = ARRAY_SIZE(omap3_beagle_config); | 309 | omap_board_config_size = ARRAY_SIZE(omap3_beagle_config); |
305 | omap_serial_init(); | 310 | omap_serial_init(); |
306 | 311 | ||
307 | omap_cfg_reg(AH8_34XX_GPIO29); | ||
308 | mmc[0].gpio_cd = gpio + 0; | ||
309 | twl4030_mmc_init(mmc); | ||
310 | |||
311 | omap_cfg_reg(J25_34XX_GPIO170); | 312 | omap_cfg_reg(J25_34XX_GPIO170); |
312 | gpio_request(170, "DVI_nPD"); | 313 | gpio_request(170, "DVI_nPD"); |
313 | /* REVISIT leave DVI powered down until it's needed ... */ | 314 | /* REVISIT leave DVI powered down until it's needed ... */ |
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c index acdc709901cd..e20023c9d15d 100644 --- a/arch/arm/mach-omap2/mcbsp.c +++ b/arch/arm/mach-omap2/mcbsp.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
19 | 19 | ||
20 | #include <mach/irqs.h> | ||
20 | #include <mach/dma.h> | 21 | #include <mach/dma.h> |
21 | #include <mach/irqs.h> | 22 | #include <mach/irqs.h> |
22 | #include <mach/mux.h> | 23 | #include <mach/mux.h> |
diff --git a/arch/arm/mm/copypage-v4mc.c b/arch/arm/mm/copypage-v4mc.c index bdb5fd983b15..1601698b9800 100644 --- a/arch/arm/mm/copypage-v4mc.c +++ b/arch/arm/mm/copypage-v4mc.c | |||
@@ -68,7 +68,7 @@ mc_copy_user_page(void *from, void *to) | |||
68 | : "r" (from), "r" (to), "I" (PAGE_SIZE / 64)); | 68 | : "r" (from), "r" (to), "I" (PAGE_SIZE / 64)); |
69 | } | 69 | } |
70 | 70 | ||
71 | void v4_mc_copy_user_highpage(struct page *from, struct page *to, | 71 | void v4_mc_copy_user_highpage(struct page *to, struct page *from, |
72 | unsigned long vaddr) | 72 | unsigned long vaddr) |
73 | { | 73 | { |
74 | void *kto = kmap_atomic(to, KM_USER1); | 74 | void *kto = kmap_atomic(to, KM_USER1); |
diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c index 18373f73f2fc..9f88dd3be601 100644 --- a/arch/arm/mm/ioremap.c +++ b/arch/arm/mm/ioremap.c | |||
@@ -138,7 +138,7 @@ void __check_kvm_seq(struct mm_struct *mm) | |||
138 | */ | 138 | */ |
139 | static void unmap_area_sections(unsigned long virt, unsigned long size) | 139 | static void unmap_area_sections(unsigned long virt, unsigned long size) |
140 | { | 140 | { |
141 | unsigned long addr = virt, end = virt + (size & ~SZ_1M); | 141 | unsigned long addr = virt, end = virt + (size & ~(SZ_1M - 1)); |
142 | pgd_t *pgd; | 142 | pgd_t *pgd; |
143 | 143 | ||
144 | flush_cache_vunmap(addr, end); | 144 | flush_cache_vunmap(addr, end); |
@@ -337,10 +337,7 @@ void __iounmap(volatile void __iomem *io_addr) | |||
337 | void *addr = (void *)(PAGE_MASK & (unsigned long)io_addr); | 337 | void *addr = (void *)(PAGE_MASK & (unsigned long)io_addr); |
338 | #ifndef CONFIG_SMP | 338 | #ifndef CONFIG_SMP |
339 | struct vm_struct **p, *tmp; | 339 | struct vm_struct **p, *tmp; |
340 | #endif | ||
341 | unsigned int section_mapping = 0; | ||
342 | 340 | ||
343 | #ifndef CONFIG_SMP | ||
344 | /* | 341 | /* |
345 | * If this is a section based mapping we need to handle it | 342 | * If this is a section based mapping we need to handle it |
346 | * specially as the VM subsystem does not know how to handle | 343 | * specially as the VM subsystem does not know how to handle |
@@ -352,11 +349,8 @@ void __iounmap(volatile void __iomem *io_addr) | |||
352 | for (p = &vmlist ; (tmp = *p) ; p = &tmp->next) { | 349 | for (p = &vmlist ; (tmp = *p) ; p = &tmp->next) { |
353 | if ((tmp->flags & VM_IOREMAP) && (tmp->addr == addr)) { | 350 | if ((tmp->flags & VM_IOREMAP) && (tmp->addr == addr)) { |
354 | if (tmp->flags & VM_ARM_SECTION_MAPPING) { | 351 | if (tmp->flags & VM_ARM_SECTION_MAPPING) { |
355 | *p = tmp->next; | ||
356 | unmap_area_sections((unsigned long)tmp->addr, | 352 | unmap_area_sections((unsigned long)tmp->addr, |
357 | tmp->size); | 353 | tmp->size); |
358 | kfree(tmp); | ||
359 | section_mapping = 1; | ||
360 | } | 354 | } |
361 | break; | 355 | break; |
362 | } | 356 | } |
@@ -364,7 +358,6 @@ void __iounmap(volatile void __iomem *io_addr) | |||
364 | write_unlock(&vmlist_lock); | 358 | write_unlock(&vmlist_lock); |
365 | #endif | 359 | #endif |
366 | 360 | ||
367 | if (!section_mapping) | 361 | vunmap(addr); |
368 | vunmap(addr); | ||
369 | } | 362 | } |
370 | EXPORT_SYMBOL(__iounmap); | 363 | EXPORT_SYMBOL(__iounmap); |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 692d2b495af3..e77373c39f8c 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -278,14 +278,11 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count, | |||
278 | u32 val; | 278 | u32 val; |
279 | 279 | ||
280 | val = dma_read(CCR(lch)); | 280 | val = dma_read(CCR(lch)); |
281 | val &= ~(3 << 19); | 281 | |
282 | if (dma_trigger > 63) | 282 | /* DMA_SYNCHRO_CONTROL_UPPER depends on the channel number */ |
283 | val |= 1 << 20; | 283 | val &= ~((3 << 19) | 0x1f); |
284 | if (dma_trigger > 31) | 284 | val |= (dma_trigger & ~0x1f) << 14; |
285 | val |= 1 << 19; | 285 | val |= dma_trigger & 0x1f; |
286 | |||
287 | val &= ~(0x1f); | ||
288 | val |= (dma_trigger & 0x1f); | ||
289 | 286 | ||
290 | if (sync_mode & OMAP_DMA_SYNC_FRAME) | 287 | if (sync_mode & OMAP_DMA_SYNC_FRAME) |
291 | val |= 1 << 5; | 288 | val |= 1 << 5; |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 07b6968a7d16..f856a90b264e 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -1789,6 +1789,8 @@ static int dbg_gpio_show(struct seq_file *s, void *unused) | |||
1789 | /* FIXME for at least omap2, show pullup/pulldown state */ | 1789 | /* FIXME for at least omap2, show pullup/pulldown state */ |
1790 | 1790 | ||
1791 | irqstat = irq_desc[irq].status; | 1791 | irqstat = irq_desc[irq].status; |
1792 | #if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP24XX) || \ | ||
1793 | defined(CONFIG_ARCH_OMAP34XX) | ||
1792 | if (is_in && ((bank->suspend_wakeup & mask) | 1794 | if (is_in && ((bank->suspend_wakeup & mask) |
1793 | || irqstat & IRQ_TYPE_SENSE_MASK)) { | 1795 | || irqstat & IRQ_TYPE_SENSE_MASK)) { |
1794 | char *trigger = NULL; | 1796 | char *trigger = NULL; |
@@ -1818,6 +1820,7 @@ static int dbg_gpio_show(struct seq_file *s, void *unused) | |||
1818 | (bank->suspend_wakeup & mask) | 1820 | (bank->suspend_wakeup & mask) |
1819 | ? " wakeup" : ""); | 1821 | ? " wakeup" : ""); |
1820 | } | 1822 | } |
1823 | #endif | ||
1821 | seq_printf(s, "\n"); | 1824 | seq_printf(s, "\n"); |
1822 | } | 1825 | } |
1823 | 1826 | ||
diff --git a/arch/arm/plat-omap/include/mach/aic23.h b/arch/arm/plat-omap/include/mach/aic23.h deleted file mode 100644 index 5ccedac77526..000000000000 --- a/arch/arm/plat-omap/include/mach/aic23.h +++ /dev/null | |||
@@ -1,116 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/aic23.h | ||
3 | * | ||
4 | * Hardware definitions for TI TLV320AIC23 audio codec | ||
5 | * | ||
6 | * Copyright (C) 2002 RidgeRun, Inc. | ||
7 | * Author: Steve Johnson | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2 of the License, or (at your | ||
12 | * option) any later version. | ||
13 | * | ||
14 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
15 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
16 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
17 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
19 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
20 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
21 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License along | ||
26 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
27 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
28 | */ | ||
29 | |||
30 | #ifndef __ASM_ARCH_AIC23_H | ||
31 | #define __ASM_ARCH_AIC23_H | ||
32 | |||
33 | // Codec TLV320AIC23 | ||
34 | #define LEFT_LINE_VOLUME_ADDR 0x00 | ||
35 | #define RIGHT_LINE_VOLUME_ADDR 0x01 | ||
36 | #define LEFT_CHANNEL_VOLUME_ADDR 0x02 | ||
37 | #define RIGHT_CHANNEL_VOLUME_ADDR 0x03 | ||
38 | #define ANALOG_AUDIO_CONTROL_ADDR 0x04 | ||
39 | #define DIGITAL_AUDIO_CONTROL_ADDR 0x05 | ||
40 | #define POWER_DOWN_CONTROL_ADDR 0x06 | ||
41 | #define DIGITAL_AUDIO_FORMAT_ADDR 0x07 | ||
42 | #define SAMPLE_RATE_CONTROL_ADDR 0x08 | ||
43 | #define DIGITAL_INTERFACE_ACT_ADDR 0x09 | ||
44 | #define RESET_CONTROL_ADDR 0x0F | ||
45 | |||
46 | // Left (right) line input volume control register | ||
47 | #define LRS_ENABLED 0x0100 | ||
48 | #define LIM_MUTED 0x0080 | ||
49 | #define LIV_DEFAULT 0x0017 | ||
50 | #define LIV_MAX 0x001f | ||
51 | #define LIV_MIN 0x0000 | ||
52 | |||
53 | // Left (right) channel headphone volume control register | ||
54 | #define LZC_ON 0x0080 | ||
55 | #define LHV_DEFAULT 0x0079 | ||
56 | #define LHV_MAX 0x007f | ||
57 | #define LHV_MIN 0x0000 | ||
58 | |||
59 | // Analog audio path control register | ||
60 | #define STA_REG(x) ((x)<<6) | ||
61 | #define STE_ENABLED 0x0020 | ||
62 | #define DAC_SELECTED 0x0010 | ||
63 | #define BYPASS_ON 0x0008 | ||
64 | #define INSEL_MIC 0x0004 | ||
65 | #define MICM_MUTED 0x0002 | ||
66 | #define MICB_20DB 0x0001 | ||
67 | |||
68 | // Digital audio path control register | ||
69 | #define DACM_MUTE 0x0008 | ||
70 | #define DEEMP_32K 0x0002 | ||
71 | #define DEEMP_44K 0x0004 | ||
72 | #define DEEMP_48K 0x0006 | ||
73 | #define ADCHP_ON 0x0001 | ||
74 | |||
75 | // Power control down register | ||
76 | #define DEVICE_POWER_OFF 0x0080 | ||
77 | #define CLK_OFF 0x0040 | ||
78 | #define OSC_OFF 0x0020 | ||
79 | #define OUT_OFF 0x0010 | ||
80 | #define DAC_OFF 0x0008 | ||
81 | #define ADC_OFF 0x0004 | ||
82 | #define MIC_OFF 0x0002 | ||
83 | #define LINE_OFF 0x0001 | ||
84 | |||
85 | // Digital audio interface register | ||
86 | #define MS_MASTER 0x0040 | ||
87 | #define LRSWAP_ON 0x0020 | ||
88 | #define LRP_ON 0x0010 | ||
89 | #define IWL_16 0x0000 | ||
90 | #define IWL_20 0x0004 | ||
91 | #define IWL_24 0x0008 | ||
92 | #define IWL_32 0x000C | ||
93 | #define FOR_I2S 0x0002 | ||
94 | #define FOR_DSP 0x0003 | ||
95 | |||
96 | // Sample rate control register | ||
97 | #define CLKOUT_HALF 0x0080 | ||
98 | #define CLKIN_HALF 0x0040 | ||
99 | #define BOSR_384fs 0x0002 // BOSR_272fs when in USB mode | ||
100 | #define USB_CLK_ON 0x0001 | ||
101 | #define SR_MASK 0xf | ||
102 | #define CLKOUT_SHIFT 7 | ||
103 | #define CLKIN_SHIFT 6 | ||
104 | #define SR_SHIFT 2 | ||
105 | #define BOSR_SHIFT 1 | ||
106 | |||
107 | // Digital interface register | ||
108 | #define ACT_ON 0x0001 | ||
109 | |||
110 | #define TLV320AIC23ID1 (0x1a) // cs low | ||
111 | #define TLV320AIC23ID2 (0x1b) // cs high | ||
112 | |||
113 | void aic23_power_up(void); | ||
114 | void aic23_power_down(void); | ||
115 | |||
116 | #endif /* __ASM_ARCH_AIC23_H */ | ||
diff --git a/arch/arm/plat-omap/include/mach/board-h3.h b/arch/arm/plat-omap/include/mach/board-h3.h index 14909dc7858a..1888326da7ea 100644 --- a/arch/arm/plat-omap/include/mach/board-h3.h +++ b/arch/arm/plat-omap/include/mach/board-h3.h | |||
@@ -30,7 +30,9 @@ | |||
30 | /* In OMAP1710 H3 the Ethernet is directly connected to CS1 */ | 30 | /* In OMAP1710 H3 the Ethernet is directly connected to CS1 */ |
31 | #define OMAP1710_ETHR_START 0x04000300 | 31 | #define OMAP1710_ETHR_START 0x04000300 |
32 | 32 | ||
33 | #define H3_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 /* MPUIO */) | ||
34 | # define H3_TPS_GPIO_MMC_PWR_EN (H3_TPS_GPIO_BASE + 4) | ||
35 | |||
33 | extern void h3_mmc_init(void); | 36 | extern void h3_mmc_init(void); |
34 | extern void h3_mmc_slot_cover_handler(void *arg, int state); | ||
35 | 37 | ||
36 | #endif /* __ASM_ARCH_OMAP_H3_H */ | 38 | #endif /* __ASM_ARCH_OMAP_H3_H */ |
diff --git a/arch/arm/plat-omap/include/mach/gpio.h b/arch/arm/plat-omap/include/mach/gpio.h index 04e68e88f134..8d9dfe314387 100644 --- a/arch/arm/plat-omap/include/mach/gpio.h +++ b/arch/arm/plat-omap/include/mach/gpio.h | |||
@@ -87,16 +87,6 @@ extern void omap_set_gpio_debounce_time(int gpio, int enable); | |||
87 | #include <linux/errno.h> | 87 | #include <linux/errno.h> |
88 | #include <asm-generic/gpio.h> | 88 | #include <asm-generic/gpio.h> |
89 | 89 | ||
90 | static inline int omap_request_gpio(int gpio) | ||
91 | { | ||
92 | return gpio_request(gpio, "FIXME"); | ||
93 | } | ||
94 | |||
95 | static inline void omap_free_gpio(int gpio) | ||
96 | { | ||
97 | gpio_free(gpio); | ||
98 | } | ||
99 | |||
100 | static inline int gpio_get_value(unsigned gpio) | 90 | static inline int gpio_get_value(unsigned gpio) |
101 | { | 91 | { |
102 | return __gpio_get_value(gpio); | 92 | return __gpio_get_value(gpio); |
diff --git a/arch/arm/plat-omap/include/mach/mcbsp.h b/arch/arm/plat-omap/include/mach/mcbsp.h index 6a0d1a0a24a7..eef873db3d48 100644 --- a/arch/arm/plat-omap/include/mach/mcbsp.h +++ b/arch/arm/plat-omap/include/mach/mcbsp.h | |||
@@ -87,6 +87,10 @@ | |||
87 | #define OMAP_MCBSP_REG_XCERG 0x3A | 87 | #define OMAP_MCBSP_REG_XCERG 0x3A |
88 | #define OMAP_MCBSP_REG_XCERH 0x3C | 88 | #define OMAP_MCBSP_REG_XCERH 0x3C |
89 | 89 | ||
90 | /* Dummy defines, these are not available on omap1 */ | ||
91 | #define OMAP_MCBSP_REG_XCCR 0x00 | ||
92 | #define OMAP_MCBSP_REG_RCCR 0x00 | ||
93 | |||
90 | #define AUDIO_MCBSP_DATAWRITE (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1) | 94 | #define AUDIO_MCBSP_DATAWRITE (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1) |
91 | #define AUDIO_MCBSP_DATAREAD (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DRR1) | 95 | #define AUDIO_MCBSP_DATAREAD (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DRR1) |
92 | 96 | ||
@@ -231,11 +235,16 @@ | |||
231 | #define XPBBLK(value) ((value)<<7) /* Bits 7:8 */ | 235 | #define XPBBLK(value) ((value)<<7) /* Bits 7:8 */ |
232 | 236 | ||
233 | /*********************** McBSP XCCR bit definitions *************************/ | 237 | /*********************** McBSP XCCR bit definitions *************************/ |
238 | #define EXTCLKGATE 0x8000 | ||
239 | #define PPCONNECT 0x4000 | ||
240 | #define DXENDLY(value) ((value)<<12) /* Bits 12:13 */ | ||
241 | #define XFULL_CYCLE 0x0800 | ||
234 | #define DILB 0x0020 | 242 | #define DILB 0x0020 |
235 | #define XDMAEN 0x0008 | 243 | #define XDMAEN 0x0008 |
236 | #define XDISABLE 0x0001 | 244 | #define XDISABLE 0x0001 |
237 | 245 | ||
238 | /********************** McBSP RCCR bit definitions *************************/ | 246 | /********************** McBSP RCCR bit definitions *************************/ |
247 | #define RFULL_CYCLE 0x0800 | ||
239 | #define RDMAEN 0x0008 | 248 | #define RDMAEN 0x0008 |
240 | #define RDISABLE 0x0001 | 249 | #define RDISABLE 0x0001 |
241 | 250 | ||
@@ -267,6 +276,8 @@ struct omap_mcbsp_reg_cfg { | |||
267 | u16 rcerh; | 276 | u16 rcerh; |
268 | u16 xcerg; | 277 | u16 xcerg; |
269 | u16 xcerh; | 278 | u16 xcerh; |
279 | u16 xccr; | ||
280 | u16 rccr; | ||
270 | }; | 281 | }; |
271 | 282 | ||
272 | typedef enum { | 283 | typedef enum { |
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index af33fc713e1a..f2401a831f99 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c | |||
@@ -173,6 +173,10 @@ void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg *config) | |||
173 | OMAP_MCBSP_WRITE(io_base, MCR2, config->mcr2); | 173 | OMAP_MCBSP_WRITE(io_base, MCR2, config->mcr2); |
174 | OMAP_MCBSP_WRITE(io_base, MCR1, config->mcr1); | 174 | OMAP_MCBSP_WRITE(io_base, MCR1, config->mcr1); |
175 | OMAP_MCBSP_WRITE(io_base, PCR0, config->pcr0); | 175 | OMAP_MCBSP_WRITE(io_base, PCR0, config->pcr0); |
176 | if (cpu_is_omap2430() || cpu_is_omap34xx()) { | ||
177 | OMAP_MCBSP_WRITE(io_base, XCCR, config->xccr); | ||
178 | OMAP_MCBSP_WRITE(io_base, RCCR, config->rccr); | ||
179 | } | ||
176 | } | 180 | } |
177 | EXPORT_SYMBOL(omap_mcbsp_config); | 181 | EXPORT_SYMBOL(omap_mcbsp_config); |
178 | 182 | ||
diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c index add0485703b5..e278de6862ae 100644 --- a/arch/arm/plat-omap/usb.c +++ b/arch/arm/plat-omap/usb.c | |||
@@ -431,15 +431,6 @@ bad: | |||
431 | 431 | ||
432 | /*-------------------------------------------------------------------------*/ | 432 | /*-------------------------------------------------------------------------*/ |
433 | 433 | ||
434 | #if defined(CONFIG_USB_GADGET_OMAP) || \ | ||
435 | defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) || \ | ||
436 | (defined(CONFIG_USB_OTG) && defined(CONFIG_ARCH_OMAP_OTG)) | ||
437 | static void usb_release(struct device *dev) | ||
438 | { | ||
439 | /* normally not freed */ | ||
440 | } | ||
441 | #endif | ||
442 | |||
443 | #ifdef CONFIG_USB_GADGET_OMAP | 434 | #ifdef CONFIG_USB_GADGET_OMAP |
444 | 435 | ||
445 | static struct resource udc_resources[] = { | 436 | static struct resource udc_resources[] = { |
@@ -466,7 +457,6 @@ static struct platform_device udc_device = { | |||
466 | .name = "omap_udc", | 457 | .name = "omap_udc", |
467 | .id = -1, | 458 | .id = -1, |
468 | .dev = { | 459 | .dev = { |
469 | .release = usb_release, | ||
470 | .dma_mask = &udc_dmamask, | 460 | .dma_mask = &udc_dmamask, |
471 | .coherent_dma_mask = 0xffffffff, | 461 | .coherent_dma_mask = 0xffffffff, |
472 | }, | 462 | }, |
@@ -497,7 +487,6 @@ static struct platform_device ohci_device = { | |||
497 | .name = "ohci", | 487 | .name = "ohci", |
498 | .id = -1, | 488 | .id = -1, |
499 | .dev = { | 489 | .dev = { |
500 | .release = usb_release, | ||
501 | .dma_mask = &ohci_dmamask, | 490 | .dma_mask = &ohci_dmamask, |
502 | .coherent_dma_mask = 0xffffffff, | 491 | .coherent_dma_mask = 0xffffffff, |
503 | }, | 492 | }, |
@@ -524,9 +513,6 @@ static struct resource otg_resources[] = { | |||
524 | static struct platform_device otg_device = { | 513 | static struct platform_device otg_device = { |
525 | .name = "omap_otg", | 514 | .name = "omap_otg", |
526 | .id = -1, | 515 | .id = -1, |
527 | .dev = { | ||
528 | .release = usb_release, | ||
529 | }, | ||
530 | .num_resources = ARRAY_SIZE(otg_resources), | 516 | .num_resources = ARRAY_SIZE(otg_resources), |
531 | .resource = otg_resources, | 517 | .resource = otg_resources, |
532 | }; | 518 | }; |