From patchwork Thu Sep 2 11:28:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 505870 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-24.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8128C432BE for ; Thu, 2 Sep 2021 11:28:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7C75A610E6 for ; Thu, 2 Sep 2021 11:28:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245744AbhIBL3n (ORCPT ); Thu, 2 Sep 2021 07:29:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:37248 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245647AbhIBL3n (ORCPT ); Thu, 2 Sep 2021 07:29:43 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3559A61057; Thu, 2 Sep 2021 11:28:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1630582125; bh=iwKTETCoMU3En+5uE5SOOsreZ29nNC4aV2mE/kPiRkA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hKi9JgcJgYx5kYLIU1nZchHhXm17mxjRSk0r/F3ouFiKZNd2HlQNVyrX6Xy3QwmAw z+2TyblYym2CwtkW6lOVoVOgezqhZ/jEZM5I9OvsF0m15mZlbO40JiCIpCrrBTcEDX Rb/MZ2NL7T49O4Bbz/ljTvNmOOUar4J/PCdnW4UBE1GNmmor6VO7/zxphqPzKMAp9t 5l93q/6VwI23FEpf/p8QxmpZMOGWTQHHnbEw62Up6jTPiD1Dm1/3QWCpE44Knr+Dg1 KBpNKCXsC2wrAzcvo0XKiv/FHs9YQqMVUmSCIuJlsKYW3DlOCGD8CxRaZLfCxi0wmz CTARycQPw6cmA== Received: by mail.kernel.org with local (Exim 4.94.2) (envelope-from ) id 1mLktf-0004ZO-5u; Thu, 02 Sep 2021 13:28:43 +0200 From: Mauro Carvalho Chehab To: Rob Herring Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Yu Chen , "John Stultz" , Rob Herring , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Mauro Carvalho Chehab Subject: [PATCH v3 1/4] dt-bindings: misc: add schema for USB hub on Kirin devices Date: Thu, 2 Sep 2021 13:28:34 +0200 Message-Id: <9b49f98da440865212f040dad841ac689e7f73e7.1630581434.git.mchehab+huawei@kernel.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Yu Chen This patch adds binding documentation to support USB HUB and USB data role switch of HiSilicon HiKey960 and HiKey970 boards. [mchehab: updated OF schema and added HiKey970 example] Signed-off-by: Yu Chen Signed-off-by: John Stultz Signed-off-by: Mauro Carvalho Chehab --- .../bindings/misc/hisilicon,hikey-usb.yaml | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 Documentation/devicetree/bindings/misc/hisilicon,hikey-usb.yaml diff --git a/Documentation/devicetree/bindings/misc/hisilicon,hikey-usb.yaml b/Documentation/devicetree/bindings/misc/hisilicon,hikey-usb.yaml new file mode 100644 index 000000000000..12754a98786f --- /dev/null +++ b/Documentation/devicetree/bindings/misc/hisilicon,hikey-usb.yaml @@ -0,0 +1,108 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2019 Linaro Ltd. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/misc/hisilicon,hikey-usb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: HiKey960/970 onboard USB GPIO Hub + +maintainers: + - John Stultz + +description: | + Supports the onboard USB GPIO hub found on HiKey960/970. + The HUB, which acts as a role-switch intermediary to detect the state of + the USB-C port, to switch the hub into dual-role USB-C or host mode, + which enables the onboard USB-A host ports. + + Schematics about the hub can be found here: + https://github.com/96boards/documentation/raw/master/consumer/hikey/hikey960/hardware-docs/HiKey960_Schematics.pdf + https://www.96boards.org/documentation/consumer/hikey/hikey970/hardware-docs/files/hikey970-schematics.pdf + +properties: + compatible: + enum: + - hisilicon,hikey960-usbhub + - hisilicon,hikey970-usbhub + + typec-vbus-gpios: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: phandle to the typec-vbus gpio + + otg-switch-gpios: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: phandle to the otg-switch gpio + + hub-reset-en-gpios: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: phandle to the hub reset gpio + + usb-role-switch: + $ref: /schemas/types.yaml#/definitions/flag + description: Support role switch. + + hub-vdd-supply: + description: regulator for hub power + + port: + description: | + describe hadware connections between USB endpoints. + Two ports are supported: the first being the endpoint that will + be notified by this driver, and the second being the endpoint + that notifies this driver of a role switch. + +required: + - compatible + - typec-vbus-gpios + - otg-switch-gpios + - hub-vdd-supply + - usb-role-switch + - port + +additionalProperties: false + +examples: + - | + #include + + usb-hub960 { + compatible = "hisilicon,hikey960-usbhub"; + typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>; + otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>; + hub-vdd-supply = <&usb_hub_vdd>; + usb-role-switch; + port { + #address-cells = <1>; + #size-cells = <0>; + hikey960_usb_ep0: endpoint@0 { + reg = <0>; + remote-endpoint = <&dwc3_role_switch_960>; + }; + hikey960_usb_ep1: endpoint@1 { + reg = <1>; + remote-endpoint = <&rt1711h_ep_960>; + }; + }; + }; + + usb-hub970 { + compatible = "hisilicon,hikey970-usbhub"; + typec-vbus-gpios = <&gpio26 1 0>; + otg-switch-gpios = <&gpio4 2 0>; + hub-reset-en-gpios = <&gpio0 3 0>; + hub-vdd-supply = <&ldo17>; + usb-role-switch; + port { + #address-cells = <1>; + #size-cells = <0>; + hikey970_usb_ep0: endpoint@0 { + reg = <0>; + remote-endpoint = <&dwc3_role_switch_970>; + }; + hikey970_usb_ep1: endpoint@1 { + reg = <1>; + remote-endpoint = <&rt1711h_ep_970>; + }; + }; + };