aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorEric Millbrandt <emillbrandt@dekaresearch.com>2010-09-03 13:27:38 -0400
committerGrant Likely <grant.likely@secretlab.ca>2010-09-08 11:55:26 -0600
commitfa32154e47a203688453e53c1369fcbc63b06a21 (patch)
treeb9a95fe92d483efb45025eb36845bbe56c008b43 /arch/powerpc
parentpowerpc/5200: efika.c: Add of_node_put to avoid memory leak (diff)
downloadlinux-dev-fa32154e47a203688453e53c1369fcbc63b06a21.tar.xz
linux-dev-fa32154e47a203688453e53c1369fcbc63b06a21.zip
powerpc/5200: tighten up ac97 reset timing
Tighten up time timing around the gpio reset functionality. Add a 200ns delay before remuxing the pins back to ac97 to comply with the ac97 spec. Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to '')
-rw-r--r--arch/powerpc/platforms/52xx/mpc52xx_common.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c
index 6e905314ad5d..41f3a7eda1de 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
@@ -325,12 +325,16 @@ int mpc5200_psc_ac97_gpio_reset(int psc_number)
clrbits32(&simple_gpio->simple_dvo, sync | out);
clrbits8(&wkup_gpio->wkup_dvo, reset);
- /* wait at lease 1 us */
- udelay(2);
+ /* wait for 1 us */
+ udelay(1);
/* Deassert reset */
setbits8(&wkup_gpio->wkup_dvo, reset);
+ /* wait at least 200ns */
+ /* 7 ~= (200ns * timebase) / ns2sec */
+ __delay(7);
+
/* Restore pin-muxing */
out_be32(&simple_gpio->port_config, mux);