From: Rob Herring <robh@kernel.org>
To: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: linuxarm@huawei.com, mauro.chehab@huawei.com,
Yu Chen <chenyu56@huawei.com>,
John Stultz <john.stultz@linaro.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: misc: add schema for USB hub on Kirin devices
Date: Fri, 13 Aug 2021 13:52:45 -0500 [thread overview]
Message-ID: <YRa/fURTp8QncIEZ@robh.at.kernel.org> (raw)
In-Reply-To: <d428b90bb655c7992e9e13fc50130ed223812d2d.1628159456.git.mchehab+huawei@kernel.org>
On Thu, Aug 05, 2021 at 12:31:00PM +0200, Mauro Carvalho Chehab wrote:
> From: Yu Chen <chenyu56@huawei.com>
>
> This patch adds binding documentation to support USB HUB and
> USB data role switch of HiSilicon HiKey960 and HiKey970 boards.
Like PCIe, there's a standard way to describe USB devices in DT. Though
PCI is easy compared to USB. :(
Also like PCIe on Hikey, I'm less than thrilled to define how this
should look for a board that's generally not widely available or well
supported.
>
> [mchehab: updated OF names and added support for HiKey970]
> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> .../bindings/misc/hisilicon,hikey-usb.yaml | 95 +++++++++++++++++++
> 1 file changed, 95 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..857f9bd802fe
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/hisilicon,hikey-usb.yaml
> @@ -0,0 +1,95 @@
> +# 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 <john.stultz@linaro.org>
> +
> +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,gpio_hubv1
> + - hisilicon,kirin970_hikey_usbhub
s/_/-/
Why is one compatible pretty generic and the other very specific?
> +
> + typec-vbus:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description: phandle to the typec-vbus gpio
If a GPIO, why is it not using a GPIO DT property?
> +
> + otg-switch:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description: phandle to the otg-switch gpio
Ditto?
> +
> + hub-vdd33-en:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description: phandle to the hub 3.3v power enablement gpio
GPIOs controlling a power rail should use a gpio-regulator.
> +
> + hub_reset_en_gpio:
s/_/-/
And still, not a GPIO DT property...
> + $ref: /schemas/types.yaml#/definitions/phandle
> + 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: |
> + any connector to the data bus of this controller should be modelled
> + using the OF graph bindings specified, if the "usb-role-switch"
> + property is used. Note for this driver, 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.
You're describing this in terms of driver connections rather than h/w
connections.
But we've already got ways to describe the data connections. For
starters, it should be a child of the USB host.
And how does all this tie in with the USB connector binding?
> +
> +
> +required:
> + - compatible
> + - typec-vbus
> + - otg-switch
> + - usb-role-switch
> + - port
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + hisi_hikey_usb: hisi_hikey_usb {
> + compatible = "hisilicon,gpio_hubv1";
> + typec-vbus = <&gpio25 2 GPIO_ACTIVE_HIGH>;
> + otg-switch = <&gpio25 6 GPIO_ACTIVE_HIGH>;
> + hub-vdd33-en = <&gpio5 6 GPIO_ACTIVE_HIGH>;
> + usb-role-switch;
> +
> + port {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hikey_usb_ep0: endpoint@0 {
> + reg = <0>;
> + remote-endpoint = <&dwc3_role_switch>;
> + };
> + hikey_usb_ep1: endpoint@1 {
> + reg = <1>;
> + remote-endpoint = <&rt1711h_ep>;
> + };
> + };
> + };
> --
> 2.31.1
>
>
next prev parent reply other threads:[~2021-08-13 18:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-05 10:31 [PATCH] dt-bindings: misc: add schema for USB hub on Kirin devices Mauro Carvalho Chehab
2021-08-13 18:52 ` Rob Herring [this message]
2021-08-14 6:58 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YRa/fURTp8QncIEZ@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=chenyu56@huawei.com \
--cc=devicetree@vger.kernel.org \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=mauro.chehab@huawei.com \
--cc=mchehab+huawei@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.