From patchwork Wed Nov 22 18:23:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 13465354 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 835D2C61D9D for ; Wed, 22 Nov 2023 18:24:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KNh7Sw9wJX+chEMWbGtsRxhUDv1epWggGIIHlgxYjI0=; b=ODwcsbxXnYSl2H ZkFqqwmekG+zg43OIEhiwDcRSrw80GT2A/VIPw/HFs9222hHxV+JrfKaAryRDmCujT/f9Wt8n/uPT 7EWEI6Y4UgWdDidG8H/8Op3OLJ3u/sUxwubMgrjqn4rGv49roa4lOV3YMMOibYkESE+s6xGErZK39 xbDduxeWqaHRCNIYYHDQKWvux50EnJbpGk2MlUxWUdOCpIXxhfluVsWAjXIEV5AHWpRc7UYVwi6SJ shy1YJmY1iioz/agVZv17eJP5yd9pd4wTzacot1Aj7Kg5qvTYT5FCa13Gq10sOc1VSAJStNHPbS9i bO+FACoatnbPgiunNbuw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r5rtk-002oUv-0X; Wed, 22 Nov 2023 18:24:28 +0000 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r5rth-002oTC-1i for linux-amlogic@lists.infradead.org; Wed, 22 Nov 2023 18:24:27 +0000 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1cc29f39e7aso452515ad.0 for ; Wed, 22 Nov 2023 10:24:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700677464; x=1701282264; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MjfB/97B7loi+XRCLgCE3Hiw3P88msCGByWuf340tpY=; b=mjQz+/+ZOnrr3ik1qPASEIg0H7oQ/1qjOLDspT2+4UmD/HqB6kCS92G6qDGudNnutF PMs7RPwyTnmBXqA/9JCTLUpl7k+tBgQ9R2qn5DEtXkR22cdULJBPpFj3rF7P5fPsxtyT oC65UtjsdxOOIbfu+8pFR6EONqOyQIUblskmUfcUefUUWhCkXzOY7Aw92ISKKMyXXenZ xXLBHmq7OEZ/ZYouAV40vVMb0EySB91nMB5au7upyqrncez7pI6O1aSsjH2P3BtZGGac e4T15NzZ+lnpuK1IkuYMCJh336LKnlP7+CFaIaCJ4loiyCXxN7Bft8ZT+82xylHPP4gs sl0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700677464; x=1701282264; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MjfB/97B7loi+XRCLgCE3Hiw3P88msCGByWuf340tpY=; b=jXOR031k4xXkGUSB5+FuUCTgpCQn2owjoRIM0GruQszXp6aZZLWB9QYWVLEZSPL6ay MoKTpfTgqILaBNEGJm9/mGAHfwDNKAZGr65nagQ6UB1TKahNHss+ujLpB3T9bhaOGZ3J n9uI2e+nNRQeFE4d/MAXsqCsB/XxyR59tYsL6zUwLkNvtIKmeNzjL0sI78k8+f9Es7bw E6KalHYjWb7/ZHKrp0TXHn8qWQPbPi3edbSz8Q+eeoXFTcW5Zm9auJh5JImpkIFxMbD6 rNH/fxAWHNcamQt0grwuXWEDBGkxa45hxyU15wvAywpEFNV0/IueqQtXPK7SlvcZ6PDc Gzfg== X-Gm-Message-State: AOJu0YxgPVzIrj17Avm2pmqhB3sxaJ/oRV0OgXqSiZx//O649BwzdugJ uEO8g2xnbdaylqtIPhJ47/c= X-Google-Smtp-Source: AGHT+IFWPL9SNXvN7oL7uCtmjwzzoqIpcfpqt68R31BoH4G9gvRk0tppsfmf6uoVZf4Z3TPbbG2pDQ== X-Received: by 2002:a17:902:e741:b0:1cf:59df:241 with SMTP id p1-20020a170902e74100b001cf59df0241mr3486737plf.52.1700677463793; Wed, 22 Nov 2023 10:24:23 -0800 (PST) Received: from localhost.localdomain ([49.205.245.83]) by smtp.gmail.com with ESMTPSA id x17-20020a170902ea9100b001cf6783fd41sm4897980plb.17.2023.11.22.10.24.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 10:24:23 -0800 (PST) From: Anand Moon To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Icenowy Zheng Cc: Anand Moon , Neil Armstrong , linux-amlogic@lists.infradead.org, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 1/2] dt-bindings: usb: Add the binding example for the Genesys Logic GL3523 hub Date: Wed, 22 Nov 2023 23:53:46 +0530 Message-ID: <20231122182351.63214-2-linux.amoon@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231122182351.63214-1-linux.amoon@gmail.com> References: <20231122182351.63214-1-linux.amoon@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231122_102425_571756_00134991 X-CRM114-Status: GOOD ( 14.69 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org Add the binding example for the USB3.1 Genesys Logic GL3523 integrates with USB 3.1 Gen 1 Super Speed and USB 2.0 High-Speed hub. Onboard USB hub supports USB 3.x and USB 2.0 peer controllers. which has a common reset pin and power supply. peer-hub phandle each peer controller with proper gpio reset and help each peer power on during initialization and power off during suspend. Signed-off-by: Anand Moon --- v4: Fix the description of peer-hub and update the commit message. Schematics of the Odroid N2+ https://dn.odroid.com/S922X/ODROID-N2/Schematic/odroid-n2_rev0.6_20210121.pdf V3: fix the dt_binding_check error, added new example for Genesys GL3523 v2: added Genesys GL3523 binding v1: none --- .../bindings/usb/genesys,gl850g.yaml | 67 +++++++++++++++++-- 1 file changed, 63 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml index ee08b9c3721f..bc3b3f4c8473 100644 --- a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml @@ -9,9 +9,6 @@ title: Genesys Logic USB hub controller maintainers: - Icenowy Zheng -allOf: - - $ref: usb-device.yaml# - properties: compatible: enum: @@ -27,12 +24,48 @@ properties: vdd-supply: description: - the regulator that provides 3.3V core power to the hub. + phandle to the regulator that provides power to the hub. + + peer-hub: + $ref: /schemas/types.yaml#/definitions/phandle + description: + onboard USB hub supports USB 3.x and USB 2.0 peer controllers. + which has a common reset pin and power supply. + peer-hub phandle each peer controller with proper gpio reset + and help each peer power on during initialization + and power off during suspend. required: - compatible - reg +allOf: + - $ref: usb-device.yaml# + - if: + properties: + compatible: + contains: + enum: + - usb5e3,608 + then: + properties: + peer-hub: false + vdd-supply: false + reset-gpios: true + + - if: + properties: + compatible: + contains: + enum: + - usb5e3,610 + - usb5e3,620 + then: + properties: + peer-hub: true + vdd-supply: true + reset-gpios: true + additionalProperties: false examples: @@ -49,3 +82,29 @@ examples: reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>; }; }; + + - | + #include + usb { + dr_mode = "host"; + #address-cells = <1>; + #size-cells = <0>; + + /* 2.0 hub on port 1 */ + hub_2_0: hub@1 { + compatible = "usb5e3,610"; + reg = <1>; + peer-hub = <&hub_3_0>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + + /* 3.1 hub on port 4 */ + hub_3_0: hub@2 { + compatible = "usb5e3,620"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + }; From patchwork Wed Nov 22 18:23:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 13465355 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7BD43C61D9D for ; Wed, 22 Nov 2023 18:24:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ztRjlwk9ZEEOF7hZAMncNKYS56AIRuAGxTTKFOK/KB4=; b=FkFQmH9e0sV0WK M5jhmG6dwqi7N/Oi5HAa8immnmCIypOUHJpxzUUv88vzcEOvBfz3OZdkmOuL0qzCHxJyfwbHPzl1k zHjeTe/qVU0EpAYQYisU75rFOD+J4tXjQVgkR5FVBdvaTn4+j0IQnasBXpE/Zry0REpb+EOFOxfqZ 52ohnY5gYLl/JFVX93zGqaP8CGRIht27ftnhokkHIgh43K+8gPQ0yMfbzW/GGNeOKMfykgscsYxuR JSkMvyoOUJ9K0h2fB5ocnZp5HE5+joZzqoLrnLAXtApLyjsjsXWrdIOsxa2sK/f82r7Zk0+Zoiksm /1lTUBVmnVLgewREdIwA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r5rto-002oZ6-0s; Wed, 22 Nov 2023 18:24:32 +0000 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r5rtl-002oW0-2Q; Wed, 22 Nov 2023 18:24:31 +0000 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-28039ee1587so85185a91.2; Wed, 22 Nov 2023 10:24:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700677468; x=1701282268; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+t8tXe6ccmmDxngyTtST79lozTn11v8rTEVF91HUREg=; b=JV0M3qy63yfpUP8yAbEFUcRjlrO2X4Z8Iq/gOtUuB8eShPlcgEw9WJHC7SOfEdwHGa cPawSKMe6lb1rE3UH2tT2nagC6q5NPoWU3WyxGapa/HYSpA8FqFKZrF5cNTXWPBmOkUD aWjwf2lFVtZtaDks53U8moK4MUjKq6w34YCNj0uBJfza9rCOqlMQwqiWA3QR/ye1iYxu WJncFc9pDZU9NEDC56hrcJbXJt4GFp1wV62s/Ao9UM89Jqloh4mROrYi2pdbgwQfjcPF NM6PN1wH1EMe5lAnWWaxLfyY60GlQ/hAMnPYBsWI6Np7VFqvYn2L+dDvah8sHj9mHUDL SOFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700677468; x=1701282268; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+t8tXe6ccmmDxngyTtST79lozTn11v8rTEVF91HUREg=; b=hhCZG8YIGB+fn77/q6RT+NAqGAtSN9ZxgmKCyfZhdBwG+Nm4k8IUihWNJgktvhhX1A jEGBfXVpOdObZ84IM6cYULkbU4ZR2Nci/HCUyUWJOwob1KXo6yrcKqLsvugn68WucgD7 PYBv6G52JGvDp9aAKKW72oulKrZLdNbuOtD/p13PXguNfAxnXJE5uZJCox2jLqVqqBl8 afrfBtGmJmPct9mBCWngaSAOfztYx2Mrx9lT9sgzixzEn5PRJOmCwhjBWrt3FIarTbpz LYv/73OTz7TRNMRdYFdGb+jnMYSJ8QFrJFsCkKJw1YwW2ixUPXqlKgxb+AEXkBqLk3L0 Nvwg== X-Gm-Message-State: AOJu0YyfEblhSfqlpq2uJpCrO2fV8jKhZ53XUeShJHowjHa/x99fleZ2 JJXwbHx79Zc6WHjQ4bRnpfg= X-Google-Smtp-Source: AGHT+IGS5KHFHXp/nc7YRlM8IKWltPPLo1UGYoMF2bslfzaQEcSItYt8gU4/7NQrm6qWPl4N2oI9Jg== X-Received: by 2002:a17:90b:4d0e:b0:27f:f7e9:cad9 with SMTP id mw14-20020a17090b4d0e00b0027ff7e9cad9mr3347137pjb.36.1700677468567; Wed, 22 Nov 2023 10:24:28 -0800 (PST) Received: from localhost.localdomain ([49.205.245.83]) by smtp.gmail.com with ESMTPSA id x17-20020a170902ea9100b001cf6783fd41sm4897980plb.17.2023.11.22.10.24.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 10:24:28 -0800 (PST) From: Anand Moon To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl Cc: Anand Moon , linux-amlogic@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/2] arm64: dts: amlogic: Used onboard usb hub reset on odroid n2 Date: Wed, 22 Nov 2023 23:53:47 +0530 Message-ID: <20231122182351.63214-3-linux.amoon@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231122182351.63214-1-linux.amoon@gmail.com> References: <20231122182351.63214-1-linux.amoon@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231122_102429_800222_7432E504 X-CRM114-Status: GOOD ( 16.39 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org On Odroid n2/n2+ previously use gpio-hog to reset the usb hub, switch to used on-board usb hub reset to enable the usb hub and enable power to hub. Signed-off-by: Anand Moon --- .../dts/amlogic/meson-g12b-odroid-n2.dtsi | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi index 91c9769fda20..9e671444eca6 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi @@ -31,6 +31,30 @@ hub_5v: regulator-hub_5v { enable-active-high; }; + /* USB hub supports both USB 2.0 and USB 3.0 root hub */ + usb-hub { + dr_mode = "host"; + #address-cells = <1>; + #size-cells = <0>; + + /* 2.0 hub on port 1 */ + hub_2_0: hub@1 { + compatible = "usb5e3,610"; + reg = <1>; + peer-hub = <&hub_3_0>; + vdd-supply = <&usb_pwr_en>; + }; + + /* 3.0 hub on port 4 */ + hub_3_0: hub@2 { + compatible = "usb5e3,620"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc_5v>; + }; + }; + sound { compatible = "amlogic,axg-sound-card"; model = "ODROID-N2"; @@ -234,18 +258,6 @@ &gpio { "PIN_3", /* GPIOX_17 */ "PIN_5", /* GPIOX_18 */ "PIN_36"; /* GPIOX_19 */ - /* - * WARNING: The USB Hub on the Odroid-N2 needs a reset signal - * to be turned high in order to be detected by the USB Controller - * This signal should be handled by a USB specific power sequence - * in order to reset the Hub when USB bus is powered down. - */ - usb-hub-hog { - gpio-hog; - gpios = ; - output-high; - line-name = "usb-hub-reset"; - }; }; &i2c3 {