I use the USB serial console on a Toradex Tegra product, and agree that it is useful. The hardware on that particular board though has been wired specifically for serial UART over USB…the Jetson USB connectors are wired as root HUB or OTG device without the needed UART.
I have been in the process of working on a serial UART USB expansion for the J21 connector but have not finished (project temporarily on hold).
Basically what you’d need to do is add support in both u-boot and the kernel. If you had support only in u-boot, you could still do things like select an optional kernel entry.
As soon as u-boot loaded the kernel, you’d lose serial console if you did not also configure the kernel to support this. I’m not sure how difficult it would be to configure the micro-USB port to be device mode emulating a serial UART without an actual serial UART being behind it (this also assumes you don’t care about losing the micro-USB port for use as a regular USB device or other custom device). If you could do that, then things would be fine. There would be a weakness though that the serial port over USB via the existing USB connector would have more dependencies which may not be as reliable under failure circumstances versus a serial UART which does not need the extra software.
The reason I’ve been working on a J21 serial USB adapter is that it is entirely independent of software (this is mostly a done project, but temporarily on hold for other reasons). This adapter mounts to the existing 40-pin (20x2) header, and offers a pass-through to another 40-pin (20x2) male header to avoid losing access to anything else wanting to use the header. The device is USB bus powered, so there is no requirement about turning on the Jetson first for proper USB chip initialization. Plus the bus powered approach means that no power is drawn from the Jetson, with or without a USB cable. Just plug in USB and it works (no special drivers required on host, no knowledge of the device required on Jetson).