diff options
author | Marek Vasut <marek.vasut@gmail.com> | 2009-04-17 05:37:35 -0400 |
---|---|---|
committer | Eric Miao <eric.miao@marvell.com> | 2009-04-19 09:56:54 -0400 |
commit | e91fb9137dd235ab959d7675d0e4104974dad5eb (patch) | |
tree | abc6e2d5064f713a43bf91b3114aa6462e6f6c82 /arch/arm/mach-pxa/palmt5.c | |
parent | cc8d2730ad6fe79699cedd9cccfe632570830c3c (diff) |
[ARM] pxa/palm27x: General fix for Palm27x aSoC driver
Firstly, this patch makes the palm27x asoc driver a little more sane. Also,
since all affected devices use GPIO95 as AC97_nRESET, this patch sets that
properly. Affected are PalmT5, TX and LifeDrive.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Diffstat (limited to 'arch/arm/mach-pxa/palmt5.c')
-rw-r--r-- | arch/arm/mach-pxa/palmt5.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index d7f81068c613..30662363907b 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -420,10 +420,22 @@ static struct wm97xx_batt_info wm97xx_batt_pdata = { | |||
420 | /****************************************************************************** | 420 | /****************************************************************************** |
421 | * aSoC audio | 421 | * aSoC audio |
422 | ******************************************************************************/ | 422 | ******************************************************************************/ |
423 | static struct palm27x_asoc_info palm27x_asoc_pdata = { | 423 | static struct palm27x_asoc_info palmt5_asoc_pdata = { |
424 | .jack_gpio = GPIO_NR_PALMT5_EARPHONE_DETECT, | 424 | .jack_gpio = GPIO_NR_PALMT5_EARPHONE_DETECT, |
425 | }; | 425 | }; |
426 | 426 | ||
427 | static pxa2xx_audio_ops_t palmt5_ac97_pdata = { | ||
428 | .reset_gpio = 95, | ||
429 | }; | ||
430 | |||
431 | static struct platform_device palmt5_asoc = { | ||
432 | .name = "palm27x-asoc", | ||
433 | .id = -1, | ||
434 | .dev = { | ||
435 | .platform_data = &palmt5_asoc_pdata, | ||
436 | }, | ||
437 | }; | ||
438 | |||
427 | /****************************************************************************** | 439 | /****************************************************************************** |
428 | * Framebuffer | 440 | * Framebuffer |
429 | ******************************************************************************/ | 441 | ******************************************************************************/ |
@@ -486,6 +498,7 @@ static struct platform_device *devices[] __initdata = { | |||
486 | #endif | 498 | #endif |
487 | &palmt5_backlight, | 499 | &palmt5_backlight, |
488 | &power_supply, | 500 | &power_supply, |
501 | &palmt5_asoc, | ||
489 | }; | 502 | }; |
490 | 503 | ||
491 | /* setup udc GPIOs initial state */ | 504 | /* setup udc GPIOs initial state */ |
@@ -504,12 +517,11 @@ static void __init palmt5_init(void) | |||
504 | set_pxa_fb_info(&palmt5_lcd_screen); | 517 | set_pxa_fb_info(&palmt5_lcd_screen); |
505 | pxa_set_mci_info(&palmt5_mci_platform_data); | 518 | pxa_set_mci_info(&palmt5_mci_platform_data); |
506 | palmt5_udc_init(); | 519 | palmt5_udc_init(); |
520 | pxa_set_ac97_info(&palmt5_ac97_pdata); | ||
507 | pxa_set_udc_info(&palmt5_udc_info); | 521 | pxa_set_udc_info(&palmt5_udc_info); |
508 | pxa_set_ac97_info(NULL); | ||
509 | pxa_set_ficp_info(&palmt5_ficp_platform_data); | 522 | pxa_set_ficp_info(&palmt5_ficp_platform_data); |
510 | pxa_set_keypad_info(&palmt5_keypad_platform_data); | 523 | pxa_set_keypad_info(&palmt5_keypad_platform_data); |
511 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); | 524 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); |
512 | palm27x_asoc_set_pdata(&palm27x_asoc_pdata); | ||
513 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 525 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
514 | } | 526 | } |
515 | 527 | ||