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

login
register
mail settings
Submitter Yu Chen
Date Dec. 3, 2018, 3:45 a.m.
Message ID <20181203034515.91412-4-chenyu56@huawei.com>
Download mbox | patch
Permalink /patch/670149/
State New
Headers show

Comments

Yu Chen - Dec. 3, 2018, 3:45 a.m.
This patch adds binding documentation to support usb hub and usb
data role switch of Hisilicon HiKey&HiKey960 Board.

Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Binghui Wang <wangbinghui@hisilicon.com>
Signed-off-by: Yu Chen <chenyu56@huawei.com>
--
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
Rob Herring - Dec. 19, 2018, 2:21 p.m.
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@cogentembedded.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> --
> 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
>
Yu Chen - Dec. 20, 2018, 2:02 a.m.
On 2018/12/19 22:21, Rob Herring wrote:
> 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@cogentembedded.com>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: John Stultz <john.stultz@linaro.org>
>> Cc: Binghui Wang <wangbinghui@hisilicon.com>
>> Signed-off-by: Yu Chen <chenyu56@huawei.com>
>> --
>> 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/&/ & /
> 
OK.
> 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.
>Yes. I will re-check the driver for Hikey.
>> +- 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.

OK.
> 
>> +- 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.

Currently the device_type is used for usb-role-switch match, but it
will be removed after Heikki Krogerus's patch.
> 
>> +				remote-endpoint = <&dwc3_role_switch_notify>;
>> +			};
>> +		};
>> +
>> +	};
>> -- 
>> 2.15.0-rc2
>>
> 
> .
> 
Thanks!

Patch

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.
+
+-----------------------------
+
+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
+- otg-gpio: gpio to switch DP&DM between the hub and typeC port
+- hub-vdd33-en-gpio: gpio to enable the power of hub
+- 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";
+				remote-endpoint = <&dwc3_role_switch_notify>;
+			};
+		};
+
+	};