浏览代码

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>
Eric Millbrandt 14 年之前
父节点
当前提交
fa32154e47
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      arch/powerpc/platforms/52xx/mpc52xx_common.c

+ 6 - 2
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);
 	clrbits32(&simple_gpio->simple_dvo, sync | out);
 	clrbits8(&wkup_gpio->wkup_dvo, reset);
 	clrbits8(&wkup_gpio->wkup_dvo, reset);
 
 
-	/* wait at lease 1 us */
-	udelay(2);
+	/* wait for 1 us */
+	udelay(1);
 
 
 	/* Deassert reset */
 	/* Deassert reset */
 	setbits8(&wkup_gpio->wkup_dvo, reset);
 	setbits8(&wkup_gpio->wkup_dvo, reset);
 
 
+	/* wait at least 200ns */
+	/* 7 ~= (200ns * timebase) / ns2sec */
+	__delay(7);
+
 	/* Restore pin-muxing */
 	/* Restore pin-muxing */
 	out_be32(&simple_gpio->port_config, mux);
 	out_be32(&simple_gpio->port_config, mux);