Re: [Patch V2 00/18] Tegra XUSB OTG support

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

 




On 12/19/19 9:13 PM, Thierry Reding wrote:
> On Wed, Dec 18, 2019 at 02:46:13PM +0530, Nagarjuna Kristam wrote:
>> This patch series adds OTG support on XUSB hardware used in Tegra210 and
>> Tegra186 SoCs.
>>
>> This patchset is composed with :
>>  - dt bindings of XUSB Pad Controller
>>  - dt bindings for XUSB device Driver
>>  - Tegra PHY driver for usb-role-switch and usb-phy
>>  - Tegra XUSB host mode driver to support OTG mode
>>  - Tegra XUSB device mode driver to use usb-phy and multi device mode
>>  - dts for XUSB pad controller
>>  - dts for xudc
>>
>> Tegra Pad controller driver register for role switch updates for
>> OTG/peripheral capable USB ports and adds usb-phy for that corresponding
>> USB ports.
>>
>> Host and Device mode drivers gets usb-phy from USB2's phy and registers
>> notifier for role changes to perform corresponding role tasks.
>>
>> Tests done:
>>  - device mode support using micro-B USB cable connection between ubuntu
>>    host and DUT on micro-B port
It's a micro-AB port according to Micro USB specifications.

>>  - host mode support by connecting pen-drive to micro USB port on DUT
>>    using micro-B OTG cable.
It's a standard-A to micro-A converter.

>>  - toggling between these 2 modes by hot plugging corresponding cables.
> 
> Are there any tests we can run without manual intervention? Can we force
> the device into peripheral mode and then setup a configuration using
> configfs? I'm not sure how useful that would be since it doesn't really
> exercise the driver code very much and doesn't tell whether it's
> actually working.
> 
> Any other way how we can test this?
> 
I don't think there is a way to test role-swap and host/device driver without
swapping cables. Thanks.

> Thierry
> 
>>
>> DUT: Jetson-tx1, Jetson tx2.
>>
>> V2:
>>  - Updated usb-role-switch documentation for Padctl driver.
>>  - Update XUDC bindings doc as suggested by Rob.
>>  - Used standard error codes for error return.
>>  - Added of_platform_depopulate during error and driver removal.
>>  - Updated error variable during phy initialization in XUDC driver.
>>  - Updated Tegra210 soc dtb file as per changes to binding doc.
>>
>> Nagarjuna Kristam (18):
>>   dt-bindings: phy: tegra-xusb: Add usb-role-switch
>>   dt-bindings: usb: Add NVIDIA Tegra XUSB device mode controller binding
>>   phy: tegra: xusb: Add usb-role-switch support
>>   phy: tegra: xusb: Add usb-phy support
>>   phy: tegra: xusb: Add support to get companion USB 3 port
>>   phy: tegra: xusb: Add set_mode support for USB 2 phy on Tegra210
>>   phy: tegra: xusb: Add set_mode support for utmi phy on Tegra186
>>   usb: xhci-tegra: Add OTG support
>>   usb: gadget: tegra-xudc: Remove usb-role-switch support
>>   usb: gadget: tegra-xudc: Add usb-phy support
>>   usb: gadget: tegra-xudc: use phy_set_mode to set/unset device mode
>>   usb: gadget: tegra-xudc: support multiple device modes
>>   arm64: tegra: update OTG port entries for jetson-tx1
>>   arm64: tegra: update OTG port entries for jetson-tx2
>>   arm64: tegra: Add xudc node for Tegra210
>>   arm64: tegra: Enable xudc on Jetson TX1
>>   arm64: tegra: Add xudc node for Tegra186
>>   arm64: tegra: Enable xudc node on Jetson TX2
>>
>>  .../bindings/phy/nvidia,tegra124-xusb-padctl.txt   |   6 +
>>  .../devicetree/bindings/usb/nvidia,tegra-xudc.yaml | 190 ++++++++++++++
>>  arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts |  23 +-
>>  arch/arm64/boot/dts/nvidia/tegra186.dtsi           |  19 ++
>>  arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi     |  34 ++-
>>  arch/arm64/boot/dts/nvidia/tegra210.dtsi           |  19 ++
>>  drivers/phy/tegra/Kconfig                          |   1 +
>>  drivers/phy/tegra/xusb-tegra186.c                  | 109 ++++++--
>>  drivers/phy/tegra/xusb-tegra210.c                  | 126 ++++++++--
>>  drivers/phy/tegra/xusb.c                           | 134 ++++++++++
>>  drivers/phy/tegra/xusb.h                           |   5 +
>>  drivers/usb/gadget/udc/tegra-xudc.c                | 276 ++++++++++++++-------
>>  drivers/usb/host/xhci-tegra.c                      | 225 ++++++++++++++++-
>>  include/linux/phy/tegra/xusb.h                     |   2 +
>>  14 files changed, 1031 insertions(+), 138 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra-xudc.yaml
>>
>> -- 
>> 2.7.4
>>



[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