This patch ties up udc closedown before starting Linux, and
makes sure the endpoints are off in the hardware.
Signed-off-by: Andy Green <andy@openmoko.com>
#include <hush.h>
#endif
+extern void udc_disable (void);
+
DECLARE_GLOBAL_DATA_PTR;
extern int gunzip (void *dst, int dstlen, unsigned char *src, unsigned long *lenp);
mmc_depower();
#endif
+#if (defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || \
+ defined(CONFIG_S3C2442) || defined(CONFIG_S3C2443)) && defined(CONFIG_USB_DEVICE)
+ udc_disable();
+#endif
+
/*
* We have reached the point of no return: we are going to
* overwrite all exception vector code, so we cannot easily
static void s3c2410_deconfigure_device (void)
{
- /* FIXME: Implement this */
+ outl(0, S3C2410_UDC_EP1_DMA_CON);
+ outl(0, S3C2410_UDC_EP2_DMA_CON);
+ outl(0, S3C2410_UDC_EP3_DMA_CON);
+ outl(0, S3C2410_UDC_EP4_DMA_CON);
}
static void s3c2410_configure_device (struct usb_device_instance *device)