Subject: [PATCH v2 01/14] usb: phy: nop: Add device tree support and binding information

From: [email-masked] (Roger Quadros)
Date: Mon, 11 Feb 2013 17:14:26 +0200

On 02/11/2013 01:40 PM, Mark Rutland wrote:
> Hello,
> 
> On Thu, Feb 07, 2013 at 04:02:41PM +0000, Roger Quadros wrote:
>> The PHY clock, clock rate, VCC regulator and RESET regulator
>> can now be provided via device tree.
>>
>> Signed-off-by: Roger Quadros <[email-masked]>
>> Acked-by: Felipe Balbi <[email-masked]>
>> ---
>>  .../devicetree/bindings/usb/usb-nop-xceiv.txt      |   34 ++++++++++++++++++
>>  drivers/usb/otg/nop-usb-xceiv.c                    |   36 +++++++++++++++----
>>  2 files changed, 62 insertions(+), 8 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt
>>
>> diff --git a/Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt b/Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt
>> new file mode 100644
>> index 0000000..d7e2726
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt
>> @@ -0,0 +1,34 @@
>> +USB NOP PHY
>> +
>> +Required properties:
>> +- compatible: should be usb-nop-xceiv
> 
> This might be better as "linux,usb-no-xceiv", given this is a Linux-specific
> 'device'.
> 
> Saying that, I'm not sure I understand why this device needs to be instantiated
> from devicetree. As I understand it from looking at the driver, it's purely a
> Linux implementation detail used in the case of autonomous PHYs, and not an
> actual piece of hardware or firmware system. I must admit to being unfamiliar
> with this area of hardware, have I misunderstood somethign here?

The PHY is a physical device and may need resources like power and clock to be functional.
The only reason that driver is named NOP is that many USB controllers know how to talk to
the standard PHYs and don't need any interface/management software.

The PHY driver you are looking at most likely doesn't have the recent changes I wrote to
manage the PHY clock/reset/power. i.e. patches 3, 4 and 5 in the series
 https://lkml.org/lkml/2013/1/28/275

Before this, the ehci-omap driver was trying to manage the PHY power and reset, which was
wrong.

regards,
-roger