I know the JTK1 micro-A/B USB2 port can be device mode or host mode, but I noticed this right at the start of chapter 19 in the TegraK1 TRM regarding USB3:
Note: The ULPI and XUSB device mode functionalities described in this section have been deprecated from Tegra® K1
devices, and are not supported by NVIDIA.
It sounds like there might have once been TegraK1 USB3 device mode capability, but looks like this is no longer the case. You could of course use that Avago USB3 chip and create your own USB3 device.
I think the question about software for device mode is more of a pure Linux question, independent of USB2 versus USB3 hardware. The “gadget” driver provides a very good “stub” to implement your own device, along with a couple of “complete” functions (needing only a little configuration). I suspect gadget software would be no different for new USB3 hardware versus USB2 hardware. Typically a reference design for a particular chip is given by the chip manufacturer (in this case the Avago chip, being PCIe, would be operating-system-agnostic in any reference design), thus you’d combine the Avago hardware reference to the gadget interface; unless the chip is hard wired to a TegraK1, you wouldn’t even need to look at TegraK1 PCIe design (e.g., using the JTK1 mini-PCIe slot).