diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2009-12-09 02:25:19 +0100 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2009-12-09 18:08:09 +0100 |
commit | 6dc5be9a1679adcd95f1d3c091b528b3cf9f5ba8 (patch) | |
tree | 4b9db35e5565a1f1243244e47d002ed53645195c | |
parent | bde2f8513e7890e8d4d2a42c6f5afcf7257ffda4 (diff) | |
download | barebox-6dc5be9a1679adcd95f1d3c091b528b3cf9f5ba8.tar.gz barebox-6dc5be9a1679adcd95f1d3c091b528b3cf9f5ba8.tar.xz |
i.MX35 3stack: enable USB host
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r-- | board/freescale-mx35-3-stack/3stack.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/board/freescale-mx35-3-stack/3stack.c b/board/freescale-mx35-3-stack/3stack.c index 8916c8ee89..283274e02e 100644 --- a/board/freescale-mx35-3-stack/3stack.c +++ b/board/freescale-mx35-3-stack/3stack.c @@ -427,6 +427,21 @@ static int f3s_pmic_init_all(struct mc9sdz60 *mc9sdz60) return err; } +static int f3s_enable_usbhost(struct mc9sdz60 *mc9sdz60) +{ + int err = 0; + + /* MUX3_CTR to be low for USB Host2 DP & DM */ + err |= mc9sdz60_set_bits(mc9sdz60, MC9SDZ60_REG_GPIO_2, 0x1 << 6, 0); + /* CAN_PWDN to be high for USB Host2 Power & OC */ + err |= mc9sdz60_set_bits(mc9sdz60, MC9SDZ60_REG_GPIO_2, 0x1 << 1, 0x1 << 1); + + if (err) + dev_err(&mc9sdz60->client->dev, "Failed to enable USB Host!\n"); + + return err; +} + static int f3s_pmic_init(void) { struct mc13892 *mc13892; @@ -460,6 +475,10 @@ static int f3s_pmic_init(void) f3s_pmic_init_all(mc9sdz60); + /* HACK: enable usb host here, should be moved to linux */ + if (rev == 20) + f3s_enable_usbhost(mc9sdz60); + return 0; } |