From nobody Thu May 7 21:56:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1812C433F5 for ; Wed, 18 May 2022 10:18:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235049AbiERKSQ (ORCPT ); Wed, 18 May 2022 06:18:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57228 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230039AbiERKSI (ORCPT ); Wed, 18 May 2022 06:18:08 -0400 Received: from m12-17.163.com (m12-17.163.com [220.181.12.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id EF28DC5E77; Wed, 18 May 2022 03:18:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=4TQRH C3LKR1FplyucHsj4yZYXJRNePwajQzUjdPa1gM=; b=QEgLea40nMEtaxQqLxBYc /N/1IACe8D8otPSpu2mFnk/A4p266kkM6lDnErLV0XljnnOx4NUg21sPzDaT80tD SWPMcBde1cWdkSu/YWsts/WUmOdP0SdnkNwvIrMqMr2xO7+5oC6p42rqXaPyeW1T tl7b0H6Cteqt5hWcgIbsh4= Received: from DESKTOP-B1R4FVG.localdomain (unknown [218.201.129.20]) by smtp13 (Coremail) with SMTP id EcCowACXG6mlx4RimzKrDA--.63720S3; Wed, 18 May 2022 18:17:10 +0800 (CST) From: qianfanguijin@163.com To: linux-sunxi@lists.linux.dev Cc: Andre Przywara , Evgeny Boger , Rob Herring , Krzysztof Kozlowski , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, qianfan Zhao Subject: [PATCH v4 1/2] ARM: dts: sun8i-r40: Add USB0_OTG/HOST support Date: Wed, 18 May 2022 18:17:05 +0800 Message-Id: <20220518101706.26869-2-qianfanguijin@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220518101706.26869-1-qianfanguijin@163.com> References: <20220518101706.26869-1-qianfanguijin@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: EcCowACXG6mlx4RimzKrDA--.63720S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7AFy3Zr17try8Gr1kXr17Awb_yoW8Zr1Upa 4j9rZ3t3yrWr1Sq3W3KFs5Jrn5J348Crs7Krn2y348Jrn2ga1qgFWxtF1SkFZ7Ww4UAw4a qFn3Gry3W3WDZaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRa2N_UUUUU= X-Originating-IP: [218.201.129.20] X-CM-SenderInfo: htld0w5dqj3xxmlqqiywtou0bp/1tbiXAYF7VXl28m+uAAAsW Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: qianfan Zhao The USB0 port of R40 is divided into two controllers, one is H3 compatibled MUSB device, another is OHCI/EHCI. Signed-off-by: qianfan Zhao Tested-by: Samuel Holland --- arch/arm/boot/dts/sun8i-r40.dtsi | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40= .dtsi index 212e19183484..ae48474fdefa 100644 --- a/arch/arm/boot/dts/sun8i-r40.dtsi +++ b/arch/arm/boot/dts/sun8i-r40.dtsi @@ -401,6 +401,21 @@ mmc3: mmc@1c12000 { #size-cells =3D <0>; }; =20 + usb_otg: usb@1c13000 { + compatible =3D "allwinner,sun8i-r40-musb", + "allwinner,sun8i-h3-musb"; + reg =3D <0x01c13000 0x0400>; + clocks =3D <&ccu CLK_BUS_OTG>; + resets =3D <&ccu RST_BUS_OTG>; + interrupts =3D ; + interrupt-names =3D "mc"; + phys =3D <&usbphy 0>; + phy-names =3D "usb"; + extcon =3D <&usbphy 0>; + dr_mode =3D "otg"; + status =3D "disabled"; + }; + usbphy: phy@1c13400 { compatible =3D "allwinner,sun8i-r40-usb-phy"; reg =3D <0x01c13400 0x14>, @@ -427,6 +442,25 @@ usbphy: phy@1c13400 { #phy-cells =3D <1>; }; =20 + ehci0: usb@1c14000 { + compatible =3D "allwinner,sun8i-r40-ehci", "generic-ehci"; + reg =3D <0x01c14000 0x100>; + interrupts =3D ; + clocks =3D <&ccu CLK_BUS_EHCI0>, <&ccu CLK_BUS_OHCI0>; + resets =3D <&ccu RST_BUS_EHCI0>, <&ccu RST_BUS_OHCI0>; + status =3D "disabled"; + }; + + ohci0: usb@1c14400 { + compatible =3D "allwinner,sun8i-r40-ohci", "generic-ohci"; + reg =3D <0x01c14400 0x100>; + interrupts =3D ; + clocks =3D <&ccu CLK_BUS_EHCI0>, <&ccu CLK_BUS_OHCI0>, + <&ccu CLK_USB_OHCI0>; + resets =3D <&ccu RST_BUS_EHCI0>, <&ccu RST_BUS_OHCI0>; + status =3D "disabled"; + }; + crypto: crypto@1c15000 { compatible =3D "allwinner,sun8i-r40-crypto"; reg =3D <0x01c15000 0x1000>; --=20 2.25.1 From nobody Thu May 7 21:56:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B0C6FC433F5 for ; Wed, 18 May 2022 10:18:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235040AbiERKSM (ORCPT ); Wed, 18 May 2022 06:18:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57224 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235014AbiERKSI (ORCPT ); Wed, 18 May 2022 06:18:08 -0400 Received: from m12-17.163.com (m12-17.163.com [220.181.12.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 685F49D06A; Wed, 18 May 2022 03:18:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=q7y9U ErI2PocEDGVAu8nSItLWsdvHnnMxOp2rxgeIqk=; b=ChoR4JqbWuZqVu0CiIKc2 SQr7N9uKwxZizzYwCBnodkyVX9pK+glB2idwqg4y1g+p4Kz7Y6M8xjK95GOnA7vC sbzLXebDiRPgGTFSmePWAoknqWsUVde8vCRfdC9RZ386PGkqcfZ2z550gIahqUZa OmEI3dc7Asg47SaxfgG5Q8= Received: from DESKTOP-B1R4FVG.localdomain (unknown [218.201.129.20]) by smtp13 (Coremail) with SMTP id EcCowACXG6mlx4RimzKrDA--.63720S4; Wed, 18 May 2022 18:17:11 +0800 (CST) From: qianfanguijin@163.com To: linux-sunxi@lists.linux.dev Cc: Andre Przywara , Evgeny Boger , Rob Herring , Krzysztof Kozlowski , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, qianfan Zhao Subject: [PATCH v4 2/2] ARM: dts: bananapi-m2-ultra: Enable USB0_OTG and HOST support Date: Wed, 18 May 2022 18:17:06 +0800 Message-Id: <20220518101706.26869-3-qianfanguijin@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220518101706.26869-1-qianfanguijin@163.com> References: <20220518101706.26869-1-qianfanguijin@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: EcCowACXG6mlx4RimzKrDA--.63720S4 X-Coremail-Antispam: 1Uf129KBjvJXoW7uFykWw4rAF1Uur48tr4UCFg_yoW8urWDp3 sruFs5Cw1rGr4rJw1aqr4UCFy3Gwn5WryfCF1kCa4rJrnFva1kJrWIk3s5ZFZ0gryrCw4F yFZrArnrGr1qywUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRctxkUUUUU= X-Originating-IP: [218.201.129.20] X-CM-SenderInfo: htld0w5dqj3xxmlqqiywtou0bp/xtbCqR0F7V0Dfgie6QAAsD Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: qianfan Zhao let USB0 work at OTG mode. Signed-off-by: qianfan Zhao Tested-by: Samuel Holland --- .../boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/b= oot/dts/sun8i-r40-bananapi-m2-ultra.dts index 28197bbcb1d5..b3421e67967d 100644 --- a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts +++ b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts @@ -122,6 +122,10 @@ &de { status =3D "okay"; }; =20 +&ehci0 { + status =3D "okay"; +}; + &ehci1 { status =3D "okay"; }; @@ -164,6 +168,7 @@ axp22x: pmic@34 { reg =3D <0x34>; interrupt-parent =3D <&nmi_intc>; interrupts =3D <0 IRQ_TYPE_LEVEL_LOW>; + x-powers,drive-vbus-en; }; }; =20 @@ -199,6 +204,10 @@ &mmc2 { status =3D "okay"; }; =20 +&ohci0 { + status =3D "okay"; +}; + &ohci1 { status =3D "okay"; }; @@ -216,6 +225,15 @@ &pio { vcc-pe-supply =3D <®_eldo1>; vcc-pf-supply =3D <®_dcdc1>; vcc-pg-supply =3D <®_dldo1>; + + /* USB0_DRVVBUS connected to both the PMIC.N_VBUSEN and PI13, + * we chose PMIC.N_VBUSEN for control, so set the gpio as + * input mode here. + */ + usb0_vbus_enable_gpio: usb0-vbus-enable-gpio { + pins =3D "PI13"; + function =3D "gpio_in"; + }; }; =20 ®_aldo2 { @@ -298,6 +316,11 @@ ®_dldo4 { regulator-name =3D "vdd2v5-sata"; }; =20 +®_drivevbus { + regulator-name =3D "usb0-vbus"; + status =3D "okay"; +}; + ®_eldo3 { regulator-min-microvolt =3D <1200000>; regulator-max-microvolt =3D <1200000>; @@ -333,7 +356,23 @@ bluetooth { }; }; =20 +&usb_otg { + dr_mode =3D "otg"; + status =3D "okay"; +}; + +&usb_power_supply { + status =3D "okay"; +}; + &usbphy { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&usb0_vbus_enable_gpio>; + + usb0_id_det-gpios =3D <&pio 8 4 GPIO_ACTIVE_HIGH>; /* PI4 */ + usb0_vbus_det-gpios =3D <&pio 8 8 GPIO_ACTIVE_HIGH>; /* PI8 */ + usb0_vbus_power-supply =3D <&usb_power_supply>; + usb0_vbus-supply =3D <®_drivevbus>; usb1_vbus-supply =3D <®_vcc5v0>; usb2_vbus-supply =3D <®_vcc5v0>; status =3D "okay"; --=20 2.25.1