From mboxrd@z Thu Jan 1 00:00:00 1970 From: maxime.ripard@free-electrons.com (Maxime Ripard) Date: Thu, 19 Jan 2017 15:34:45 +0100 Subject: [PATCH 1/4] phy: sun4i-usb: support PHY0 on H3 in MUSB mode In-Reply-To: References: <20170116191449.50397-1-icenowy@aosc.xyz> <20170116191449.50397-2-icenowy@aosc.xyz> <20170117080611.tn7s7ddj2csqr27m@lukather> <3866431484672228@web20j.yandex.ru> <20170117200658.gcrcxeanthdtwg26@lukather> Message-ID: <20170119143445.dmckuqjxmfhwr3h5@lukather> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Jan 18, 2017 at 04:09:32AM +0800, Chen-Yu Tsai wrote: > Hi, > > On Wed, Jan 18, 2017 at 4:06 AM, Maxime Ripard > wrote: > > On Wed, Jan 18, 2017 at 12:57:08AM +0800, Icenowy Zheng wrote: > >> > >> > >> 17.01.2017, 16:06, "Maxime Ripard" : > >> > On Tue, Jan 17, 2017 at 03:14:46AM +0800, Icenowy Zheng wrote: > >> >> The PHY0 on H3 can be wired either to MUSB controller or OHCI/EHCI > >> >> controller. > >> >> > >> >> The original driver wired it to OHCI/EHCI controller; however, as the > >> >> code to use PHY0 as OHCI/EHCI is missing, it makes the PHY fully > >> >> unusable. > >> >> > >> >> Rename the register (according to its function and the name in BSP > >> >> driver), and remove the code which wires the PHY0 to OHCI/EHCI, as MUSB > >> >> can support both peripheral and host mode (although the host mode of > >> >> MUSB is buggy). > >> > > >> > Can you elaborate on that? What's wrong with it? > >> > >> The configuration is at bit 0 of register 0x20 in PHY. > >> > >> When the PHY is reseted, it defaults as MUSB mode. > >> > >> However, the original author of the H3 PHY code seems to be lack of > >> this knowledge (He named it PHY_UNK_H3), and changed the PHY to HCI > >> mode. > >> > >> I just removed the code that wires it to HCI mode, thus it will work > >> in MUSB mode, with my sun8i-h3-musb patch. > > > > I have no idea what you mean by MUSB mode. > > > > Do you mean that the previous code was only working in host mode, and > > now it only works in peripheral? > > From what I understand, with the H3, Allwinner has put a mux > in front of the MUSB controller. The mux can send the USB data > to/from the MUSB controller, or a standard EHCI/OHCI pair. > This register controls said mux. > > This means we can use a proper USB host for host mode, > instead of the limited support in MUSB. But musb can still operate as a host, right? Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 801 bytes Desc: not available URL: