Thread (12 messages) 12 messages, 3 authors, 2015-07-13

RE: [PATCH v3] phy: rcar-gen2 usb: Add Host/Function switching for USB0

From: Phil Edworthy <hidden>
Date: 2015-07-13 16:55:55
Also in: linux-sh, lkml

Hi Sergei,

On 13 July 2015 17:37, Sergei wrote:
On 07/13/2015 06:02 PM, Phil Edworthy wrote:
quoted
quoted
quoted
quoted
quoted
Instead of statically selecting the PHY connection to either the
USBHS (Function) or PCI0 (Host) IP blocks, this change allows the
dts to specifiy gpio pins for the vbus and id signals. Additional
quoted
quoted
quoted
quoted
      These GPIOs don't have anything to do with the PHY, they're interfacing
quoted
quoted
     Perhaps that was too strong statement but nevertheless...
quoted
Looking at your MAX3355 extcon driver, I can't see how it would work on it's
own.
    I've added the 'extcon' support into the Renesas USBHS driver, so that it
should be able to sense the ID pin status.
quoted
The system needs to sense vbus in order to determine that the board
has been plugged into a USB Host.
quoted
Since the MAX3355 device doesn't
directly provide any vbus signals,  this shouldn't be part of the extcon driver,
so where should it be?
    Sure, MAX3355 does provide voltage on Vbus, controlled by -OFFVBUS input.
It's just that the driver has only ID sensing support.
    Do you have the MAX3355 datasheet at all?
Sorry, I meant that the max3355 device does not directly provide vbus signals
suitable for input as a gpio. Though as it provides the vbus signal to the usb
connector, there is no reason this can't be used as a gpio input to rcar (just
a level shifter needed ala the Koelsch board).
quoted
On the other hand, the MAX3355 has a pair of status pins that can be used
to get vbus instead.
    Sure, these bits reflect 4 OTG Vbus thresholds.
quoted
If these pins aren't used for other functions, maybe
it's better to use these in the extcon driver.
    They are not.
My comments were based on the view that vbus output from the max3355
device wasn't a signal that could be input to the rcar via gpio. Since it is, I agree
that we should use that!
quoted
My intention is to make the USB PHY driver listen for extcon events instead
of directly accessing the ID and VBUS signals, but otherwise behave in the
same way it currently does.
    I'm not sure the PHY driver should be interested in that...
Then how is the PHY going to know when to switch between pci0 (host) and
hsusb (function)?
quoted
After reading some other threads, I also intend to set up a fixed regulator
for the MAX3355 device to setup the shutdown and vbus enable pins.  I know
that the vbus enable should really be controlled some other way depending
on the role, but for the moment I think it's ok just to enable it always.
    It's OK only in the host mode.
    I don't think we need regulators. SHDN- is already supported by the driver
(though it only drives it high at start-up time), in fact it was the only reason
not to use gpio.
quoted
Do you think that is the correct way to progress this?
    I didn't have a clear picture how to implement the OTG support at the time
of writing the MAX3355 driver; actually, I was tasked to only support ID p[in
sensing.
Right, so the max3355 driver needs some changes to include vbus handling.
Are you working on this, or should I take it on?
    Note that there's some ongoing effort now on linux-usb to support OTG
functionality.
Yes, I need to spend some time reading that list!
quoted
Thanks
Phil
WBR, Sergei
Thanks
Phil
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help