All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Yu Chen <chenyu56@huawei.com>
Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, john.stultz@linaro.org,
	suzhuangluan@hisilicon.com, kongfei@hisilicon.com,
	liuyu712@hisilicon.com, wanghu17@hisilicon.com,
	butao@hisilicon.com, chenyao11@huawei.com,
	fangshengzhou@hisilicon.com, lipengcheng8@huawei.com,
	songxiaowei@hisilicon.com, xuyiping@hisilicon.com,
	xuyoujun4@huawei.com, yudongbin@hisilicon.com,
	zangleigang@hisilicon.com,
	Chunfeng Yun <chunfeng.yun@mediatek.com>,
	Wei Xu <xuwei5@hisilicon.com>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	Binghui Wang <wangbinghui@hisilicon.com>
Subject: [v6,13/13] dts: hi3660: Add support for usb on Hikey960
Date: Thu, 25 Apr 2019 17:00:16 -0500	[thread overview]
Message-ID: <20190425220016.GC32028@bogus> (raw)

On Sat, Apr 20, 2019 at 02:40:19PM +0800, Yu Chen wrote:
> This patch adds support for usb on Hikey960.
> 
> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
> Cc: Wei Xu <xuwei5@hisilicon.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> ---
> v2:
> * Remove device_type property.
> * Add property "usb-role-switch".
> v3:
> * Make node "usb_phy" a subnode of usb3_otg_bc register.
> * Remove property "typec-vbus-enable-val" of hisi_hikey_usb.
> v4:
> * Remove property "hisilicon,usb3-otg-bc-syscon" of usb-phy.
> ---
> ---
>  arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts | 53 ++++++++++++++++
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi         | 73 +++++++++++++++++++++++
>  2 files changed, 126 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> index e035cf195b19..d4e11c56b250 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> @@ -13,6 +13,7 @@
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/input/input.h>
>  #include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/usb/pd.h>
>  
>  / {
>  	model = "HiKey960";
> @@ -196,6 +197,26 @@
>  			method = "smc";
>  		};
>  	};
> +
> +	hisi_hikey_usb: hisi_hikey_usb {
> +		compatible = "hisilicon,hikey960_usb";
> +		typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>;
> +		otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>;
> +		hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usbhub5734_pmx_func>;
> +
> +		port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			hikey_usb_ep: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch_notify>;
> +			};
> +		};
> +	};
> +
>  };
>  
>  /*
> @@ -526,6 +547,38 @@
>  &i2c1 {
>  	status = "okay";
>  
> +	rt1711h: rt1711h@4e {
> +		compatible = "richtek,rt1711h";

The binding doc for this should state it should have a 'connector' node.

> +		reg = <0x4e>;
> +		status = "ok";

Can drop this, it is the default.

> +		interrupt-parent = <&gpio27>;
> +		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb_cfg_func>;
> +
> +		usb_con: connector {
> +			compatible = "usb-c-connector";
> +			label = "USB-C";
> +			data-role = "dual";
> +			power-role = "dual";
> +			try-power-role = "sink";
> +			source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
> +			sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)
> +				PDO_VAR(5000, 5000, 1000)>;
> +			op-sink-microwatt = <10000000>;
> +		};
> +
> +		port {

The connector node should have a 'ports' child with 'port@0' being the 
HS connection.

> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			rt1711h_ep: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch>;
> +			};
> +		};
> +	};
> +
>  	adv7533: adv7533@39 {
>  		status = "ok";
>  		compatible = "adi,adv7533";
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> index 2f19e0e5b7cf..173467505ada 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> @@ -355,6 +355,12 @@
>  			#clock-cells = <1>;
>  		};
>  
> +		pmctrl: pmctrl@fff31000 {
> +			compatible = "hisilicon,hi3660-pmctrl", "syscon";
> +			reg = <0x0 0xfff31000 0x0 0x1000>;
> +			#clock-cells = <1>;
> +		};
> +
>  		pmuctrl: crg_ctrl@fff34000 {
>  			compatible = "hisilicon,hi3660-pmuctrl", "syscon";
>  			reg = <0x0 0xfff34000 0x0 0x1000>;
> @@ -1134,5 +1140,72 @@
>  				};
>  			};
>  		};
> +
> +		usb3_otg_bc: usb3_otg_bc@ff200000 {
> +			compatible = "syscon", "simple-mfd";
> +			reg = <0x0 0xff200000 0x0 0x1000>;
> +
> +			usb_phy: usb-phy {
> +				compatible = "hisilicon,hi3660-usb-phy";
> +				#phy-cells = <0>;
> +				hisilicon,pericrg-syscon = <&crg_ctrl>;
> +				hisilicon,pctrl-syscon = <&pctrl>;
> +				hisilicon,eye-diagram-param = <0x22466e4>;
> +			};
> +		};
> +
> +		usb3: hisi_dwc3 {
> +			compatible = "hisilicon,hi3660-dwc3";
> +			#address-cells = <2>;
> +			#size-cells = <2>;
> +			ranges;

If there are not any wrapper registers, then get rid of the hisi_dwc3 
node. For just clocks and resets we just put everything in one node.

> +
> +			clocks = <&crg_ctrl HI3660_CLK_ABB_USB>,
> +				 <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
> +			clock-names = "clk_usb3phy_ref", "aclk_usb3otg";
> +
> +			assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
> +			assigned-clock-rates = <229000000>;
> +			resets = <&crg_rst 0x90 8>,
> +				 <&crg_rst 0x90 7>,
> +				 <&crg_rst 0x90 6>,
> +				 <&crg_rst 0x90 5>;
> +
> +			dwc3: dwc3@ff100000 {
> +				compatible = "snps,dwc3";
> +				reg = <0x0 0xff100000 0x0 0x100000>;
> +				interrupts = <0 159 4>, <0 161 4>;
> +				phys = <&usb_phy>;
> +				phy-names = "usb3-phy";
> +				dr_mode = "otg";
> +				maximum-speed = "super-speed";
> +				phy_type = "utmi";
> +				snps,dis-del-phy-power-chg-quirk;

> +				snps,lfps_filter_quirk;
> +				snps,dis_u2_susphy_quirk;
> +				snps,dis_u3_susphy_quirk;
> +				snps,tx_de_emphasis_quirk;
> +				snps,tx_de_emphasis = <1>;
> +				snps,dis_enblslpm_quirk;

Pretty sure these aren't documented because we don't use '_' in property 
names.

> +				snps,gctl-reset-quirk;
> +				usb-role-switch;
> +				role-switch-default-host;
> +
> +				port {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					dwc3_role_switch: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&rt1711h_ep>;
> +					};
> +
> +					dwc3_role_switch_notify: endpoint@1 {
> +						reg = <1>;
> +						remote-endpoint = <&hikey_usb_ep>;
> +					};
> +				};
> +			};
> +		};
>  	};
>  };
> -- 
> 2.15.0-rc2
>

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Yu Chen <chenyu56@huawei.com>
Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, john.stultz@linaro.org,
	suzhuangluan@hisilicon.com, kongfei@hisilicon.com,
	liuyu712@hisilicon.com, wanghu17@hisilicon.com,
	butao@hisilicon.com, chenyao11@huawei.com,
	fangshengzhou@hisilicon.com, lipengcheng8@huawei.com,
	songxiaowei@hisilicon.com, xuyiping@hisilicon.com,
	xuyoujun4@huawei.com, yudongbin@hisilicon.com,
	zangleigang@hisilicon.com,
	Chunfeng Yun <chunfeng.yun@mediatek.com>,
	Wei Xu <xuwei5@hisilicon.com>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	Binghui Wang <wangbinghui@hisilicon.com>
Subject: Re: [PATCH v6 13/13] dts: hi3660: Add support for usb on Hikey960
Date: Thu, 25 Apr 2019 17:00:16 -0500	[thread overview]
Message-ID: <20190425220016.GC32028@bogus> (raw)
Message-ID: <20190425220016.eQu7K51elA7ou5parHKJtV4R9-jKgYlG_YEFDRus57M@z> (raw)
In-Reply-To: <20190420064019.57522-14-chenyu56@huawei.com>

On Sat, Apr 20, 2019 at 02:40:19PM +0800, Yu Chen wrote:
> This patch adds support for usb on Hikey960.
> 
> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
> Cc: Wei Xu <xuwei5@hisilicon.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> ---
> v2:
> * Remove device_type property.
> * Add property "usb-role-switch".
> v3:
> * Make node "usb_phy" a subnode of usb3_otg_bc register.
> * Remove property "typec-vbus-enable-val" of hisi_hikey_usb.
> v4:
> * Remove property "hisilicon,usb3-otg-bc-syscon" of usb-phy.
> ---
> ---
>  arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts | 53 ++++++++++++++++
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi         | 73 +++++++++++++++++++++++
>  2 files changed, 126 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> index e035cf195b19..d4e11c56b250 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> @@ -13,6 +13,7 @@
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/input/input.h>
>  #include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/usb/pd.h>
>  
>  / {
>  	model = "HiKey960";
> @@ -196,6 +197,26 @@
>  			method = "smc";
>  		};
>  	};
> +
> +	hisi_hikey_usb: hisi_hikey_usb {
> +		compatible = "hisilicon,hikey960_usb";
> +		typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>;
> +		otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>;
> +		hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usbhub5734_pmx_func>;
> +
> +		port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			hikey_usb_ep: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch_notify>;
> +			};
> +		};
> +	};
> +
>  };
>  
>  /*
> @@ -526,6 +547,38 @@
>  &i2c1 {
>  	status = "okay";
>  
> +	rt1711h: rt1711h@4e {
> +		compatible = "richtek,rt1711h";

The binding doc for this should state it should have a 'connector' node.

> +		reg = <0x4e>;
> +		status = "ok";

Can drop this, it is the default.

> +		interrupt-parent = <&gpio27>;
> +		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb_cfg_func>;
> +
> +		usb_con: connector {
> +			compatible = "usb-c-connector";
> +			label = "USB-C";
> +			data-role = "dual";
> +			power-role = "dual";
> +			try-power-role = "sink";
> +			source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
> +			sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)
> +				PDO_VAR(5000, 5000, 1000)>;
> +			op-sink-microwatt = <10000000>;
> +		};
> +
> +		port {

The connector node should have a 'ports' child with 'port@0' being the 
HS connection.

> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			rt1711h_ep: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch>;
> +			};
> +		};
> +	};
> +
>  	adv7533: adv7533@39 {
>  		status = "ok";
>  		compatible = "adi,adv7533";
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> index 2f19e0e5b7cf..173467505ada 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> @@ -355,6 +355,12 @@
>  			#clock-cells = <1>;
>  		};
>  
> +		pmctrl: pmctrl@fff31000 {
> +			compatible = "hisilicon,hi3660-pmctrl", "syscon";
> +			reg = <0x0 0xfff31000 0x0 0x1000>;
> +			#clock-cells = <1>;
> +		};
> +
>  		pmuctrl: crg_ctrl@fff34000 {
>  			compatible = "hisilicon,hi3660-pmuctrl", "syscon";
>  			reg = <0x0 0xfff34000 0x0 0x1000>;
> @@ -1134,5 +1140,72 @@
>  				};
>  			};
>  		};
> +
> +		usb3_otg_bc: usb3_otg_bc@ff200000 {
> +			compatible = "syscon", "simple-mfd";
> +			reg = <0x0 0xff200000 0x0 0x1000>;
> +
> +			usb_phy: usb-phy {
> +				compatible = "hisilicon,hi3660-usb-phy";
> +				#phy-cells = <0>;
> +				hisilicon,pericrg-syscon = <&crg_ctrl>;
> +				hisilicon,pctrl-syscon = <&pctrl>;
> +				hisilicon,eye-diagram-param = <0x22466e4>;
> +			};
> +		};
> +
> +		usb3: hisi_dwc3 {
> +			compatible = "hisilicon,hi3660-dwc3";
> +			#address-cells = <2>;
> +			#size-cells = <2>;
> +			ranges;

If there are not any wrapper registers, then get rid of the hisi_dwc3 
node. For just clocks and resets we just put everything in one node.

> +
> +			clocks = <&crg_ctrl HI3660_CLK_ABB_USB>,
> +				 <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
> +			clock-names = "clk_usb3phy_ref", "aclk_usb3otg";
> +
> +			assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
> +			assigned-clock-rates = <229000000>;
> +			resets = <&crg_rst 0x90 8>,
> +				 <&crg_rst 0x90 7>,
> +				 <&crg_rst 0x90 6>,
> +				 <&crg_rst 0x90 5>;
> +
> +			dwc3: dwc3@ff100000 {
> +				compatible = "snps,dwc3";
> +				reg = <0x0 0xff100000 0x0 0x100000>;
> +				interrupts = <0 159 4>, <0 161 4>;
> +				phys = <&usb_phy>;
> +				phy-names = "usb3-phy";
> +				dr_mode = "otg";
> +				maximum-speed = "super-speed";
> +				phy_type = "utmi";
> +				snps,dis-del-phy-power-chg-quirk;

> +				snps,lfps_filter_quirk;
> +				snps,dis_u2_susphy_quirk;
> +				snps,dis_u3_susphy_quirk;
> +				snps,tx_de_emphasis_quirk;
> +				snps,tx_de_emphasis = <1>;
> +				snps,dis_enblslpm_quirk;

Pretty sure these aren't documented because we don't use '_' in property 
names.

> +				snps,gctl-reset-quirk;
> +				usb-role-switch;
> +				role-switch-default-host;
> +
> +				port {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					dwc3_role_switch: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&rt1711h_ep>;
> +					};
> +
> +					dwc3_role_switch_notify: endpoint@1 {
> +						reg = <1>;
> +						remote-endpoint = <&hikey_usb_ep>;
> +					};
> +				};
> +			};
> +		};
>  	};
>  };
> -- 
> 2.15.0-rc2
> 

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Yu Chen <chenyu56@huawei.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Binghui Wang <wangbinghui@hisilicon.com>,
	wanghu17@hisilicon.com, fangshengzhou@hisilicon.com,
	butao@hisilicon.com, xuyiping@hisilicon.com,
	zangleigang@hisilicon.com, Wei Xu <xuwei5@hisilicon.com>,
	songxiaowei@hisilicon.com,
	Chunfeng Yun <chunfeng.yun@mediatek.com>,
	liuyu712@hisilicon.com, chenyao11@huawei.com,
	devicetree@vger.kernel.org, suzhuangluan@hisilicon.com,
	xuyoujun4@huawei.com, kongfei@hisilicon.com,
	john.stultz@linaro.org, yudongbin@hisilicon.com,
	linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org, lipengcheng8@huawei.com
Subject: Re: [PATCH v6 13/13] dts: hi3660: Add support for usb on Hikey960
Date: Thu, 25 Apr 2019 17:00:16 -0500	[thread overview]
Message-ID: <20190425220016.GC32028@bogus> (raw)
In-Reply-To: <20190420064019.57522-14-chenyu56@huawei.com>

On Sat, Apr 20, 2019 at 02:40:19PM +0800, Yu Chen wrote:
> This patch adds support for usb on Hikey960.
> 
> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
> Cc: Wei Xu <xuwei5@hisilicon.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> ---
> v2:
> * Remove device_type property.
> * Add property "usb-role-switch".
> v3:
> * Make node "usb_phy" a subnode of usb3_otg_bc register.
> * Remove property "typec-vbus-enable-val" of hisi_hikey_usb.
> v4:
> * Remove property "hisilicon,usb3-otg-bc-syscon" of usb-phy.
> ---
> ---
>  arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts | 53 ++++++++++++++++
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi         | 73 +++++++++++++++++++++++
>  2 files changed, 126 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> index e035cf195b19..d4e11c56b250 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> @@ -13,6 +13,7 @@
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/input/input.h>
>  #include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/usb/pd.h>
>  
>  / {
>  	model = "HiKey960";
> @@ -196,6 +197,26 @@
>  			method = "smc";
>  		};
>  	};
> +
> +	hisi_hikey_usb: hisi_hikey_usb {
> +		compatible = "hisilicon,hikey960_usb";
> +		typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>;
> +		otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>;
> +		hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usbhub5734_pmx_func>;
> +
> +		port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			hikey_usb_ep: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch_notify>;
> +			};
> +		};
> +	};
> +
>  };
>  
>  /*
> @@ -526,6 +547,38 @@
>  &i2c1 {
>  	status = "okay";
>  
> +	rt1711h: rt1711h@4e {
> +		compatible = "richtek,rt1711h";

The binding doc for this should state it should have a 'connector' node.

> +		reg = <0x4e>;
> +		status = "ok";

Can drop this, it is the default.

> +		interrupt-parent = <&gpio27>;
> +		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb_cfg_func>;
> +
> +		usb_con: connector {
> +			compatible = "usb-c-connector";
> +			label = "USB-C";
> +			data-role = "dual";
> +			power-role = "dual";
> +			try-power-role = "sink";
> +			source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
> +			sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)
> +				PDO_VAR(5000, 5000, 1000)>;
> +			op-sink-microwatt = <10000000>;
> +		};
> +
> +		port {

The connector node should have a 'ports' child with 'port@0' being the 
HS connection.

> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			rt1711h_ep: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch>;
> +			};
> +		};
> +	};
> +
>  	adv7533: adv7533@39 {
>  		status = "ok";
>  		compatible = "adi,adv7533";
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> index 2f19e0e5b7cf..173467505ada 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
> @@ -355,6 +355,12 @@
>  			#clock-cells = <1>;
>  		};
>  
> +		pmctrl: pmctrl@fff31000 {
> +			compatible = "hisilicon,hi3660-pmctrl", "syscon";
> +			reg = <0x0 0xfff31000 0x0 0x1000>;
> +			#clock-cells = <1>;
> +		};
> +
>  		pmuctrl: crg_ctrl@fff34000 {
>  			compatible = "hisilicon,hi3660-pmuctrl", "syscon";
>  			reg = <0x0 0xfff34000 0x0 0x1000>;
> @@ -1134,5 +1140,72 @@
>  				};
>  			};
>  		};
> +
> +		usb3_otg_bc: usb3_otg_bc@ff200000 {
> +			compatible = "syscon", "simple-mfd";
> +			reg = <0x0 0xff200000 0x0 0x1000>;
> +
> +			usb_phy: usb-phy {
> +				compatible = "hisilicon,hi3660-usb-phy";
> +				#phy-cells = <0>;
> +				hisilicon,pericrg-syscon = <&crg_ctrl>;
> +				hisilicon,pctrl-syscon = <&pctrl>;
> +				hisilicon,eye-diagram-param = <0x22466e4>;
> +			};
> +		};
> +
> +		usb3: hisi_dwc3 {
> +			compatible = "hisilicon,hi3660-dwc3";
> +			#address-cells = <2>;
> +			#size-cells = <2>;
> +			ranges;

If there are not any wrapper registers, then get rid of the hisi_dwc3 
node. For just clocks and resets we just put everything in one node.

> +
> +			clocks = <&crg_ctrl HI3660_CLK_ABB_USB>,
> +				 <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
> +			clock-names = "clk_usb3phy_ref", "aclk_usb3otg";
> +
> +			assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
> +			assigned-clock-rates = <229000000>;
> +			resets = <&crg_rst 0x90 8>,
> +				 <&crg_rst 0x90 7>,
> +				 <&crg_rst 0x90 6>,
> +				 <&crg_rst 0x90 5>;
> +
> +			dwc3: dwc3@ff100000 {
> +				compatible = "snps,dwc3";
> +				reg = <0x0 0xff100000 0x0 0x100000>;
> +				interrupts = <0 159 4>, <0 161 4>;
> +				phys = <&usb_phy>;
> +				phy-names = "usb3-phy";
> +				dr_mode = "otg";
> +				maximum-speed = "super-speed";
> +				phy_type = "utmi";
> +				snps,dis-del-phy-power-chg-quirk;

> +				snps,lfps_filter_quirk;
> +				snps,dis_u2_susphy_quirk;
> +				snps,dis_u3_susphy_quirk;
> +				snps,tx_de_emphasis_quirk;
> +				snps,tx_de_emphasis = <1>;
> +				snps,dis_enblslpm_quirk;

Pretty sure these aren't documented because we don't use '_' in property 
names.

> +				snps,gctl-reset-quirk;
> +				usb-role-switch;
> +				role-switch-default-host;
> +
> +				port {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					dwc3_role_switch: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&rt1711h_ep>;
> +					};
> +
> +					dwc3_role_switch_notify: endpoint@1 {
> +						reg = <1>;
> +						remote-endpoint = <&hikey_usb_ep>;
> +					};
> +				};
> +			};
> +		};
>  	};
>  };
> -- 
> 2.15.0-rc2
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2019-04-25 22:00 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-25 22:00 Rob Herring [this message]
2019-04-25 22:00 ` [PATCH v6 13/13] dts: hi3660: Add support for usb on Hikey960 Rob Herring
2019-04-25 22:00 ` Rob Herring
  -- strict thread matches above, loose matches on Subject: below --
2019-05-02  5:44 [v6,13/13] " shufan_lee(李書帆)
2019-05-02  5:44 ` [PATCH v6 13/13] " shufan_lee(李書帆)
2019-05-02  5:44 ` shufan_lee(李書帆)
2019-05-02  5:44 ` shufan_lee(李書帆)
2019-05-01 16:27 [v6,02/13] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Rob Herring
2019-05-01 16:27 ` [PATCH v6 02/13] " Rob Herring
2019-04-30  7:15 [v6,13/13] dts: hi3660: Add support for usb on Hikey960 Yu Chen
2019-04-30  7:15 ` [PATCH v6 13/13] " Chen Yu
2019-04-30  7:15 ` Chen Yu
2019-04-30  6:07 [v6,02/13] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Yu Chen
2019-04-30  6:07 ` [PATCH v6 02/13] " Chen Yu
2019-04-30  6:07 ` Chen Yu
2019-04-25 21:36 [v6,03/13] usb: dwc3: dwc3-of-simple: Add support for dwc3 of Hisilicon Soc Platform Rob Herring
2019-04-25 21:36 ` [PATCH v6 03/13] " Rob Herring
2019-04-25 21:35 [v6,02/13] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Rob Herring
2019-04-25 21:35 ` [PATCH v6 02/13] " Rob Herring
2019-04-20  6:40 [v6,13/13] dts: hi3660: Add support for usb on Hikey960 Yu Chen
2019-04-20  6:40 ` [PATCH v6 13/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,12/13] usb: gadget: Add configfs attribuite for controling match_existing_only Yu Chen
2019-04-20  6:40 ` [PATCH v6 12/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,11/13] hikey960: Support usb functionality of Hikey960 Yu Chen
2019-04-20  6:40 ` [PATCH v6 11/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,10/13] usb: dwc3: Registering a role switch in the DRD code Yu Chen
2019-04-20  6:40 ` [PATCH v6 10/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,09/13] usb: roles: Add usb role switch notifier Yu Chen
2019-04-20  6:40 ` [PATCH v6 09/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,08/13] usb: roles: Introduce stubs for the exiting functions in role.h Yu Chen
2019-04-20  6:40 ` [PATCH v6 08/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,07/13] phy: Add usb phy support for hi3660 Soc of Hisilicon Yu Chen
2019-04-20  6:40 ` [PATCH v6 07/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,06/13] usb: dwc3: Increase timeout for CmdAct cleared by device controller Yu Chen
2019-04-20  6:40 ` [PATCH v6 06/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,05/13] usb: dwc3: Execute GCTL Core Soft Reset while switch mdoe for Hisilicon Kirin Soc Yu Chen
2019-04-20  6:40 ` [PATCH v6 05/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,03/13] usb: dwc3: dwc3-of-simple: Add support for dwc3 of Hisilicon Soc Platform Yu Chen
2019-04-20  6:40 ` [PATCH v6 03/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,02/13] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Yu Chen
2019-04-20  6:40 ` [PATCH v6 02/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [v6,01/13] dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY Yu Chen
2019-04-20  6:40 ` [PATCH v6 01/13] " Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 [PATCH v6 00/13] Add support for usb on Hikey960 Yu Chen
2019-04-20  6:40 ` Yu Chen
2019-04-20  6:40 ` [v6,04/13] usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc Yu Chen
2019-04-20  6:40   ` [PATCH v6 04/13] " Yu Chen
2019-04-20  6:40   ` Yu Chen
2020-09-07 13:06   ` Mauro Carvalho Chehab
2020-09-07 14:04     ` Felipe Balbi
2020-09-07 14:50       ` Mauro Carvalho Chehab
2020-09-08  6:09         ` Felipe Balbi
2020-09-08  6:49           ` Mauro Carvalho Chehab
2020-09-08 17:40           ` Thinh Nguyen
2020-09-08  6:42       ` Mauro Carvalho Chehab
2019-04-29 15:42 ` [PATCH v6 00/13] Add support for usb on Hikey960 Valentin Schneider

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=20190425220016.GC32028@bogus \
    --to=robh@kernel.org \
    --cc=butao@hisilicon.com \
    --cc=chenyao11@huawei.com \
    --cc=chenyu56@huawei.com \
    --cc=chunfeng.yun@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=fangshengzhou@hisilicon.com \
    --cc=john.stultz@linaro.org \
    --cc=kongfei@hisilicon.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lipengcheng8@huawei.com \
    --cc=liuyu712@hisilicon.com \
    --cc=mark.rutland@arm.com \
    --cc=songxiaowei@hisilicon.com \
    --cc=suzhuangluan@hisilicon.com \
    --cc=wangbinghui@hisilicon.com \
    --cc=wanghu17@hisilicon.com \
    --cc=xuwei5@hisilicon.com \
    --cc=xuyiping@hisilicon.com \
    --cc=xuyoujun4@huawei.com \
    --cc=yudongbin@hisilicon.com \
    --cc=zangleigang@hisilicon.com \
    /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.