Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3338138yba; Tue, 23 Apr 2019 01:54:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqxKmv8P6rJhZFsVWfxOQsSMY/9+Yh5XLW/SGhQkY35mkZunjhXSb8qAqC6HjGf9gXG/oD7B X-Received: by 2002:a63:20f:: with SMTP id 15mr22691834pgc.90.1556009686816; Tue, 23 Apr 2019 01:54:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556009686; cv=none; d=google.com; s=arc-20160816; b=xu7aH+Pu6ZKVgwdQK0+gIdXCKfBLtlWG/BIs9x5I4vgOEqu5v/Jlc8EByUVqeNQ/eo uuqdY83gWfz5KySdmGFeFhqMDVLn09xv/+YQWMB9DL8O+EDlM3fBR0fTfZzj970y3ljH tXr9ZgL+LuBITm9CmH5/bI2ceav6XBGUlqjNRENbBJYyqL2+upsBbYWFnxqJ8Rh0+6xS Pv/y41xqWjm4yjbqrvB7dRr0FE9hJa6Br2f1oA2h9BxVl1rSr14KX2V6hH8iKh9sYqnN j2okLDb2SsppjzQesCUya5zmfSYs2v3yt3suDoGjqYxen1SCZ/Gk4kHk/sDRj+tSuSkg TgnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=2eRvrsWl11jM2CeP6qjHv6pCX8ts9ZzW3hyQekHEmZg=; b=0UPAtuIxgI6OOPCP+BakBD0P5pDLxqRvi3a/ZyGtAw1DsuJyRduUepHEPcrEdDhkCM YssViCwUPKK7p2DJP3f6LiA+AicuFRNX6T5pWfVpJMYgmJNYodKxR8pX9ltXYcTx3LAk Vr6XczEXavpXtomFb4VunSsJziuA4qKO1bxSUCTKudLerMmz1AzKz63vavXTKQif40bR C00km+VpS6k4yDScc1XCisJkbuAXOawtf2YY8QiL6Fcla5tqzF4MtViuR99WICYcFr85 GE8jFx6/naPkIV3FywXvvMxfJ2lP5kE66xnIb77GP12CKfxm4rwObnCNcDL25HG+7LUT x4/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=NFxNZ2q1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 13si14972019pgz.9.2019.04.23.01.54.30; Tue, 23 Apr 2019 01:54:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=NFxNZ2q1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727125AbfDWIvv (ORCPT + 99 others); Tue, 23 Apr 2019 04:51:51 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:36141 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726950AbfDWIvf (ORCPT ); Tue, 23 Apr 2019 04:51:35 -0400 Received: by mail-wr1-f67.google.com with SMTP id b1so7759702wru.3 for ; Tue, 23 Apr 2019 01:51:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2eRvrsWl11jM2CeP6qjHv6pCX8ts9ZzW3hyQekHEmZg=; b=NFxNZ2q15C/vPadP8pQ/wqkRWfwbF8oj5aMRWlrjab/n/RYtvEokoBJPhzat+nnly3 TZJFVAItm8wG6AvwCp3hRgFfaKafRR1Tf8chFM6wxjUdSRGeE4hQjxAJdsCezVpiUNeU BLYJ4dCLa3XY8p0zXytJtVowyJrL5HLCrXPnViF2FW/0BseGumfot5QI/jxWgEO2f4nu xBnoLtxdSH8Mk0VFFNBNxPEP0aEukt3LR2MSmHj9ukZjo4QE85awN30KhYMjWtpZH5Z2 fqkddNkmJ0ZNfW3Q0RCaKLjnZ3s5/o06I41s9XdomxLI0GyUhBq5c5kob1xjGJ+ZM2Kj Q5WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2eRvrsWl11jM2CeP6qjHv6pCX8ts9ZzW3hyQekHEmZg=; b=RIGpVQpk+ohtbunzzUEkzkawtDHuKSUZnhi7uGPGnAhxQr5aa7v1AklKdLMrJPO8yv o3QWQwLxNjQ81WhYEzkcWT2m2y3QclgUIsHK6COzYFvMtufl636cak3Ve4JG2grwNkzl pxVrSEUkgoiKMzxCP8APXUL6BlHIzAZdWnAJmmfC3VJe7DptiOjOC6r+or8B0Du1wkcB ZBHQXcxpffWfI5DAkZ3zJuQ0zWSaLB/VAYRWnVPIS0RzXfzo5A0SxpU6Jf/tGcfZJIVC S41svCMnfTxBQujxwLRDtkKyMS3eA6U8Ml0VkLeH3dWiu0TiWXiit92CpfW9O35GRP/y +7sw== X-Gm-Message-State: APjAAAW3rekOaEOO8HQ1rQZ//4Ab6D/43ms1RnGXndB9Zmfhl0sQO3q+ Qlu1zo8zz0FvfGv75C1E1SarOQ== X-Received: by 2002:adf:9051:: with SMTP id h75mr1539366wrh.115.1556009493067; Tue, 23 Apr 2019 01:51:33 -0700 (PDT) Received: from bender.baylibre.local (lmontsouris-657-1-212-31.w90-63.abo.wanadoo.fr. [90.63.244.31]) by smtp.gmail.com with ESMTPSA id b8sm12515566wrr.64.2019.04.23.01.51.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 23 Apr 2019 01:51:32 -0700 (PDT) From: Neil Armstrong To: gregkh@linuxfoundation.org, hminas@synopsys.com, balbi@kernel.org, kishon@ti.com, devicetree@vger.kernel.org, chunfeng.yun@mediatek.com Cc: Neil Armstrong , linux-amlogic@lists.infradead.org, linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Martin Blumenstingl , Rob Herring Subject: [PATCH v6 2/4] dt-bindings: usb: dwc3: Add Amlogic G12A DWC3 Glue Bindings Date: Tue, 23 Apr 2019 10:51:25 +0200 Message-Id: <20190423085127.3863-3-narmstrong@baylibre.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190423085127.3863-1-narmstrong@baylibre.com> References: <20190423085127.3863-1-narmstrong@baylibre.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adds the bindings for the Amlogic G12A USB Glue HW. The Amlogic G12A SoC Family embeds 2 USB Controllers : - a DWC3 IP configured as Host for USB2 and USB3 - a DWC2 IP configured as Peripheral USB2 Only A glue connects these both controllers to 2 USB2 PHYs, and optionnally to an USB3+PCIE Combo PHY shared with the PCIE controller. The Glue configures the UTMI 8bit interfaces for the USB2 PHYs, including routing of the OTG PHY between the DWC3 and DWC2 controllers, and setups the on-chip OTG mode selection for this PHY. The PHYs phandles are passed to the Glue node since the Glue controls the interface with the PHY, not the DWC3 controller. Signed-off-by: Neil Armstrong Reviewed-by: Martin Blumenstingl Reviewed-by: Rob Herring --- .../devicetree/bindings/usb/amlogic,dwc3.txt | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt b/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt index 9a8b631904fd..b9f04e617eb7 100644 --- a/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt +++ b/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt @@ -40,3 +40,91 @@ Example device nodes: phy-names = "usb2-phy", "usb3-phy"; }; }; + +Amlogic Meson G12A DWC3 USB SoC Controller Glue + +The Amlogic G12A embeds a DWC3 USB IP Core configured for USB2 and USB3 +in host-only mode, and a DWC2 IP Core configured for USB2 peripheral mode +only. + +A glue connects the DWC3 core to USB2 PHYs and optionnaly to an USB3 PHY. + +One of the USB2 PHY can be re-routed in peripheral mode to a DWC2 USB IP. + +The DWC3 Glue controls the PHY routing and power, an interrupt line is +connected to the Glue to serve as OTG ID change detection. + +Required properties: +- compatible: Should be "amlogic,meson-g12a-usb-ctrl" +- clocks: a handle for the "USB" clock +- resets: a handle for the shared "USB" reset line +- reg: The base address and length of the registers +- interrupts: the interrupt specifier for the OTG detection +- phys: handle to used PHYs on the system + - a <0> phandle can be used if a PHY is not used +- phy-names: names of the used PHYs on the system : + - "usb2-phy0" for USB2 PHY0 if USBHOST_A port is used + - "usb2-phy1" for USB2 PHY1 if USBOTG_B port is used + - "usb3-phy0" for USB3 PHY if USB3_0 is used +- dr_mode: should be "host", "peripheral", or "otg" depending on + the usage and configuration of the OTG Capable port. + - "host" and "peripheral" means a fixed Host or Device only connection + - "otg" means the port can be used as both Host or Device and + be switched automatically using the OTG ID pin. + +Optional properties: +- vbus-supply: should be a phandle to the regulator controlling the VBUS + power supply when used in OTG switchable mode + +Required child nodes: + +A child node must exist to represent the core DWC3 IP block. The name of +the node is not important. The content of the node is defined in dwc3.txt. + +A child node must exist to represent the core DWC2 IP block. The name of +the node is not important. The content of the node is defined in dwc2.txt. + +PHY documentation is provided in the following places: +- Documentation/devicetree/bindings/phy/meson-g12a-usb2-phy.txt +- Documentation/devicetree/bindings/phy/meson-g12a-usb3-pcie-phy.txt + +Example device nodes: + usb: usb@ffe09000 { + compatible = "amlogic,meson-g12a-usb-ctrl"; + reg = <0x0 0xffe09000 0x0 0xa0>; + interrupts = ; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + clocks = <&clkc CLKID_USB>; + resets = <&reset RESET_USB>; + + dr_mode = "otg"; + + phys = <&usb2_phy0>, <&usb2_phy1>, + <&usb3_pcie_phy PHY_TYPE_USB3>; + phy-names = "usb2-phy0", "usb2-phy1", "usb3-phy0"; + + dwc2: usb@ff400000 { + compatible = "amlogic,meson-g12a-usb", "snps,dwc2"; + reg = <0x0 0xff400000 0x0 0x40000>; + interrupts = ; + clocks = <&clkc CLKID_USB1_DDR_BRIDGE>; + clock-names = "ddr"; + phys = <&usb2_phy1>; + dr_mode = "peripheral"; + g-rx-fifo-size = <192>; + g-np-tx-fifo-size = <128>; + g-tx-fifo-size = <128 128 16 16 16>; + }; + + dwc3: usb@ff500000 { + compatible = "snps,dwc3"; + reg = <0x0 0xff500000 0x0 0x100000>; + interrupts = ; + dr_mode = "host"; + snps,dis_u2_susphy_quirk; + snps,quirk-frame-length-adjustment; + }; + }; -- 2.21.0