>On Wed, Feb 21, 2018 at 09:44:59AM +0200, Yossi Mansharoff wrote: >> On the db410c 96boards platform we have a TC7USB40MU on the board >> to mux the D+/D- lines coming from the controller between a micro >> usb "device" port and a USB hub for "host" roles[1]. During a >> role switch, we need to toggle this mux to forward the D+/D- >> lines to either the port or the hub. Add the necessary code to do >> the role switch in chipidea core via the generic mux framework. >> Board configurations like on db410c are expected to change roles >> via the sysfs API described in >> Documentation/ABI/testing/sysfs-platform-chipidea-usb2. >> >> [1] https://github.com/96boards/documentation/raw/master/ConsumerEdition/DragonBoard-410c/HardwareDocs/Schematics_DragonBoard.pdf >> >> Cc: Peter Rosin <peda@xxxxxxxxxx> >> Cc: Peter Chen <peter.chen@xxxxxxx> >> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >> Cc: <devicetree@xxxxxxxxxxxxxxx> >> Signed-off-by: Stephen Boyd <stephen.boyd@xxxxxxxxxx> >> >> Signed-off-by: Yossi Mansharoff <yossim@xxxxxxxxxxxxxx> >> --- >> Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt | 6 ++++++ > >Please make bindings a separate patch. sure > >> drivers/usb/chipidea/Kconfig | 2 ++ >> drivers/usb/chipidea/core.c | 6 ++++++ >> drivers/usb/chipidea/host.c | 7 +++++++ >> drivers/usb/chipidea/udc.c | 13 ++++++++++++- >> include/linux/usb/chipidea.h | 2 ++ >> 6 files changed, 35 insertions(+), 1 deletion(-) >> >> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt >> index 0e03344..2e93181 100644 >> --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt >> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt >> @@ -76,6 +76,10 @@ Optional properties: >> needs to make sure it does not send more than 90% >> maximum_periodic_data_per_frame. The use case is multiple transactions, but >> less frame rate. >> +- mux-controls: The mux control for toggling host/device output of this >> + controller. It's expected that a mux state of 0 indicates device mode and a >> + mux state of 1 indicates host mode. >> +- mux-control-names: Shall be "usb_switch" if mux-controls is specified. > >-names is pointless when there is only 1. the names is used to find the attached mux in the dt . it is used in the following lines in mux/core.c if (mux_name) { index = of_property_match_string(np, "mux-control-names", mux_name); so I think iwe need to keep it, agreed? > >> >> i.mx specific properties >> - fsl,usbmisc: phandler of non-core register device, with one >> @@ -102,4 +106,6 @@ Example: >> rx-burst-size-dword = <0x10>; >> extcon = <0>, <&usb_id>; >> phy-clkgate-delay-us = <400>; >> + mux-controls = <&usb_switch>; >> + mux-control-names = "usb_switch"; >> }; _______________________________________________ Dragonboard-aosp mailing list Dragonboard-aosp@xxxxxxxxxxxxxxxxxx https://lists.96boards.org/mailman/listinfo/dragonboard-aosp ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f