I have been looking through the MIOS code (specifically the LPC17XX part) as I am interested in how it implements a composite device with a virtual serial port and a midi interface. I am trying to do a dual implementation like this using LUFA on an Atmega chip. As I understood it the composite device should have two interfaces linked by a single Interface Association Descriptor (IAD). This is not the way it seems to be done in MIOS however. If you look at the descriptor definitions in mios32_usb.c it seems the overall device descriptor is 0x00 (which is undefined) or 0x02 which is a virtual serial device. IAD would be 0xEF.
Can someone shed some light on why it is done this way? Especially how it manages to enumerate two separate interfaces on the same USB device without using IAD?