Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1609702 > unrolled thread
| Started by | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| First post | 2017-03-27 12:20 +0200 |
| Last post | 2017-03-27 14:00 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v5 0/8] Add dual-role OTG support for Allwinner H3 Kishon Vijay Abraham I <kishon@ti.com> - 2017-03-27 12:20 +0200
Re: [PATCH v5 0/8] Add dual-role OTG support for Allwinner H3 Maxime Ripard <maxime.ripard@free-electrons.com> - 2017-03-27 14:00 +0200
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2017-03-27 12:20 +0200 |
| Subject | Re: [PATCH v5 0/8] Add dual-role OTG support for Allwinner H3 |
| Message-ID | <tpzUJ-6u4-9@gated-at.bofh.it> |
On Saturday 25 March 2017 08:20 PM, Icenowy Zheng wrote: > Allwinner H3 have a its USB PHY0 routed to two USB controllers: one is > a MUSB controller, which can work in peripheral mode, but works badly in > host mode (several hardware will fail on the MUSB controller, even connect > one MUSB controller in peripheral mode to another one in host mode cannot > work); the other is a pair of EHCI/OHCI controller, which can work only > in host mode, but have better compatibillity. The route is controlled in > a register, which we have set it to HCI only when we do not know about > it well. > > Add support to route to the best controller according to current USB mode > (host/peripheral). > > Note: Currently even if hardware only support hostmode, we should still > enable the MUSB controller, as it controls the USB mode. (Some this kind > of hardware can also work in peripheral mode by settings in the sysfs > node of MUSB, then connect it to another host via a USB Type-A to Type-A > cable.) > > Patch 1 changes the device tree binding to include the "pmu0" for HCI pair. > > Patch 2 and 3 are fixes for H3 PHY, in order to make MUSB really working > on H3. > > Patch 4 adds support for auto routing of PHY0. It's currently only enabled > on H3, but it's easy to extend it to other SoCs which feature this > route control. merged the 1st four patch of this series. Thanks Kishon > > Patch 5 adds necessary device tree nodes to the H3/H5 DTSI file. Note: The > phy is not bind for OHCI/EHCI0, as OHCI/EHCI drivers will keep the VBUS > on. Only MUSB driver can properly handle a dual-role PHY. > > Patch 6 enables USB OTG functionality on Orange Pi One board, which is > the only H3 board I have that have proper OTG function. It's easy to > enable OTG on other boards with their schematics. > > Patch 7 enables USB OTG functionality on Orange Pi Zero board, as the > board cannot output power on Vbus, I only enabled peripheral mode by > default. > > Patch 8 enables USB OTG funcionality on Orange Pi PC2 board, which is > the newly support H5 board, and have USB-related pins same as Orange > Pi One. > > The USB PHY on V3s/A64 SoCs also feature this capability, and it will > be soon enabled on these SoCs after this patchset is merged. > > Icenowy Zheng (8): > dt: bindings: add pmu0 regs for USB PHYs on Allwinner H3/V3s/A64 > phy: sun4i-usb: change PHYCTL register clearing code > phy: sun4i-usb: add PHYCTL offset for H3 SoC > phy: sun4i-usb: support automatically switch PHY0 route to MUSB/HCI > ARM: sunxi: h3/h5: add usb_otg and OHCI/EHCI for usbc0 on H3/H5 > ARM: sun8i: h3: enable USB OTG on Orange Pi One > ARM: sun8i: h2+: enable USB OTG for Orange Pi Zero board > arm64: allwinner: h5: enable USB OTG on Orange Pi PC 2 board > > .../devicetree/bindings/phy/sun4i-usb-phy.txt | 1 + > arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 20 +++++++- > arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 22 ++++++++- > arch/arm/boot/dts/sunxi-h3-h5.dtsi | 32 ++++++++++++ > .../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 27 +++++++++- > drivers/phy/phy-sun4i-usb.c | 57 ++++++++++++++-------- > 6 files changed, 135 insertions(+), 24 deletions(-) >
[toc] | [next] | [standalone]
| From | Maxime Ripard <maxime.ripard@free-electrons.com> |
|---|---|
| Date | 2017-03-27 14:00 +0200 |
| Message-ID | <tpBtw-7vp-17@gated-at.bofh.it> |
| In reply to | #1609702 |
[Multipart message — attachments visible in raw view] — view raw
On Mon, Mar 27, 2017 at 03:35:25PM +0530, Kishon Vijay Abraham I wrote: > > > On Saturday 25 March 2017 08:20 PM, Icenowy Zheng wrote: > > Allwinner H3 have a its USB PHY0 routed to two USB controllers: one is > > a MUSB controller, which can work in peripheral mode, but works badly in > > host mode (several hardware will fail on the MUSB controller, even connect > > one MUSB controller in peripheral mode to another one in host mode cannot > > work); the other is a pair of EHCI/OHCI controller, which can work only > > in host mode, but have better compatibillity. The route is controlled in > > a register, which we have set it to HCI only when we do not know about > > it well. > > > > Add support to route to the best controller according to current USB mode > > (host/peripheral). > > > > Note: Currently even if hardware only support hostmode, we should still > > enable the MUSB controller, as it controls the USB mode. (Some this kind > > of hardware can also work in peripheral mode by settings in the sysfs > > node of MUSB, then connect it to another host via a USB Type-A to Type-A > > cable.) > > > > Patch 1 changes the device tree binding to include the "pmu0" for HCI pair. > > > > Patch 2 and 3 are fixes for H3 PHY, in order to make MUSB really working > > on H3. > > > > Patch 4 adds support for auto routing of PHY0. It's currently only enabled > > on H3, but it's easy to extend it to other SoCs which feature this > > route control. > > merged the 1st four patch of this series. And applied the last four. Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web