Hi folks,

I'm trying to find out which CPU's that are supported by Linux have
USB controllers that support gadget mode.

In theory, this should be a relatively straightforward matter, given
the device tree descriptions, I think. But I am struggling to figure
out how to actually create a list of these devices, and which
attributes to look for.

For example, one device that I am interested in is the Mediatek 7621.
>From what I can see from drivers/staging/mt7621-dts/mt7621.dts, this
device has an xhci node that is compatible with the mt8173-xhci
driver.

>From arch/arm64/boot/dts/mediatek/mt8173.dtsi, I see a node u3phy,
with details for a combined USB2/3 port, and a USB2 port, which
declares itself compatible with mt8173-u3phy.

Grepping for mt8173-u3phy, I find drivers/phy/mediatek/phy-mtk-tphy.c,
and eventually, searching for OTG, I find:

static void u2_phy_instance_set_mode(struct mtk_tphy *tphy,
                                     struct mtk_phy_instance *instance,
                                     enum phy_mode mode)

which can set various host/device/otg modes.

Firstly, am I correct in my reasoning, that the MT7621 should
therefore support (at least) USB2 device mode, and likely USB3 Dual
Role Device too?

Secondly, is there an easier way to reach this conclusion?

Many thanks!

Rogan

Reply via email to