Latest news from the upcoming Pianeta Amiga 2012 show:
Quote:
We are very happy to announce that the next weekend, at Pianeta Amiga, an early prototype AmigaOS driver for USB 3 controllers on PCI-E will be shown running on a Sam460ex. For this achievement we must thank Sebastian Bauer, well known AmigaOS developer, who is working on the driver
I don't remember ever hearing anything about that. The OS4 SDK has a few clues, but are inconsistent in ways.
Documentation/AutoDocs/usbsys.doc: USB_SPEED_SUPER for a SuperSpeed Function (4800 Mb/s).
But in the Documentation/AutoDocs/usbhcd.doc file (Host Controller stuff), the USB_SPEED_SUPER is left out:
USBA_DeviceSpeed (ULONG) This tag is used for specifying the speed of the USB Function to add. This defines how the hardware driver should actually be communicating with the Function. ti_Data is a ULONG holding a speed indicator: USB_SPEED_LOW for a LowSpeed Function (1.5 Mb/s). USB_SPEED_FULL for a FullSpeed Function (12 Mb/s). USB_SPEED_HIGH for a HighSpeed Function (480 Mb/s).
If not specified the HCD *must* default to USB_SPEED_LOW for the added Function. If specified, but an unknown value is supplied, the attachment must be failed. In this case USBERR_UNSUPPORTED should be returned in the USBA_ErrorCode tag if supplied and supported.
...
USBA_DeviceSpeed (ULONG *) The HCD must store the speed of the USB controller in the ULONG pointed to by ti_Data. The speed is specified using one of the USB_SPEED_xxx constants from usb/system.h. Since USBA_DeviceSpeed usage was not added until v2 of the USB stack, the USB stack will fall back to expect USB_SPEED_FULL speed (i.e. 12MBit/s) for the HCD if it does not respond to this tag. USB2+ capable HCDs are required to support this tag, or they will only see USB1 device attachments.
In Include/include_h/usb/system.h it DOES define the USB_SPEED_SUPER value. So, maybe USB3 is supported, or perhaps it was never completed. Has any PCIe card ever actually been announced as working and supported? I never saw anything after that 2012 thing either... :/
/* For supplying USB Device speed to USB(HC)AddFunctionA() ti_Data is a USB_SPEED_xxx value. If not specified the default speed used *must* be USB_SPEED_LOW. Also used for querying HCD root bus speed using USBHCGetAttrsA() */ #define USBA_DeviceSpeed (TAG_USER+4)
That is an oversight in updating the usbhcd.doc. But basically for a device of that speed to be detected by a hub driver will require a USB3 HCD to be driving USB3 hardware (and a USB3-aware hub driver at that).
Neither currently exist for OS4, so what you see traces of is only initial steps to support it in the USB stack itself.
@graff not sure how you know the answer to that, are you part of OS4 dev team? While you're here, any chance of a OS4 SDK update? It's a few years old now, we could do with new c libs and a new GCC / binutils please.
Does the stack itself have enough in it now, that someone can make a working host controller driver, and then hub or device drivers for USB3 Superspeed? Or is current USB Stack not yet sufficient/complete to do 3.0 Superspeed drivers?
Also, any chance that those who can, have been looking at adding USB 3.1/3.2 or even 4 speeds into the stack since the last SDK udpate in 2015?