One more question in this regard - if the device is to be either be powered from Vbus OR external +5v supply (or for that matter a battery), how should the Vbus pin on the XMOS chip be connected?
Please review the updated datasheets from XMOS on this subject. See for example, figure 15
http://www.xmos.com/download/private/XU ... .12%29.pdf
The datasheet notes 2 configurations for VBUS:
1) USB port is powering your widget for which VBUS is to be left floating (figure 14)
2) widget is powered by an external power source (acdc adapter; battery) for which you will need to insert the recommended in-rush current limit network of parts. BTW - that is what started this thread where other developers have killed their XMOS CPU from these inductive currents due to VBUS being tied directly to the VBUS pin on the USB connector.
My preaching...when we design, we throw in the kitchen sink so we can squirm around potential scenarios using the same PCB layout. Recommending that you do apply the recommended circuit on VBUS as shown in figure 15 AND also a bypass circuit that will perform this and other tasks (ie. reverse current protection, etc.) using perhaps the AP2331 component. If your widget will consume < 400 mA, then AP2331 is fine to use. Do review the datasheet where I think there is a typo in the title bar reading as 200mA (0.2A limit). The electrical specs state that this load switch will pass through 400 mA all day and not fail. Either way, this load switch is a much more elegant solution than the use of polymer fuses (which are slow to protect and de-rate as they trigger and rebond together when the over current state is removed) but at a slightly higher cost. The use of an active load switch, we believe is a better solution than the passive network of parts shown in figure 15. At assembly time, stuff one leg or the other onto Vbus. You could even insert a jumper leg (1x3 @ 2.54 mm pitch) to allow for VBUS powering your circuit OR external power source powering your circuit. For this aux 1x3 jumper, insert an 0603 0 ohm resistor so you can short the right working combination in production. Guessing you do not fully know at this time what the USB widget's current draw will be so allow for either configuration. Do not forget about ESD protection on the D+ / D- lines. Do not forget to properly layout for USB 2.0 compliance which demands that the traces be impedance controlled. You will need to highlight these traces from your PCB layout to the PCB factory so they can adjust as required to meet the 90 ohm differential impedance based on the laminate used for your PCB production. Highly recommend 4L FR4 with a high TG170 rating. Halogen free is standard for us and required for many parts of the world now. Do demand the PCB vendor apply their UL mark & date code onto the PCB so they take responsibility if and when there is an issue.</preaching>