All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <michal.simek@xilinx.com>
To: Michael Tretter <m.tretter@pengutronix.de>,
	Michal Simek <michal.simek@xilinx.com>
Cc: <linux-kernel@vger.kernel.org>, <monstr@monstr.eu>,
	<git@xilinx.com>, Viresh Kumar <viresh.kumar@linaro.org>,
	Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Quanyang Wang <quanyang.wang@windriver.com>,
	Rob Herring <robh+dt@kernel.org>, <devicetree@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>, <kernel@pengutronix.de>
Subject: Re: [PATCH v2 31/33] arm64: zynqmp: Enable xlnx, zynqmp-dwc3 driver for xilinx boards
Date: Wed, 16 Jun 2021 12:24:53 +0200	[thread overview]
Message-ID: <f365e23b-7f3f-b9f7-8f1b-9d539f431403@xilinx.com> (raw)
In-Reply-To: <20210616100704.GH22530@pengutronix.de>



On 6/16/21 12:07 PM, Michael Tretter wrote:
> On Mon, 14 Jun 2021 17:25:39 +0200, Michal Simek wrote:
>> The commit 84770f028fab ("usb: dwc3: Add driver for Xilinx platforms")
>> finally add proper support for Xilinx dwc3 driver. This patch is adding DT
>> description for it.
>>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>> ---
>>
>> Changes in v2:
>> - New patch in the series
>>
>>  .../dts/xilinx/zynqmp-zc1751-xm015-dc1.dts    |  6 ++
>>  .../dts/xilinx/zynqmp-zc1751-xm016-dc2.dts    |  7 ++
>>  .../dts/xilinx/zynqmp-zc1751-xm017-dc3.dts    | 14 ++++
>>  .../boot/dts/xilinx/zynqmp-zcu100-revC.dts    | 10 +++
>>  .../boot/dts/xilinx/zynqmp-zcu102-revA.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu104-revA.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu104-revC.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu106-revA.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu111-revA.dts    |  6 ++
>>  arch/arm64/boot/dts/xilinx/zynqmp.dtsi        | 70 +++++++++++++++----
>>  10 files changed, 124 insertions(+), 13 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
>> index d78439e891b9..c1cedc92e017 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
>> @@ -27,6 +27,7 @@ aliases {
>>  		rtc0 = &rtc;
>>  		serial0 = &uart0;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -404,7 +405,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
>> index cd61550c52e5..938b76bd0527 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
>> @@ -26,6 +26,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		spi0 = &spi0;
>>  		spi1 = &spi1;
>> +		usb0 = &usb1;
>>  	};
>>  
>>  	chosen {
>> @@ -479,7 +480,13 @@ &usb1 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb1_default>;
>> +};
>> +
>> +&dwc3_1 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>> +	maximum-speed = "super-speed";
>>  };
>>  
>>  &uart0 {
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
>> index ba7f1f21c579..4394ec3b6a23 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
>> @@ -24,6 +24,8 @@ aliases {
>>  		rtc0 = &rtc;
>>  		serial0 = &uart0;
>>  		serial1 = &uart1;
>> +		usb0 = &usb0;
>> +		usb1 = &usb1;
>>  	};
>>  
>>  	chosen {
>> @@ -147,11 +149,23 @@ &uart1 {
>>  
>>  &usb0 {
>>  	status = "okay";
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>> +	maximum-speed = "super-speed";
>>  };
>>  
>>  /* ULPI SMSC USB3320 */
>>  &usb1 {
>>  	status = "okay";
>> +};
>> +
>> +&dwc3_1 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>> +	maximum-speed = "super-speed";
>>  };
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
>> index 80415e202814..6d32bfac48b5 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
>> @@ -30,6 +30,8 @@ aliases {
>>  		serial2 = &dcc;
>>  		spi0 = &spi0;
>>  		spi1 = &spi1;
>> +		usb0 = &usb0;
>> +		usb1 = &usb1;
>>  		mmc0 = &sdhci0;
>>  		mmc1 = &sdhci1;
>>  	};
>> @@ -537,6 +539,10 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "peripheral";
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
>> @@ -548,6 +554,10 @@ &usb1 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb1_default>;
>> +};
>> +
>> +&dwc3_1 {
>> +	status = "okay";
>>  	dr_mode = "host";
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
>> index becfc23a5610..b17677378ab5 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
>> @@ -31,6 +31,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -998,7 +999,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
>> index 86fff3632c7d..fb7a9f7907d9 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
>> @@ -29,6 +29,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -481,7 +482,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts
>> index 2a872d439804..afc9b200a59b 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts
>> @@ -29,6 +29,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -493,7 +494,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
>> index d2219373580a..793740cbd791 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
>> @@ -31,6 +31,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -991,7 +992,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
>> index dac5ba67a160..a245250970c8 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
>> @@ -30,6 +30,7 @@ aliases {
>>  		serial0 = &uart0;
>>  		serial1 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -828,7 +829,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
>> index 6f0fcec28ae2..731b2d170344 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
>> @@ -2,7 +2,7 @@
>>  /*
>>   * dts file for Xilinx ZynqMP
>>   *
>> - * (C) Copyright 2014 - 2019, Xilinx, Inc.
>> + * (C) Copyright 2014 - 2021, Xilinx, Inc.
>>   *
>>   * Michal Simek <michal.simek@xilinx.com>
>>   *
>> @@ -805,24 +805,68 @@ uart1: serial@ff010000 {
>>  			power-domains = <&zynqmp_firmware PD_UART_1>;
>>  		};
>>  
>> -		usb0: usb@fe200000 {
>> -			compatible = "snps,dwc3";
>> +		usb0: usb0@ff9d0000 {
> 
> usb@ff9d0000

I spot it myself too. Will fix in next version.

> 
>> +			#address-cells = <2>;
>> +			#size-cells = <2>;
>>  			status = "disabled";
>> -			interrupt-parent = <&gic>;
>> -			interrupts = <0 65 4>;
>> -			reg = <0x0 0xfe200000 0x0 0x40000>;
>> -			clock-names = "clk_xin", "clk_ahb";
>> +			compatible = "xlnx,zynqmp-dwc3";
>> +			reg = <0x0 0xff9d0000 0x0 0x100>;
>> +			clock-names = "bus_clk", "ref_clk";
>>  			power-domains = <&zynqmp_firmware PD_USB_0>;
>> +			resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
>> +				 <&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
>> +				 <&zynqmp_reset ZYNQMP_RESET_USB0_APB>;
>> +			reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
>> +			ranges;
>> +
>> +			dwc3_0: usb@fe200000 {
>> +				compatible = "snps,dwc3";
>> +				status = "disabled";
> 
> I think it would be better to drop the status from dwc3_0, since it is a child
> node of the already disabled usb0 node. With the current change, the board dts
> has to enable usb0 and dwc3_0 to enable usb support, which is kind of
> unexpected.

I don't think we have a choice here. I know it is not the best but even
when we remove this property from here you need to align board dts to
match it.
You need to move for example dr_mode to &dwc3_0 and not keeping it in &usb0.
Please correct me if I am wrong here.

> 
>> +				reg = <0x0 0xfe200000 0x0 0x40000>;
>> +				interrupt-parent = <&gic>;
>> +				interrupt-names = "dwc_usb3", "otg";
>> +				interrupts = <0 65 4>, <0 69 4>;
>> +				#stream-id-cells = <1>;
>> +				iommus = <&smmu 0x860>;
>> +				snps,quirk-frame-length-adjustment = <0x20>;
>> +				snps,refclk_fladj;
>> +				snps,enable_guctl1_resume_quirk;
>> +				snps,enable_guctl1_ipd_quirk;
>> +				snps,xhci-stream-quirk;
> 
> The last four properties for snps are not documented (and not used by the
> driver).

I missed this - will remove it also for second instance.

Thanks,
Michal

WARNING: multiple messages have this Message-ID (diff)
From: Michal Simek <michal.simek@xilinx.com>
To: Michael Tretter <m.tretter@pengutronix.de>,
	Michal Simek <michal.simek@xilinx.com>
Cc: <linux-kernel@vger.kernel.org>, <monstr@monstr.eu>,
	<git@xilinx.com>, Viresh Kumar <viresh.kumar@linaro.org>,
	Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Quanyang Wang <quanyang.wang@windriver.com>,
	Rob Herring <robh+dt@kernel.org>, <devicetree@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>, <kernel@pengutronix.de>
Subject: Re: [PATCH v2 31/33] arm64: zynqmp: Enable xlnx, zynqmp-dwc3 driver for xilinx boards
Date: Wed, 16 Jun 2021 12:24:53 +0200	[thread overview]
Message-ID: <f365e23b-7f3f-b9f7-8f1b-9d539f431403@xilinx.com> (raw)
In-Reply-To: <20210616100704.GH22530@pengutronix.de>



On 6/16/21 12:07 PM, Michael Tretter wrote:
> On Mon, 14 Jun 2021 17:25:39 +0200, Michal Simek wrote:
>> The commit 84770f028fab ("usb: dwc3: Add driver for Xilinx platforms")
>> finally add proper support for Xilinx dwc3 driver. This patch is adding DT
>> description for it.
>>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>> ---
>>
>> Changes in v2:
>> - New patch in the series
>>
>>  .../dts/xilinx/zynqmp-zc1751-xm015-dc1.dts    |  6 ++
>>  .../dts/xilinx/zynqmp-zc1751-xm016-dc2.dts    |  7 ++
>>  .../dts/xilinx/zynqmp-zc1751-xm017-dc3.dts    | 14 ++++
>>  .../boot/dts/xilinx/zynqmp-zcu100-revC.dts    | 10 +++
>>  .../boot/dts/xilinx/zynqmp-zcu102-revA.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu104-revA.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu104-revC.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu106-revA.dts    |  6 ++
>>  .../boot/dts/xilinx/zynqmp-zcu111-revA.dts    |  6 ++
>>  arch/arm64/boot/dts/xilinx/zynqmp.dtsi        | 70 +++++++++++++++----
>>  10 files changed, 124 insertions(+), 13 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
>> index d78439e891b9..c1cedc92e017 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
>> @@ -27,6 +27,7 @@ aliases {
>>  		rtc0 = &rtc;
>>  		serial0 = &uart0;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -404,7 +405,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
>> index cd61550c52e5..938b76bd0527 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
>> @@ -26,6 +26,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		spi0 = &spi0;
>>  		spi1 = &spi1;
>> +		usb0 = &usb1;
>>  	};
>>  
>>  	chosen {
>> @@ -479,7 +480,13 @@ &usb1 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb1_default>;
>> +};
>> +
>> +&dwc3_1 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>> +	maximum-speed = "super-speed";
>>  };
>>  
>>  &uart0 {
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
>> index ba7f1f21c579..4394ec3b6a23 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
>> @@ -24,6 +24,8 @@ aliases {
>>  		rtc0 = &rtc;
>>  		serial0 = &uart0;
>>  		serial1 = &uart1;
>> +		usb0 = &usb0;
>> +		usb1 = &usb1;
>>  	};
>>  
>>  	chosen {
>> @@ -147,11 +149,23 @@ &uart1 {
>>  
>>  &usb0 {
>>  	status = "okay";
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>> +	maximum-speed = "super-speed";
>>  };
>>  
>>  /* ULPI SMSC USB3320 */
>>  &usb1 {
>>  	status = "okay";
>> +};
>> +
>> +&dwc3_1 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>> +	maximum-speed = "super-speed";
>>  };
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
>> index 80415e202814..6d32bfac48b5 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
>> @@ -30,6 +30,8 @@ aliases {
>>  		serial2 = &dcc;
>>  		spi0 = &spi0;
>>  		spi1 = &spi1;
>> +		usb0 = &usb0;
>> +		usb1 = &usb1;
>>  		mmc0 = &sdhci0;
>>  		mmc1 = &sdhci1;
>>  	};
>> @@ -537,6 +539,10 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "peripheral";
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
>> @@ -548,6 +554,10 @@ &usb1 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb1_default>;
>> +};
>> +
>> +&dwc3_1 {
>> +	status = "okay";
>>  	dr_mode = "host";
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
>> index becfc23a5610..b17677378ab5 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
>> @@ -31,6 +31,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -998,7 +999,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
>> index 86fff3632c7d..fb7a9f7907d9 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
>> @@ -29,6 +29,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -481,7 +482,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts
>> index 2a872d439804..afc9b200a59b 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revC.dts
>> @@ -29,6 +29,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -493,7 +494,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
>> index d2219373580a..793740cbd791 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
>> @@ -31,6 +31,7 @@ aliases {
>>  		serial1 = &uart1;
>>  		serial2 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -991,7 +992,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
>> index dac5ba67a160..a245250970c8 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
>> @@ -30,6 +30,7 @@ aliases {
>>  		serial0 = &uart0;
>>  		serial1 = &dcc;
>>  		spi0 = &qspi;
>> +		usb0 = &usb0;
>>  	};
>>  
>>  	chosen {
>> @@ -828,7 +829,12 @@ &usb0 {
>>  	status = "okay";
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&pinctrl_usb0_default>;
>> +};
>> +
>> +&dwc3_0 {
>> +	status = "okay";
>>  	dr_mode = "host";
>> +	snps,usb3_lpm_capable;
>>  	phy-names = "usb3-phy";
>>  	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
>>  	maximum-speed = "super-speed";
>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
>> index 6f0fcec28ae2..731b2d170344 100644
>> --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
>> @@ -2,7 +2,7 @@
>>  /*
>>   * dts file for Xilinx ZynqMP
>>   *
>> - * (C) Copyright 2014 - 2019, Xilinx, Inc.
>> + * (C) Copyright 2014 - 2021, Xilinx, Inc.
>>   *
>>   * Michal Simek <michal.simek@xilinx.com>
>>   *
>> @@ -805,24 +805,68 @@ uart1: serial@ff010000 {
>>  			power-domains = <&zynqmp_firmware PD_UART_1>;
>>  		};
>>  
>> -		usb0: usb@fe200000 {
>> -			compatible = "snps,dwc3";
>> +		usb0: usb0@ff9d0000 {
> 
> usb@ff9d0000

I spot it myself too. Will fix in next version.

> 
>> +			#address-cells = <2>;
>> +			#size-cells = <2>;
>>  			status = "disabled";
>> -			interrupt-parent = <&gic>;
>> -			interrupts = <0 65 4>;
>> -			reg = <0x0 0xfe200000 0x0 0x40000>;
>> -			clock-names = "clk_xin", "clk_ahb";
>> +			compatible = "xlnx,zynqmp-dwc3";
>> +			reg = <0x0 0xff9d0000 0x0 0x100>;
>> +			clock-names = "bus_clk", "ref_clk";
>>  			power-domains = <&zynqmp_firmware PD_USB_0>;
>> +			resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
>> +				 <&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
>> +				 <&zynqmp_reset ZYNQMP_RESET_USB0_APB>;
>> +			reset-names = "usb_crst", "usb_hibrst", "usb_apbrst";
>> +			ranges;
>> +
>> +			dwc3_0: usb@fe200000 {
>> +				compatible = "snps,dwc3";
>> +				status = "disabled";
> 
> I think it would be better to drop the status from dwc3_0, since it is a child
> node of the already disabled usb0 node. With the current change, the board dts
> has to enable usb0 and dwc3_0 to enable usb support, which is kind of
> unexpected.

I don't think we have a choice here. I know it is not the best but even
when we remove this property from here you need to align board dts to
match it.
You need to move for example dr_mode to &dwc3_0 and not keeping it in &usb0.
Please correct me if I am wrong here.

> 
>> +				reg = <0x0 0xfe200000 0x0 0x40000>;
>> +				interrupt-parent = <&gic>;
>> +				interrupt-names = "dwc_usb3", "otg";
>> +				interrupts = <0 65 4>, <0 69 4>;
>> +				#stream-id-cells = <1>;
>> +				iommus = <&smmu 0x860>;
>> +				snps,quirk-frame-length-adjustment = <0x20>;
>> +				snps,refclk_fladj;
>> +				snps,enable_guctl1_resume_quirk;
>> +				snps,enable_guctl1_ipd_quirk;
>> +				snps,xhci-stream-quirk;
> 
> The last four properties for snps are not documented (and not used by the
> driver).

I missed this - will remove it also for second instance.

Thanks,
Michal

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

  reply	other threads:[~2021-06-16 10:25 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-14 15:25 [PATCH v2 00/33] arm64: zynqmp: Extend board description Michal Simek
2021-06-14 15:25 ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 01/33] arm64: zynqmp: Disable CCI by default Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 02/33] arm64: zynqmp: Do not duplicate flash partition label property Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 03/33] arm64: zynqmp: Enable fpd_dma for zcu104 platforms Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 04/33] arm64: zynqmp: Fix irps5401 device nodes Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 05/33] arm64: zynqmp: Add pinctrl description for all boards Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 06/33] arm64: zynqmp: Correct zcu111 psgtr description Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 07/33] arm64: zynqmp: Wire psgtr for zc1751-xm015 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 08/33] arm64: zynqmp: Correct psgtr description for zcu100-revC Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 09/33] arm64: zynqmp: Add phy description for usb3.0 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 10/33] arm64: zynqmp: Disable WP on zcu111 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 11/33] arm64: zynqmp: Add missing SMID for pcie to zynqmp.dtsi Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 12/33] arm64: zynqmp: Add missing mio-bank properties to dc1 and dc5 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 13/33] arm64: zynqmp: Wire DP and DPDMA for dc1/dc4 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 14/33] arm64: zynqmp: Enable nand driver for dc2 and dc3 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 15/33] arm64: zynqmp: Remove additional newline Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 16/33] arm64: zynqmp: Move clock node to zynqmp-clk-ccf.dtsi Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 17/33] arm64: zynqmp: Add nvmem alises for eeproms Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 18/33] arm64: zynqmp: List reset property for ethernet phy Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 19/33] arm64: zynqmp: Add reset-on-timeout to all boards and modify default timeout value Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 20/33] arm64: zynqmp: Remove can aliases from zc1751 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 21/33] arm64: zynqmp: Move DP nodes to the end of file on zcu106 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 22/33] arm64: zynqmp: Add note about UHS mode on some boards Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 23/33] arm64: zynqmp: Update rtc calibration value Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 24/33] arm64: zynqmp: Remove information about dma clock on zcu106 Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 25/33] arm64: zynqmp: Wire qspi on multiple boards Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 26/33] arm64: zynqmp: Move rtc to different location on zcu104-revA Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 27/33] arm64: zynqmp: Add reset description for sata Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 28/33] arm64: zynqmp: Sync psgtr node location with zcu104-revA Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 29/33] arm64: zynqmp: Remove description for 8T49N287 and si5382 chips Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 30/33] arm64: zynqmp: Add support for zcu102-rev1.1 board Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-24 20:29   ` Rob Herring
2021-06-24 20:29     ` Rob Herring
2021-06-14 15:25 ` [PATCH v2 31/33] arm64: zynqmp: Enable xlnx,zynqmp-dwc3 driver for xilinx boards Michal Simek
2021-06-14 15:25   ` [PATCH v2 31/33] arm64: zynqmp: Enable xlnx, zynqmp-dwc3 " Michal Simek
2021-06-16 10:07   ` Michael Tretter
2021-06-16 10:07     ` Michael Tretter
2021-06-16 10:24     ` Michal Simek [this message]
2021-06-16 10:24       ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 32/33] arm64: zynqmp: Add psgtr description to zc1751 dc1 board Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-14 15:25 ` [PATCH v2 33/33] arm64: zynqmp: Add support for Xilinx Kria SOM board Michal Simek
2021-06-14 15:25   ` Michal Simek
2021-06-24 20:36   ` Rob Herring
2021-06-24 20:36     ` Rob Herring
2021-06-25  8:58     ` Michal Simek
2021-06-25  8:58       ` Michal Simek
2021-08-06  8:23 ` [PATCH v2 00/33] arm64: zynqmp: Extend board description Michal Simek
2021-08-06  8:23   ` Michal Simek

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=f365e23b-7f3f-b9f7-8f1b-9d539f431403@xilinx.com \
    --to=michal.simek@xilinx.com \
    --cc=amit.kumar-mahapatra@xilinx.com \
    --cc=devicetree@vger.kernel.org \
    --cc=git@xilinx.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.tretter@pengutronix.de \
    --cc=monstr@monstr.eu \
    --cc=quanyang.wang@windriver.com \
    --cc=robh+dt@kernel.org \
    --cc=viresh.kumar@linaro.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.