From patchwork Mon May 25 22:36:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Ramamurthy X-Patchwork-Id: 476310 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id B233814029C for ; Tue, 26 May 2015 08:34:56 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751364AbbEYWex (ORCPT ); Mon, 25 May 2015 18:34:53 -0400 Received: from mail-gw2-out.broadcom.com ([216.31.210.63]:13184 "EHLO mail-gw2-out.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750982AbbEYWeY (ORCPT ); Mon, 25 May 2015 18:34:24 -0400 X-IronPort-AV: E=Sophos;i="5.13,495,1427785200"; d="scan'208";a="65743308" Received: from irvexchcas08.broadcom.com (HELO IRVEXCHCAS08.corp.ad.broadcom.com) ([10.9.208.57]) by mail-gw2-out.broadcom.com with ESMTP; 25 May 2015 15:45:31 -0700 Received: from IRVEXCHSMTP2.corp.ad.broadcom.com (10.9.207.52) by IRVEXCHCAS08.corp.ad.broadcom.com (10.9.208.57) with Microsoft SMTP Server (TLS) id 14.3.235.1; Mon, 25 May 2015 15:34:22 -0700 Received: from mail-irva-13.broadcom.com (10.10.10.20) by IRVEXCHSMTP2.corp.ad.broadcom.com (10.9.207.52) with Microsoft SMTP Server id 14.3.235.1; Mon, 25 May 2015 15:34:21 -0700 Received: from lbrmn-lnxub64.broadcom.com (unknown [10.136.8.214]) by mail-irva-13.broadcom.com (Postfix) with ESMTP id 86E3F40FE5; Mon, 25 May 2015 15:32:35 -0700 (PDT) From: Arun Ramamurthy To: Rob Herring , Pawel Moll , "Mark Rutland" , Ian Campbell , Kumar Gala , "Russell King" , Jean-Christophe Plagniol-Villard , Tomi Valkeinen CC: , , , Dmitry Torokhov , "Anatol Pomazau" , Jonathan Richardson , Scott Branden , Ray Jui , , Arun Ramamurthy Subject: [PATCH v4 2/3] Phy: DT binding documentation for Broadcom Cygnus USB PHY driver Date: Mon, 25 May 2015 15:36:09 -0700 Message-ID: <1432593370-14457-3-git-send-email-arun.ramamurthy@broadcom.com> X-Mailer: git-send-email 2.3.4 In-Reply-To: <1432593370-14457-1-git-send-email-arun.ramamurthy@broadcom.com> References: <1432593370-14457-1-git-send-email-arun.ramamurthy@broadcom.com> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org 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..a5babbc 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_USB2_CONFIG_HOST 0 +#define PHY_USB2_CONFIG_DEVICE 1 #endif /* _DT_BINDINGS_PHY */