diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-02-11 06:06:39 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-02-11 06:06:39 -0500 |
commit | f8843c91c60ed744cc7dd6326e44ddb91250ab35 (patch) | |
tree | 80bd1bec879b8c3aa845e19873ae1cd98e15310b /arch/arm | |
parent | f0fab49461c819817d57c145832aa263226c36a8 (diff) | |
parent | 053fe0f166e540a9766548572eccfc18c21ff353 (diff) |
Merge remote-tracking branch 'asoc/topic/pxa' into asoc-next
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 616cb87b6179..69985b06c0da 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -53,17 +53,25 @@ static unsigned long ac97_reset_config[] = { | |||
53 | GPIO95_AC97_nRESET, | 53 | GPIO95_AC97_nRESET, |
54 | }; | 54 | }; |
55 | 55 | ||
56 | void pxa27x_assert_ac97reset(int reset_gpio, int on) | 56 | void pxa27x_configure_ac97reset(int reset_gpio, bool to_gpio) |
57 | { | 57 | { |
58 | /* | ||
59 | * This helper function is used to work around a bug in the pxa27x's | ||
60 | * ac97 controller during a warm reset. The configuration of the | ||
61 | * reset_gpio is changed as follows: | ||
62 | * to_gpio == true: configured to generic output gpio and driven high | ||
63 | * to_gpio == false: configured to ac97 controller alt fn AC97_nRESET | ||
64 | */ | ||
65 | |||
58 | if (reset_gpio == 113) | 66 | if (reset_gpio == 113) |
59 | pxa2xx_mfp_config(on ? &ac97_reset_config[0] : | 67 | pxa2xx_mfp_config(to_gpio ? &ac97_reset_config[0] : |
60 | &ac97_reset_config[1], 1); | 68 | &ac97_reset_config[1], 1); |
61 | 69 | ||
62 | if (reset_gpio == 95) | 70 | if (reset_gpio == 95) |
63 | pxa2xx_mfp_config(on ? &ac97_reset_config[2] : | 71 | pxa2xx_mfp_config(to_gpio ? &ac97_reset_config[2] : |
64 | &ac97_reset_config[3], 1); | 72 | &ac97_reset_config[3], 1); |
65 | } | 73 | } |
66 | EXPORT_SYMBOL_GPL(pxa27x_assert_ac97reset); | 74 | EXPORT_SYMBOL_GPL(pxa27x_configure_ac97reset); |
67 | 75 | ||
68 | /* Crystal clock: 13MHz */ | 76 | /* Crystal clock: 13MHz */ |
69 | #define BASE_CLK 13000000 | 77 | #define BASE_CLK 13000000 |