summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorZhang Jiejing <jiejing.zhang@freescale.com>2012-04-20 15:38:24 +0800
committerZhang Jiejing <jiejing.zhang@freescale.com>2012-04-24 14:08:32 +0800
commit6739ea7dfbd9f1cbc9c50973475fb1acc2467f11 (patch)
treee631489015ea4adc453e0532995f2e8c550682c8 /drivers/usb
parent074efa5991c67fc70e4e6497b72da522b528005b (diff)
downloadu-boot-imx-6739ea7dfbd9f1cbc9c50973475fb1acc2467f11.zip
u-boot-imx-6739ea7dfbd9f1cbc9c50973475fb1acc2467f11.tar.gz
u-boot-imx-6739ea7dfbd9f1cbc9c50973475fb1acc2467f11.tar.bz2
ENGR00180623 fastboot: add fastboot in MX6Q_SABERSD boards
add fastboot function back in MX6Q_SABERSD board. the MX6DL_SABERSD have usb init related issue which will keep RESET, but left as later developement. Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/imx_udc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/gadget/imx_udc.c b/drivers/usb/gadget/imx_udc.c
index 9f1f492..67011bd 100644
--- a/drivers/usb/gadget/imx_udc.c
+++ b/drivers/usb/gadget/imx_udc.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2011 Freescale Semiconductor, Inc.
+ * Copyright (C) 2010-2012 Freescale Semiconductor, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -78,6 +78,7 @@ typedef struct {
typedef struct usb_device_request setup_packet;
static int usb_highspeed;
+static int usb_inited;
static mxc_udc_ctrl mxc_udc;
static struct usb_device_instance *udc_device;
static struct urb *ep0_urb;
@@ -501,6 +502,7 @@ static void usb_udc_init(void)
usb_init_eps();
mxc_init_ep_struct();
ep0_setup();
+ usb_inited = 1;
}
void usb_shutdown(void)
@@ -929,7 +931,10 @@ void udc_connect(void)
void udc_disconnect(void)
{
- mxc_usb_stop();
+ /* imx6 will hang if access usb register without init oh3
+ * clock, so not access it if not init. */
+ if (usb_inited)
+ mxc_usb_stop();
}
void udc_set_nak(int epid)