Hi Jake,
Sorry, I should have looked deeper into the FRDM-K66F schematic. I naturally assumed the connector was attached to USB0 because that's what all the Freedom and Tower boards are connected to (but they all have one USB port).
I'm not sure how you determine which USB is being enumerated out of the two unless you have initialized each of them. From my understanding of how USB works (which may be wrong), before any kind of enumaration takes place, the USB controller must be initialized.
Now, have you tried selecting a different USB port for the demo app? If I look at "virtual_com.h", line 15, the "CONTROLLER_ID" is #defined as "kUSB_ControllerEhci0" - could you try changing it to "kUSB_ControllerEhci1" for the Freedom Board? CONTROLLER_ID is used in "AppInit" (in "virtual_com.c") when it calls "USB_DeviceClassInit" and this is the only location where the port number seems to be spectified.
"kUSB_ControllerEhci0" is defined in "usb/includes/usb.h" and has this message:
/*!< EHCI 1U, Currently, there are no platforms which have two EHCI IPs, this is reserved
to be used in the future. */
As this file is dated 2015 and it is the identical one that I have for the FRDM-K22F then I would try to give this a shot thinking that the contents are accurate but the comments are out of date/inappropriate for the MK66.
Now, when you are testing this, what are you plugging your Freedom board in to communicate with it? Could I suggest that you use a Windows machine that has a chime when a new USB connection is good (or when it's bad)? If the USB Port is not set up at all, you won't get any kind of sound, if it is set up but not working properly (I found that clocking was the biggest issue here) you will get what I call the "clunk" sound - which is good as you're actually starting to move forwards.
Good luck - again apologies that I didn't read througth FRDM-K66F schematics as carefully as I should have.
myke