I'm continuing to port projects from the MK22FN1M0 to the LPC55S69 and I just ran into an issue I didn't think to check during part selection - while the Kinetis part supports 16 bidirectional USB endpoints, the LPC part shows 5 logical and 10 physical endpoints.
This just barely gets me what I need in this instance, with MSC taking 2 endpoints, CDC taking 2, and the control endpoint accounting for the others. I'm not sure about the physical/logical endpoint terminology - the Kinetis documentation doesn't use that.
My first question is whether there's a problem with setting both the bulk in and bulk out endpoints for the MSC interface to the same endpoint number - that's how the CDC DIC endpoints are set up. In the examples, bulk in is EP 1 and bulk out is EP 2. I've set them both to EP 1 and it seems to work, but I'd like to understand what's going on and if there was a reason they were set differently.
Next, I see that USB1 (the high-speed controller) supports 6 logical / 12 physical endpoints. That would get me a little more breathing room - other projects still to be ported also need HID and an audio device in some configurations. Is there any reason I shouldn't make USB1 the primary USB interface for these devices?
Thanks,
Scott