diff mbox

ARM: dts: keystone: specify usb mode explicitly

Message ID 20160628094245.9521-1-grygorii.strashko@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Grygorii Strashko June 28, 2016, 9:42 a.m. UTC
The USB OTG mode is not supported by Kestone 2 devices, as result, the
USB devices enumeration and detection will not work properly when
kernel is built with CONFIG_USB_DWC3_DUAL_ROLE=y (default for multi
platform build):
 - it's required to load gadget drivers manually to make host mode
work and this confuses current Keystone 2 users
 - device mode is not working, because port can't detect and switch to
peripheral/host mode dynamically.

Hence, specify usb mode explicitly in DT: usb0 = "host" for all KS2
devices and usb1 = "peripheral" for K2E.

Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Roger Quadros <rogerq@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 arch/arm/boot/dts/keystone-k2e-evm.dts  | 12 ++++++++++--
 arch/arm/boot/dts/keystone-k2e.dtsi     |  4 ++--
 arch/arm/boot/dts/keystone-k2hk-evm.dts |  6 +++++-
 arch/arm/boot/dts/keystone-k2l-evm.dts  |  6 +++++-
 arch/arm/boot/dts/keystone.dtsi         |  4 ++--
 5 files changed, 24 insertions(+), 8 deletions(-)

Comments

Grygorii Strashko July 18, 2016, 5:45 p.m. UTC | #1
Hi Santosh,
On 06/28/2016 12:42 PM, Grygorii Strashko wrote:
> The USB OTG mode is not supported by Kestone 2 devices, as result, the
> USB devices enumeration and detection will not work properly when
> kernel is built with CONFIG_USB_DWC3_DUAL_ROLE=y (default for multi
> platform build):
>   - it's required to load gadget drivers manually to make host mode
> work and this confuses current Keystone 2 users
>   - device mode is not working, because port can't detect and switch to
> peripheral/host mode dynamically.
>
> Hence, specify usb mode explicitly in DT: usb0 = "host" for all KS2
> devices and usb1 = "peripheral" for K2E.
>
> Cc: Sekhar Nori <nsekhar@ti.com>
> Cc: Roger Quadros <rogerq@ti.com>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

Do you expect any additional actions from my side relate to this patch?

