From patchwork Sun Mar 19 16:31:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Icenowy Zheng X-Patchwork-Id: 9632725 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1BE7B6020B for ; Sun, 19 Mar 2017 16:33:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0D98A28307 for ; Sun, 19 Mar 2017 16:33:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 02172284D4; Sun, 19 Mar 2017 16:32:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9133D28307 for ; Sun, 19 Mar 2017 16:32:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=ZuwiXueU1nxGWUsUVO1vRjEP7nS6t5fhNkEvKJO1NGA=; b=Q3oi4YtcLQxytt2nc+da9cSk3G 0kkNF5AGw4D5i6XyoJoFqJhHOseyuy2lTdcG22IT14H+8QKsCzwzKlAWTAPNNzDPLtT2x5czfwzc8 oJGcmz+wQ7/RIQpJj/2fSGRvSSwgQuq1/jMb0+5XkSocPCEEl1YqOF3lsUjFfbXjUgMV3hH9JsGIR 2RtEEYBUvCue3NFFxlWh0sS2oKoG4K5ilPJL5L/qB7TCodx0TRP+9HETR/I5ISPQe90A9R38k6Buj aSDOwoJRui0uQ/AxRnhmPfnq7vmGm3G2PrehU4JngJ+wWIecc7aiy/NXF5MTHDpGEKz9weTOgu7WE +2y6Avsg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cpdlL-000651-5e; Sun, 19 Mar 2017 16:32:59 +0000 Received: from forward7j.cmail.yandex.net ([2a02:6b8:0:1630::182]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cpdlD-0005xp-Hj for linux-arm-kernel@lists.infradead.org; Sun, 19 Mar 2017 16:32:56 +0000 Received: from smtp1h.mail.yandex.net (smtp1h.mail.yandex.net [IPv6:2a02:6b8:0:f05::115]) by forward7j.cmail.yandex.net (Yandex) with ESMTP id 52A7E21B1B; Sun, 19 Mar 2017 19:32:27 +0300 (MSK) Received: from smtp1h.mail.yandex.net (localhost.localdomain [127.0.0.1]) by smtp1h.mail.yandex.net (Yandex) with ESMTP id 915198C0D75; Sun, 19 Mar 2017 19:32:19 +0300 (MSK) Received: by smtp1h.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 5soN56LhFL-WDGOYCnF; Sun, 19 Mar 2017 19:32:17 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.xyz; s=mail; t=1489941138; bh=rRPCRDg6r5cXtJTlJ6QoBZy8rpvIAw2nRW3eDj+whHY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=BlVGK/i41tnsgFXNtMzhYFm1nnF1yC//DEV7hXOmv0lkl5QEu0Zv1QmpYwlLs5Khu dp9LTSCTrgt4VYoQ1Xr4Xr42gegRWlkQrO3XPEP99xHmaA0ZFy+X9OLrtRXomGt+Md aC0ZWIEuG5DDynPVF8l9i0qXRrY730RajLklDTbc= Authentication-Results: smtp1h.mail.yandex.net; dkim=pass header.i=@aosc.xyz X-Yandex-ForeignMX: US X-Yandex-Suid-Status: 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 1130000036118848 From: Icenowy Zheng To: Rob Herring , Maxime Ripard , Chen-Yu Tsai , Kishon Vijay Abraham I , Hans de Goede Subject: [PATCH v4 7/8] ARM: sun8i: h2+: enable USB OTG for Orange Pi Zero board Date: Mon, 20 Mar 2017 00:31:17 +0800 Message-Id: <20170319163118.56301-3-icenowy@aosc.xyz> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170319163118.56301-1-icenowy@aosc.xyz> References: <20170319163118.56301-1-icenowy@aosc.xyz> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170319_093251_825382_136E224B X-CRM114-Status: GOOD ( 13.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Icenowy Zheng MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Orange Pi Zero board features a USB OTG port, which has a ID pin, and can be used to power up the board. However, even if the board is powered via +5V pin in GPIO/expansion headers, the VBUS in the OTG port cannot be powered up, thus it's impossible to use it in host mode with simple OTG cables. Add support for it in peripheral mode. If someone really want to use it in host mode, the mode of PHY can be switch via sysfs, then use a powered USB OTG cable or powered USB HUB to power up external USB devices. Signed-off-by: Icenowy Zheng Acked-by: Chen-Yu Tsai --- Changes in v3: - Add "h3:" in commit message. arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts index 96c32293598a..9e8b082c134f 100644 --- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts @@ -95,6 +95,10 @@ }; }; +&ehci0 { + status = "okay"; +}; + &ehci1 { status = "okay"; }; @@ -131,6 +135,10 @@ bias-pull-up; }; +&ohci0 { + status = "okay"; +}; + &ohci1 { status = "okay"; }; @@ -153,7 +161,17 @@ status = "disabled"; }; +&usb_otg { + dr_mode = "peripheral"; + status = "okay"; +}; + &usbphy { - /* USB VBUS is always on */ + /* + * USB Type-A port VBUS is always on. However, MicroUSB VBUS can only + * power up the board; when it's used as OTG port, this VBUS is + * always off even if the board is powered via GPIO pins. + */ status = "okay"; + usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ };