RE: [Dragonboard-aosp] [PATCH 2/4] usb: chipidea: Hook into mux framework to toggle usb switch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux