Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753195AbbEMGDK (ORCPT ); Wed, 13 May 2015 02:03:10 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:41029 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752933AbbEMGDE (ORCPT ); Wed, 13 May 2015 02:03:04 -0400 Message-ID: <5552E8EA.9060003@ti.com> Date: Wed, 13 May 2015 11:32:18 +0530 From: Kishon Vijay Abraham I User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: Arun Ramamurthy , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King , Gregory CLEMENT , Gabriel FERNANDEZ , Jason Cooper , Thomas Petazzoni , Greg Kroah-Hartman , Arnd Bergmann CC: , , , Dmitry Torokhov , Anatol Pomazau , Jonathan Richardson , Scott Branden , Ray Jui , Subject: Re: [PATCH v3 2/3] Phy: DT binding documentation for Broadcom Cygnus USB PHY driver References: <1429744479-10410-1-git-send-email-arun.ramamurthy@broadcom.com> <1429744479-10410-3-git-send-email-arun.ramamurthy@broadcom.com> <5550B878.7060608@ti.com> <55527935.5060907@broadcom.com> In-Reply-To: <55527935.5060907@broadcom.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4582 Lines: 135 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 >>> Reviewed-by: Ray Jui >>> Reviewed-by: Scott Branden >>> --- >>> .../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@0x0301c000 { >>> + 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@0x18048000 { >>> + compatible = "generic-ehci"; >>> + reg = <0x18048000 0x100>; >>> + interrupts = ; >>> + 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@0x1804c000 { >>> + compatible = "iproc-udc"; >>> + reg = <0x1804c000 0x2000>; >>> + interrupts = ; >>> + 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/