Hi Peter, > From: Peter Chen [mailto:hzpeterchen@xxxxxxxxx] > Sent: Tuesday, November 01, 2016 8:38 PM > > On Tue, Nov 01, 2016 at 04:01:58PM +0900, Yoshihiro Shimoda wrote: > > This patch adds sysfs "otg_inputs" for usb role swap. This parameter > > is write-only and if you use them as the following, you can swap > > the usb role. > > > > For example: > > 1) connect a usb cable using 2 salvator-x boards > > 2) On A-device (as host), you input the following command: > > # echo a_bus_req/ > /sys/devices/platform/soc/ee080200.usb-phy/otg_inputs > > 3) On B-device (as peripheral), you input the following command: > > # echo b_bus_req > /sys/devices/platform/soc/ee080200.usb-phy/otg_inputs > > > > Then, the A-device acts as a peripheral (A-peripheral) and the B-device > > acts as a host (B-host). > > Please note that A-device must input the following command if you > > want the board to act as a host again. (even if you disconnect the usb > > cable, since id state may be the same, the condition keeps "A-peripheral".) > > # echo a_bus_drop > /sys/devices/platform/soc/ee080200.usb-phy/otg_inputs > > > > Also you can use the following command if you want the B-device board to > > act as a peripheral again. > > # echo b_bus_req/ > /sys/devices/platform/soc/ee080200.usb-phy/otg_inputs > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> > > --- > > This patch is based on the latest linux-phy.git / next branch. > > (commit id = 7809cd2ce6abd4f431e4b14e6b1276a7cc842ac4) > > > > Since this patch is related to usb, I added email addresses of Greg, Felipe, > > Peter and USB ML as CC. (This patch doesn't use USB OTG FSM though.) > > > > Changed from v1: > > - rebase the latest next branch. > > > > .../ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 | 11 ++ > > drivers/phy/phy-rcar-gen3-usb2.c | 124 ++++++++++++++++++++- > > 2 files changed, 134 insertions(+), 1 deletion(-) > > create mode 100644 Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 > > > > diff --git a/Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 > b/Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 > > new file mode 100644 > > index 0000000..c7e715af > > --- /dev/null > > +++ b/Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 > > @@ -0,0 +1,11 @@ > > +What: /sys/devices/platform/<phy-name>/otg-inputs > > +Date: October 2016 > > +KernelVersion: 4.10 > > +Contact: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> > > +Description: > > + This write-only file changes the phy mode for role swap of usb. > > + This file accepts the following strings: > > + "a_bus_req/" - switching from A-Host to A-Peripheral > > + "a_bus_drop" - switching from A-Peripheral to A-Host > > + "b_bus_req" - switching from B-Peripheral to B-Host > > + "b_bus_req/" - switching from B-Host to B-Peripheral > > Would you really care OTG FSM state machine? If not, you could just use > "host" and "peripheral" to stand for current USB role, and implement > role switch sysfs like: /sys/devices/platform/<phy-name>/role. Thank you for the comment! Since I would not care OTG FSM state machine for now, I will modify the patch to use "host" and "peripheral" that you suggested. Best regards, Yoshihiro Shimoda > Peter > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html