summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/usb-imx31.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c b/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c
index 7a3ec27..a90384d 100644
--- a/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/usb-imx31.c
@@ -35,14 +35,16 @@ static void enable_transceiver(bool enable)
{
if (GPIO1_DR & (1 << 30))
{
- GPIO3_DR &= ~(1 << 16); /* Reset ISP1504 */
- GPIO3_DR |= (1 << 16);
- GPIO1_DR &= ~(1 << 30); /* Select ISP1504 */
+ imx31_regmod32(&GPIO3_DR, 0, (1 << 16)); /* Reset ISP1504 */
+ sleep(HZ/100);
+ imx31_regmod32(&GPIO3_DR, (1 << 16), (1 << 16));
+ sleep(HZ/10);
+ imx31_regmod32(&GPIO1_DR, 0, (1 << 30)); /* Select ISP1504 */
}
}
else
{
- GPIO1_DR |= (1 << 30); /* Deselect ISP1504 */
+ imx31_regmod32(&GPIO1_DR, (1 << 30), (1 << 30)); /* Deselect ISP1504 */
}
}