> ---
>   arch/arm/boot/dts/keystone-k2e-evm.dts  | 12 ++++++++++--
>   arch/arm/boot/dts/keystone-k2e.dtsi     |  4 ++--
>   arch/arm/boot/dts/keystone-k2hk-evm.dts |  6 +++++-
>   arch/arm/boot/dts/keystone-k2l-evm.dts  |  6 +++++-
>   arch/arm/boot/dts/keystone.dtsi         |  4 ++--
>   5 files changed, 24 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/boot/dts/keystone-k2e-evm.dts b/arch/arm/boot/dts/keystone-k2e-evm.dts
> index 4c32ebc..ae1ebe7 100644
> --- a/arch/arm/boot/dts/keystone-k2e-evm.dts
> +++ b/arch/arm/boot/dts/keystone-k2e-evm.dts
> @@ -47,18 +47,26 @@
>   	status = "okay";
>   };
>
> -&usb {
> +&keystone_usb0 {
>   	status = "okay";
>   };
>
> +&usb0 {
> +	dr_mode = "host";
> +};
> +
>   &usb1_phy {
>   	status = "okay";
>   };
>
> -&usb1 {
> +&keystone_usb1 {
>   	status = "okay";
>   };
>
> +&usb1 {
> +	dr_mode = "peripheral";
> +};
> +
>   &i2c0 {
>   	dtt@50 {
>   		compatible = "at,24c1024";
> diff --git a/arch/arm/boot/dts/keystone-k2e.dtsi b/arch/arm/boot/dts/keystone-k2e.dtsi
> index 96b349f..3540a1d 100644
> --- a/arch/arm/boot/dts/keystone-k2e.dtsi
> +++ b/arch/arm/boot/dts/keystone-k2e.dtsi
> @@ -61,7 +61,7 @@
>   			status = "disabled";
>   		};
>
> -		usb1: usb@25000000 {
> +		keystone_usb1: usb@25000000 {
>   			compatible = "ti,keystone-dwc3";
>   			#address-cells = <1>;
>   			#size-cells = <1>;
> @@ -74,7 +74,7 @@
>   			dma-ranges;
>   			status = "disabled";
>
> -			dwc3@25010000 {
> +			usb1: dwc3@25010000 {
>   				compatible = "synopsys,dwc3";
>   				reg = <0x25010000 0x70000>;
>   				interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>;
> diff --git a/arch/arm/boot/dts/keystone-k2hk-evm.dts b/arch/arm/boot/dts/keystone-k2hk-evm.dts
> index b38b344..2156ff9 100644
> --- a/arch/arm/boot/dts/keystone-k2hk-evm.dts
> +++ b/arch/arm/boot/dts/keystone-k2hk-evm.dts
> @@ -83,10 +83,14 @@
>   	status = "okay";
>   };
>
> -&usb {
> +&keystone_usb0 {
>   	status = "okay";
>   };
>
> +&usb0 {
> +	dr_mode = "host";
> +};
> +
>   &aemif {
>   	cs0 {
>   		#address-cells = <2>;
> diff --git a/arch/arm/boot/dts/keystone-k2l-evm.dts b/arch/arm/boot/dts/keystone-k2l-evm.dts
> index 7f9c2e9..056b42f 100644
> --- a/arch/arm/boot/dts/keystone-k2l-evm.dts
> +++ b/arch/arm/boot/dts/keystone-k2l-evm.dts
> @@ -32,10 +32,14 @@
>   	status = "okay";
>   };
>
> -&usb {
> +&keystone_usb0 {
>   	status = "okay";
>   };
>
> +&usb0 {
> +	dr_mode = "host";
> +};
> +
>   &i2c0 {
>   	dtt@50 {
>   		compatible = "at,24c1024";
> diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
> index e34b226..96c9943 100644
> --- a/arch/arm/boot/dts/keystone.dtsi
> +++ b/arch/arm/boot/dts/keystone.dtsi
> @@ -188,7 +188,7 @@
>   			status = "disabled";
>   		};
>
> -		usb: usb@2680000 {
> +		keystone_usb0: usb@2680000 {
>   			compatible = "ti,keystone-dwc3";
>   			#address-cells = <1>;
>   			#size-cells = <1>;
> @@ -201,7 +201,7 @@
>   			dma-ranges;
>   			status = "disabled";
>
> -			dwc3@2690000 {
> +			usb0: dwc3@2690000 {
>   				compatible = "synopsys,dwc3";
>   				reg = <0x2690000 0x70000>;
>   				interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
>
Santosh Shilimkar July 18, 2016, 5:49 p.m. UTC | #2
On 7/18/2016 10:45 AM, Grygorii Strashko wrote:
> Hi Santosh,
> On 06/28/2016 12:42 PM, Grygorii Strashko wrote:
>> The USB OTG mode is not supported by Kestone 2 devices, as result, the
>> USB devices enumeration and detection will not work properly when
>> kernel is built with CONFIG_USB_DWC3_DUAL_ROLE=y (default for multi
>> platform build):
>>   - it's required to load gadget drivers manually to make host mode
>> work and this confuses current Keystone 2 users
>>   - device mode is not working, because port can't detect and switch to
>> peripheral/host mode dynamically.
>>
>> Hence, specify usb mode explicitly in DT: usb0 = "host" for all KS2
>> devices and usb1 = "peripheral" for K2E.
>>
>> Cc: Sekhar Nori <nsekhar@ti.com>
>> Cc: Roger Quadros <rogerq@ti.com>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>
> Do you expect any additional actions from my side relate to this patch?
>
Nope. I will pick this up though it has to wait for next merge window
now.

Regards,
Santosh
Grygorii Strashko Aug. 25, 2016, 2:11 p.m. UTC | #3
Hi Santosh,

On 07/18/2016 08:49 PM, Santosh Shilimkar wrote:
> On 7/18/2016 10:45 AM, Grygorii Strashko wrote:
>> Hi Santosh,
>> On 06/28/2016 12:42 PM, Grygorii Strashko wrote:
>>> The USB OTG mode is not supported by Kestone 2 devices, as result, the
>>> USB devices enumeration and detection will not work properly when
>>> kernel is built with CONFIG_USB_DWC3_DUAL_ROLE=y (default for multi
>>> platform build):
>>>   - it's required to load gadget drivers manually to make host mode
>>> work and this confuses current Keystone 2 users
>>>   - device mode is not working, because port can't detect and switch to
>>> peripheral/host mode dynamically.
>>>
>>> Hence, specify usb mode explicitly in DT: usb0 = "host" for all KS2
>>> devices and usb1 = "peripheral" for K2E.
>>>
>>> Cc: Sekhar Nori <nsekhar@ti.com>
>>> Cc: Roger Quadros <rogerq@ti.com>
>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>>
>> Do you expect any additional actions from my side relate to this patch?
>>
> Nope. I will pick this up though it has to wait for next merge window
> now.

I'd like to remind you about this patch. 
Would you like me to resend it ?
(I've checked - it can be applied as is on top master and next/master without issues)
Santosh Shilimkar Aug. 25, 2016, 4:31 p.m. UTC | #4
On 8/25/2016 7:11 AM, Grygorii Strashko wrote:
> Hi Santosh,
>
> On 07/18/2016 08:49 PM, Santosh Shilimkar wrote:
>> On 7/18/2016 10:45 AM, Grygorii Strashko wrote:
>>> Hi Santosh,
>>> On 06/28/2016 12:42 PM, Grygorii Strashko wrote:
>>>> The USB OTG mode is not supported by Kestone 2 devices, as result, the
>>>> USB devices enumeration and detection will not work properly when
>>>> kernel is built with CONFIG_USB_DWC3_DUAL_ROLE=y (default for multi
>>>> platform build):
>>>>   - it's required to load gadget drivers manually to make host mode
>>>> work and this confuses current Keystone 2 users
>>>>   - device mode is not working, because port can't detect and switch to
>>>> peripheral/host mode dynamically.
>>>>
>>>> Hence, specify usb mode explicitly in DT: usb0 = "host" for all KS2
>>>> devices and usb1 = "peripheral" for K2E.
>>>>
>>>> Cc: Sekhar Nori <nsekhar@ti.com>
>>>> Cc: Roger Quadros <rogerq@ti.com>
>>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>>>
>>> Do you expect any additional actions from my side relate to this patch?
>>>
>> Nope. I will pick this up though it has to wait for next merge window
>> now.
>
> I'd like to remind you about this patch.
> Would you like me to resend it ?
> (I've checked - it can be applied as is on top master and next/master without issues)
>
Merge window has a time ;-)
No need to re-send. As I mentioned, will pick it up.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/keystone-k2e-evm.dts b/arch/arm/boot/dts/keystone-k2e-evm.dts
index 4c32ebc..ae1ebe7 100644
--- a/arch/arm/boot/dts/keystone-k2e-evm.dts
+++ b/arch/arm/boot/dts/keystone-k2e-evm.dts
@@ -47,18 +47,26 @@ 
 	status = "okay";
 };
 
-&usb {
+&keystone_usb0 {
 	status = "okay";
 };
 
+&usb0 {
+	dr_mode = "host";
+};
+
 &usb1_phy {
 	status = "okay";
 };
 
-&usb1 {
+&keystone_usb1 {
 	status = "okay";
 };
 
+&usb1 {
+	dr_mode = "peripheral";
+};
+
 &i2c0 {
 	dtt@50 {
 		compatible = "at,24c1024";
diff --git a/arch/arm/boot/dts/keystone-k2e.dtsi b/arch/arm/boot/dts/keystone-k2e.dtsi
index 96b349f..3540a1d 100644
--- a/arch/arm/boot/dts/keystone-k2e.dtsi
+++ b/arch/arm/boot/dts/keystone-k2e.dtsi
@@ -61,7 +61,7 @@ 
 			status = "disabled";
 		};
 
-		usb1: usb@25000000 {
+		keystone_usb1: usb@25000000 {
 			compatible = "ti,keystone-dwc3";
 			#address-cells = <1>;
 			#size-cells = <1>;
@@ -74,7 +74,7 @@ 
 			dma-ranges;
 			status = "disabled";
 
-			dwc3@25010000 {
+			usb1: dwc3@25010000 {
 				compatible = "synopsys,dwc3";
 				reg = <0x25010000 0x70000>;
 				interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>;
diff --git a/arch/arm/boot/dts/keystone-k2hk-evm.dts b/arch/arm/boot/dts/keystone-k2hk-evm.dts
index b38b344..2156ff9 100644
--- a/arch/arm/boot/dts/keystone-k2hk-evm.dts
+++ b/arch/arm/boot/dts/keystone-k2hk-evm.dts
@@ -83,10 +83,14 @@ 
 	status = "okay";
 };
 
-&usb {
+&keystone_usb0 {
 	status = "okay";
 };
 
+&usb0 {
+	dr_mode = "host";
+};
+
 &aemif {
 	cs0 {
 		#address-cells = <2>;
diff --git a/arch/arm/boot/dts/keystone-k2l-evm.dts b/arch/arm/boot/dts/keystone-k2l-evm.dts
index 7f9c2e9..056b42f 100644
--- a/arch/arm/boot/dts/keystone-k2l-evm.dts
+++ b/arch/arm/boot/dts/keystone-k2l-evm.dts
@@ -32,10 +32,14 @@ 
 	status = "okay";
 };
 
-&usb {
+&keystone_usb0 {
 	status = "okay";
 };
 
+&usb0 {
+	dr_mode = "host";
+};
+
 &i2c0 {
 	dtt@50 {
 		compatible = "at,24c1024";
diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
index e34b226..96c9943 100644
--- a/arch/arm/boot/dts/keystone.dtsi
+++ b/arch/arm/boot/dts/keystone.dtsi
@@ -188,7 +188,7 @@ 
 			status = "disabled";
 		};
 
-		usb: usb@2680000 {
+		keystone_usb0: usb@2680000 {
 			compatible = "ti,keystone-dwc3";
 			#address-cells = <1>;
 			#size-cells = <1>;
@@ -201,7 +201,7 @@ 
 			dma-ranges;
 			status = "disabled";
 
-			dwc3@2690000 {
+			usb0: dwc3@2690000 {
 				compatible = "synopsys,dwc3";
 				reg = <0x2690000 0x70000>;
 				interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;