[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5552E8EA.9060003@ti.com>
Date: Wed, 13 May 2015 11:32:18 +0530
From: Kishon Vijay Abraham I <kishon@...com>
To: Arun Ramamurthy <arun.ramamurthy@...adcom.com>,
Rob Herring <robh+dt@...nel.org>,
Pawel Moll <pawel.moll@....com>,
Mark Rutland <mark.rutland@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Kumar Gala <galak@...eaurora.org>,
Russell King <linux@....linux.org.uk>,
Gregory CLEMENT <gregory.clement@...e-electrons.com>,
Gabriel FERNANDEZ <gabriel.fernandez@...com>,
Jason Cooper <jason@...edaemon.net>,
Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Arnd Bergmann <arnd@...db.de>
CC: <devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-fbdev@...r.kernel.org>, Dmitry Torokhov <dtor@...gle.com>,
Anatol Pomazau <anatol@...gle.com>,
Jonathan Richardson <jonathar@...adcom.com>,
Scott Branden <sbranden@...adcom.com>,
Ray Jui <rjui@...adcom.com>,
<bcm-kernel-feedback-list@...adcom.com>
Subject: Re: [PATCH v3 2/3] Phy: DT binding documentation for Broadcom Cygnus
USB PHY driver
Hi,
On Wednesday 13 May 2015 03:35 AM, Arun Ramamurthy wrote:
> Hi
>
> On 15-05-11 07:11 AM, Kishon Vijay Abraham I wrote:
>> Hi,
>>
>> On Thursday 23 April 2015 04:44 AM, Arun Ramamurthy wrote:
>>> Broadcom's Cygnus chip has a USB 2.0 host controller connected to
>>> three separate phys. One of the phs (port 2) is also connectd to
>>> a usb 2.0 device controller
>>>
>>> Signed-off-by: Arun Ramamurthy <arun.ramamurthy@...adcom.com>
>>> Reviewed-by: Ray Jui <rjui@...adcom.com>
>>> Reviewed-by: Scott Branden <sbranden@...adcom.com>
>>> ---
>>> .../bindings/phy/brcm,cygnus-usb-phy.txt | 69
>>> ++++++++++++++++++++++
>>> include/dt-bindings/phy/phy.h | 2 +
>>> 2 files changed, 71 insertions(+)
>>> create mode 100644
>>> Documentation/devicetree/bindings/phy/brcm,cygnus-usb-phy.txt
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/phy/brcm,cygnus-usb-phy.txt
>>> b/Documentation/devicetree/bindings/phy/brcm,cygnus-usb-phy.txt
>>> new file mode 100644
>>> index 0000000..ec62044
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/phy/brcm,cygnus-usb-phy.txt
>>> @@ -0,0 +1,69 @@
>>> +BROADCOM CYGNUS USB PHY
>>> +
>>> +Required Properties:
>>> + - compatible: brcm,cygnus-usb-phy
>>> + - reg : usbphy_regs - Base address of phy registers
>>> + usb2h_idm_regs - Base address of host idm registers
>>> + usb2d_idm_regs - Base address of device idm registers
>>> + - phy-cells - must be 1 for each port declared. The node
>>> + that uses the phy must provide either PHY_CONFIG_DEVICE
>>> for device
>>> + or PHY_CONFIG_HOST for host
>>> +
>>> +NOTE: port 0 and port 1 are host only and port 2 can be configured
>>> for host or
>>> +device.
>>> +
>>> +Example of phy :
>>> + usbphy0: usbphy@...301c000 {
>>> + compatible = "brcm,cygnus-usb-phy";
>>> + reg = <0x0301c000 0x2000>,
>>> + <0x18115000 0x1000>,
>>> + <0x18111000 0x1000>;
>>> + status = "okay";
>>> +
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> + usbphy0_0: usbphy0@0 {
>>> + #phy-cells = <1>;
>>> + reg = <0>;
>>> + status = "okay";
>>> + phy-supply = <&vbus_p0>;
>>> + };
>>> +
>>> + usbphy0_1: usbphy0@1 {
>>> + #phy-cells = <1>;
>>> + reg = <1>;
>>> + status = "okay";
>>> + };
>>> +
>>> + usbphy0_2: usbphy0@2 {
>>> + #phy-cells = <1>;
>>> + reg = <2>;
>>> + status = "okay";
>>> + phy-supply = <&vbus_p2>;
>>> + };
>>> + };
>>> +
>>> +Example of node using the phy:
>>> +
>>> + /* This nodes declares all three ports as host */
>>> +
>>> + ehci0: usb@...8048000 {
>>> + compatible = "generic-ehci";
>>> + reg = <0x18048000 0x100>;
>>> + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
>>> + phys = <&usbphy0_0 PHY_CONFIG_HOST &usbphy0_1 PHY_CONFIG_HOST
>>> &usbphy0_2 PHY_CONFIG_HOST>;
>>> + status = "okay";
>>> + };
>>> +
>>> + /*
>>> + * This node declares port 2 phy
>>> + * and configures it for device
>>> + */
>>> +
>>> + usbd_udc_dwc1: usbd_udc_dwc@...804c000 {
>>> + compatible = "iproc-udc";
>>> + reg = <0x1804c000 0x2000>;
>>> + interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
>>> + phys = <&usbphy0_2 PHY_CONFIG_DEVICE>;
>>> + phy-names = "usb";
>>> + };
>>> diff --git a/include/dt-bindings/phy/phy.h
>>> b/include/dt-bindings/phy/phy.h
>>> index 6c90193..3f6b1ac 100644
>>> --- a/include/dt-bindings/phy/phy.h
>>> +++ b/include/dt-bindings/phy/phy.h
>>> @@ -15,5 +15,7 @@
>>> #define PHY_TYPE_PCIE 2
>>> #define PHY_TYPE_USB2 3
>>> #define PHY_TYPE_USB3 4
>>> +#define PHY_CONFIG_HOST 1
>>> +#define PHY_CONFIG_DEVICE 0
>>
>> '0' and '1' are already defined for "PHY_NONE" and "PHY_TYPE_SATA". Is
>> this for USB2 or for USB3?
>>
> This is for USB2, do you want me to prefix the defines with USB2?
yes. That will avoid confusion when someone tries to add USB3 HOST PHY or USB3
DEVICE PHY.
> I think It would be misleading to use PHY_TYPE_SATA or PHY_NONE in this
> scenario
I meant to use the next available values like 5 and 6.
Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists