This topic describes how to set up the source code and and project files for an implementation of the USB client controller.
Another more complicated example is implemented in the OMAP/H4 platform. This platform has two USB device controllers. The code shows how two UDCs can be supported in the same source and build tree. The second controller (Fibula) is a High speed USB 2.0 compatible device controller, the code demonstrates how to support a USB 2.0 UDC and one or more USB 2.0 Client Devices. See the code in ...\omap-hrp\....
The suggested steps are as follows:
Decide where to put the source and header files for the platform-specific layer . Normally the USB device controller is part of the ASSP, and you would put the source files in the ASSP directory. For an external USB device controller, you would use the Variant directory instead.
Implement the platform-specific Layer within your chosen source and header files.
If you have a header file with a name in the shape of ASSP.h, then you will put USB Device Controller register definitions and register bit definitions here.
Define the .mmp file for the USB client controller (the PDD), and put this into your chosen directory. Remember that the platform-specific layer is just part of the USB client controller, and the .mmp file needs to contain a list of all source files that need to be compiled.
Add the name of the .mmp file (without the file extension) to your ASSP's .inf file in the PRJ_MMPFILES section. This must be in the same directory. This tells the abld tool about the existence of the .mmp file.