Re: [PATCH v1 03/12] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960

From: Rob Herring
Date: Wed Dec 19 2018 - 09:21:22 EST


On Mon, Dec 03, 2018 at 11:45:06AM +0800, Yu Chen wrote:
> This patch adds binding documentation to support usb hub and usb
> data role switch of Hisilicon HiKey&HiKey960 Board.
>
> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: John Stultz <john.stultz@xxxxxxxxxx>
> Cc: Binghui Wang <wangbinghui@xxxxxxxxxxxxx>
> Signed-off-by: Yu Chen <chenyu56@xxxxxxxxxx>
> --
> v1:
> 1) Fix some format errors as suggested by Sergei.
> 2) Modify gpio description to use gpiod API.
> --
> ---
> .../bindings/misc/hisilicon-hikey-usb.txt | 36 ++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt
>
> diff --git a/Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt b/Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt
> new file mode 100644
> index 000000000000..f3413d851e18
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt
> @@ -0,0 +1,36 @@
> +Support usb hub and usb data role switch of Hisilicon HiKey&HiKey960 Board.

s/&/ & /

Some trivial comments below, but this all needs to use the USB connector
binding for the OTG and host ports and then we need to figure out how
the switching fits into that.

> +
> +-----------------------------
> +
> +Required properties:
> +- compatible: "hisilicon,gpio-hubv1","hisilicon,hikey960-usb"
> +- typc-vbus-int-gpio: gpio to control the vbus of typeC port
> +- typc-vbus-enable-val: gpio value that enable the vbus of typeC port

HiKey at least doesn't have a TypeC port.

> +- otg-gpio: gpio to switch DP&DM between the hub and typeC port
> +- hub-vdd33-en-gpio: gpio to enable the power of hub

-gpios for all these.

> +- pinctrl-0: pinctrl config
> +
> +Example
> +-----
> +
> + hisi_hikey_usb: hisi_hikey_usb {
> + compatible = "hisilicon,hikey960-usb";
> + typec-vbus-gpios = <&gpio25 2 0>;
> + typc-vbus-enable-val = <1>;
> + otg-switch-gpios = <&gpio25 6 0>;
> + hub-vdd33-en-gpios = <&gpio5 6 0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&usbhub5734_pmx_func>;
> +
> + port {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hikey_usb_ep: endpoint@0 {
> + reg = <0>;
> + device_type = "usb-role-switch";

Drop device_type.

> + remote-endpoint = <&dwc3_role_switch_notify>;
> + };
> + };
> +
> + };
> --
> 2.15.0-rc2
>