Subject: [PATCH 02/12] phy: omap-control: Update DT binding information

From: [email-masked] (Roger Quadros)
Date: Tue, 4 Mar 2014 11:14:07 +0200

Hi Tony,

On 03/03/2014 09:02 PM, Tony Lindgren wrote:
> * Roger Quadros <[email-masked]> [140303 07:10]:
>> Move omap-control binding information to the right location.
>>
>> Signed-off-by: Roger Quadros <[email-masked]>
>> ---
>>  Documentation/devicetree/bindings/phy/ti-phy.txt   | 25 ++++++++++++++++++++++
>>  Documentation/devicetree/bindings/usb/omap-usb.txt | 24 ---------------------
>>  2 files changed, 25 insertions(+), 24 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/phy/ti-phy.txt b/Documentation/devicetree/bindings/phy/ti-phy.txt
>> index 207e14c..41dc132 100644
>> --- a/Documentation/devicetree/bindings/phy/ti-phy.txt
>> +++ b/Documentation/devicetree/bindings/phy/ti-phy.txt
>> @@ -1,5 +1,30 @@
>>  TI PHY: DT DOCUMENTATION FOR PHYs in TI PLATFORMs
>>  
>> +OMAP CONTROL PHY
>> +
>> +Required properties:
>> + - compatible: Should be one of
>> + "ti,control-phy-otghs" - if it has otghs_control mailbox register as on OMAP4.
>> + "ti,control-phy-usb2" - if it has Power down bit in control_dev_conf register
>> +                        e.g. USB2_PHY on OMAP5.
>> + "ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control
>> +                        e.g. USB3 PHY and SATA PHY on OMAP5.
>> + "ti,control-phy-dra7usb2" - if it has power down register like USB2 PHY on
>> +                        DRA7 platform.
>> + "ti,control-phy-am437usb2" - if it has power down register like USB2 PHY on
>> +                        AM437 platform.
> 
> To me it seems that you can leave out all the above. You can set these falgs
> flags directly in the driver based on the compatible flag. Then just initialize
> the .data in the driver based on the compatible flag.

I'm not sure if I got you. A single platform can have different type of phys.

e.g. OMAP5 has both usb2 and pipe3 PHYs,
DRA7 has both pipe3 and usb2 PHYs, but this usb2 PHY is not compatible with OMAP5 one
so we need a new compatible id for that.

To add to the woes, the designers were creative enough to make another mutation to
the USB2 PHY for AM437x, :(

What do you suggest the compatible ids should look like for these 5 types of PHY control?
OTGHS	(OMAP4 & 5)
USB2	(OMAP5)
PIPE3	(OMAP5 & DRA7)
USB2x	(DRA7)
USB2y	(AM437)

cheers,
-roger

> 
>> + - reg : Address and length of the register set for the device. It contains
>> +   the address of "otghs_control" for control-phy-otghs or "power" register
>> +   for other types.
>> + - reg-names: should be "otghs_control" control-phy-otghs and "power" for
>> +   other types.
>> +
>> +omap_control_usb: omap-control-usb at 4a002300 {
>> +        compatible = "ti,control-phy-otghs";
>> +        reg = <0x4a00233c 0x4>;
>> +        reg-names = "otghs_control";
>> +};
> 
> Then you would instead have something like this:
> 
> 	compatible = "ti,am347-control-phy-otghs";
> 
> That way you can initialize things without a need for custom bindings.
> 
> Regards,
> 
> Tony
>