From 1782cfa61d4501c25e7ab56efe3897de74830624 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 21 Sep 2013 12:20:11 -0600 Subject: [PATCH] SAMA5D3x-EK: Always use UPLL for USB clocking --- configs/sama5d3x-ek/README.txt | 26 +++++++++++--------------- configs/sama5d3x-ek/include/board.h | 2 +- configs/sama5d3x-ek/src/sam_usb.c | 4 ++-- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/configs/sama5d3x-ek/README.txt b/configs/sama5d3x-ek/README.txt index bc8b5a6314..2b7b99cafa 100644 --- a/configs/sama5d3x-ek/README.txt +++ b/configs/sama5d3x-ek/README.txt @@ -1115,7 +1115,7 @@ Configurations volume when it is removed. But those callbacks are not used in this configuration. - 7. Support the USB high-speed EHCI device (UDPHS) driver is enabled. + 7. Support the USB high-speed device (UDPHS) driver is enabled. These are the relevant NuttX configuration settings: Device Drivers -> USB Device Driver Support @@ -1294,11 +1294,9 @@ Configurations it runs out of NAND. OHCI WITH EHCI - 2013-9-11: OHCI does not work with EHCI. At present, EHCI receives the - full- or low-speed devices and correctly hands them off to OHCI. But, for - some unknown reason, the connection is lost and the port reverts to EHCI which - returns the port to OHCI. This sequence of connection events occurs - indefinitiely. OHCI does work without EHCI enabled, however. + 2013-9-19: OHCI works correctly with EHCI. EHCI will handle high-speed + device connections; full- and low-speed device connections will be + handed-off to the OHCI HCD. hello: This configuration directory, performs the (almost) simplest of all @@ -1633,7 +1631,7 @@ Configurations 11. Support the USB high-speed EHCI host driver can be enabled by changing the NuttX configuration file as follows. If EHCI is enabled by itself, then only high-speed devices can be supported. If OHCI is also enabled, - then all low-, full-, and high speed devices should work. + then all low-, full-, and high speed devices will work. System Type -> ATSAMA5 Peripheral Support CONFIG_SAMA5_UHPHS=y : USB Host High Speed @@ -1986,21 +1984,19 @@ Configurations 2013-9-11: Basic HSCMI0/1 functionality (with DMA) has been verified. OHCI - 2013-8-16: The OCHI configuration is now basically functional. + 2013-8-16: The OCHI configuration is functional. Testing is not yet extensive, however: a) I have tested only control and bulk endpoints. I still need to test interrupt endpoints. EHCI - 2013-8-26: - The hand-off of full speed devices to OHCI does not work. In this - case, OHCI gets the port, but the port is reset, lost by OHCI and - returned to EHCI. EHCI sees the full-speed port and hands it off to - OHCI and this sequence continues forever. - 2013-8-28: EHCI is partially functional. + 2013-8-28: EHCI is functional. + 2013-9-19: OHCI works correctly with EHCI. EHCI will handle high-speed + device connections; full- and low-speed device connections will be + handed-off to the OHCI HCD. UDPHS - 2013-9-5: The UDPHS driver is basically functional. + 2013-9-5: The UDPHS driver is functional. I2C 2013-9-12: I have been unusuccessful getting the external serial diff --git a/configs/sama5d3x-ek/include/board.h b/configs/sama5d3x-ek/include/board.h index fafb3c6398..5be5c19151 100644 --- a/configs/sama5d3x-ek/include/board.h +++ b/configs/sama5d3x-ek/include/board.h @@ -51,7 +51,7 @@ * definitions will configure operational clocking. */ -#if !defined(CONFIG_SAMA5_OHCI) || defined(CONFIG_SAMA5_EHCI) +#if 1 /* #if !defined(CONFIG_SAMA5_OHCI) || defined(CONFIG_SAMA5_EHCI) */ /* This is the configuration provided in the Atmel example code. This setup results * in a CPU clock of 396MHz. * diff --git a/configs/sama5d3x-ek/src/sam_usb.c b/configs/sama5d3x-ek/src/sam_usb.c index 5efc5ad7e6..df4c92840b 100644 --- a/configs/sama5d3x-ek/src/sam_usb.c +++ b/configs/sama5d3x-ek/src/sam_usb.c @@ -348,7 +348,7 @@ int sam_usbhost_initialize(void) /* Start a thread to handle device connection. */ - pid = TASK_CREATE("OHCI monitor", CONFIG_USBHOST_DEFPRIO, CONFIG_USBHOST_STACKSIZE, + pid = TASK_CREATE("OHCI Monitor", CONFIG_USBHOST_DEFPRIO, CONFIG_USBHOST_STACKSIZE, (main_t)ohci_waiter, (FAR char * const *)NULL); if (pid < 0) { @@ -369,7 +369,7 @@ int sam_usbhost_initialize(void) /* Start a thread to handle device connection. */ - pid = TASK_CREATE("EHCI monitor", CONFIG_USBHOST_DEFPRIO, CONFIG_USBHOST_STACKSIZE, + pid = TASK_CREATE("EHCI Monitor", CONFIG_USBHOST_DEFPRIO, CONFIG_USBHOST_STACKSIZE, (main_t)ehci_waiter, (FAR char * const *)NULL); if (pid < 0) {