diff options
| -rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/usb-imx31.c | 10 |
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 */ } } |