diff mbox series

[v2,2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0

Message ID 20230328124315.123778-3-rogerq@kernel.org (mailing list archive)
State New, archived
Headers show
Series arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role | expand

Commit Message

Roger Quadros March 28, 2023, 12:43 p.m. UTC
USB0 is a Type-C port with dual data role and power sink.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
---
 arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
 arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
 .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
 3 files changed, 47 insertions(+), 5 deletions(-)

Comments

Nishanth Menon March 28, 2023, 1:18 p.m. UTC | #1
On 15:43-20230328, Roger Quadros wrote:
> USB0 is a Type-C port with dual data role and power sink.
> 
> Signed-off-by: Roger Quadros <rogerq@kernel.org>
> ---
>  arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
>  arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
>  .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
>  3 files changed, 47 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
> index b2ca19e3042e..a3c3609833fd 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
> @@ -225,3 +225,7 @@ ldo4_reg: ldo4 {
>  		};
>  	};
>  };
> +
> +&usb0 {
> +	dr_mode = "peripheral";
> +};
> diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> index cdc0858dd1b2..13fdaa9ce4e7 100644
> --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> @@ -136,6 +136,35 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
>  	};
>  };
>  
> +&main_i2c0 {
> +	typec_pd: tps6598x@3f {
> +		compatible = "ti,tps6598x";
> +		reg = <0x3f>;
> +		interrupt-parent = <&exp1>;
> +		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
> +		interrupt-names = "irq";
> +
> +		connector {
> +			compatible = "usb-c-connector";
> +			label = "USB-C";
> +			self-powered;
> +			data-role = "dual";
> +			power-role = "sink";
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@0 {
> +					reg = <0>;
> +					usb_con_hs: endpoint {
> +						remote-endpoint = <&usb0_hs_ep>;
> +					};
> +				};
> +			};
> +		};
> +	};
> +};
> +
>  &main_i2c1 {
>  	exp1: gpio@22 {
>  		compatible = "ti,tca6424";
> @@ -150,7 +179,7 @@ exp1: gpio@22 {
>  				   "UART1_FET_BUF_EN", "WL_LT_EN",
>  				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
>  				   "CSI_GPIO2", "PRU_3V3_EN",
> -				   "HDMI_INTn", "TEST_GPIO2",
> +				   "HDMI_INTn", "PD_I2C_IRQ",
>  				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
>  				   "MCASP1_FET_SEL", "UART1_FET_SEL",
>  				   "TSINT#", "IO_EXP_TEST_LED";
> @@ -256,3 +285,16 @@ partition@3fc0000 {
>  		};
>  	};
>  };
> +
> +&usb0 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	usb-role-switch;
> +
> +	port@0 {
> +		reg = <0>;
> +		usb0_hs_ep: endpoint {
> +		    remote-endpoint = <&usb_con_hs>;
> +	       };
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> index 80e8b9b9a5f5..e3223088b90c 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> @@ -264,10 +264,6 @@ &usbss1 {
>  	ti,vbus-divider;
>  };
>  
> -&usb0 {
> -	dr_mode = "peripheral";
> -};
> -

	How about sk-lp ?

>  &usb1 {
>  	dr_mode = "host";
>  	pinctrl-names = "default";
> -- 
> 2.34.1
>
Roger Quadros March 28, 2023, 1:20 p.m. UTC | #2
On 28/03/2023 16:18, Nishanth Menon wrote:
> On 15:43-20230328, Roger Quadros wrote:
>> USB0 is a Type-C port with dual data role and power sink.
>>
>> Signed-off-by: Roger Quadros <rogerq@kernel.org>
>> ---
>>  arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
>>  arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
>>  .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
>>  3 files changed, 47 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>> index b2ca19e3042e..a3c3609833fd 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>> @@ -225,3 +225,7 @@ ldo4_reg: ldo4 {
>>  		};
>>  	};
>>  };
>> +
>> +&usb0 {
>> +	dr_mode = "peripheral";
>> +};
>> diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>> index cdc0858dd1b2..13fdaa9ce4e7 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>> @@ -136,6 +136,35 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
>>  	};
>>  };
>>  
>> +&main_i2c0 {
>> +	typec_pd: tps6598x@3f {
>> +		compatible = "ti,tps6598x";
>> +		reg = <0x3f>;
>> +		interrupt-parent = <&exp1>;
>> +		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
>> +		interrupt-names = "irq";
>> +
>> +		connector {
>> +			compatible = "usb-c-connector";
>> +			label = "USB-C";
>> +			self-powered;
>> +			data-role = "dual";
>> +			power-role = "sink";
>> +			ports {
>> +				#address-cells = <1>;
>> +				#size-cells = <0>;
>> +
>> +				port@0 {
>> +					reg = <0>;
>> +					usb_con_hs: endpoint {
>> +						remote-endpoint = <&usb0_hs_ep>;
>> +					};
>> +				};
>> +			};
>> +		};
>> +	};
>> +};
>> +
>>  &main_i2c1 {
>>  	exp1: gpio@22 {
>>  		compatible = "ti,tca6424";
>> @@ -150,7 +179,7 @@ exp1: gpio@22 {
>>  				   "UART1_FET_BUF_EN", "WL_LT_EN",
>>  				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
>>  				   "CSI_GPIO2", "PRU_3V3_EN",
>> -				   "HDMI_INTn", "TEST_GPIO2",
>> +				   "HDMI_INTn", "PD_I2C_IRQ",
>>  				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
>>  				   "MCASP1_FET_SEL", "UART1_FET_SEL",
>>  				   "TSINT#", "IO_EXP_TEST_LED";
>> @@ -256,3 +285,16 @@ partition@3fc0000 {
>>  		};
>>  	};
>>  };
>> +
>> +&usb0 {
>> +	#address-cells = <1>;
>> +	#size-cells = <0>;
>> +	usb-role-switch;
>> +
>> +	port@0 {
>> +		reg = <0>;
>> +		usb0_hs_ep: endpoint {
>> +		    remote-endpoint = <&usb_con_hs>;
>> +	       };
>> +	};
>> +};
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> index 80e8b9b9a5f5..e3223088b90c 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>> @@ -264,10 +264,6 @@ &usbss1 {
>>  	ti,vbus-divider;
>>  };
>>  
>> -&usb0 {
>> -	dr_mode = "peripheral";
>> -};
>> -
> 
> 	How about sk-lp ?

moved it to sk-lp. see above in this patch.

> 
>>  &usb1 {
>>  	dr_mode = "host";
>>  	pinctrl-names = "default";
>> -- 
>> 2.34.1
>>
> 

cheers,
-roger
Nishanth Menon March 28, 2023, 1:30 p.m. UTC | #3
On 16:20-20230328, Roger Quadros wrote:
> 
> 
> On 28/03/2023 16:18, Nishanth Menon wrote:
> > On 15:43-20230328, Roger Quadros wrote:
> >> USB0 is a Type-C port with dual data role and power sink.
> >>
> >> Signed-off-by: Roger Quadros <rogerq@kernel.org>
> >> ---
> >>  arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
> >>  arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
> >>  .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
> >>  3 files changed, 47 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
> >> index b2ca19e3042e..a3c3609833fd 100644
> >> --- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
> >> +++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
> >> @@ -225,3 +225,7 @@ ldo4_reg: ldo4 {
> >>  		};
> >>  	};
> >>  };
> >> +
> >> +&usb0 {
> >> +	dr_mode = "peripheral";
> >> +};
> >> diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> >> index cdc0858dd1b2..13fdaa9ce4e7 100644
> >> --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> >> +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> >> @@ -136,6 +136,35 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
> >>  	};
> >>  };
> >>  
> >> +&main_i2c0 {
> >> +	typec_pd: tps6598x@3f {
> >> +		compatible = "ti,tps6598x";
> >> +		reg = <0x3f>;
> >> +		interrupt-parent = <&exp1>;
> >> +		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
> >> +		interrupt-names = "irq";
> >> +
> >> +		connector {
> >> +			compatible = "usb-c-connector";
> >> +			label = "USB-C";
> >> +			self-powered;
> >> +			data-role = "dual";
> >> +			power-role = "sink";
> >> +			ports {
> >> +				#address-cells = <1>;
> >> +				#size-cells = <0>;
> >> +
> >> +				port@0 {
> >> +					reg = <0>;
> >> +					usb_con_hs: endpoint {
> >> +						remote-endpoint = <&usb0_hs_ep>;
> >> +					};
> >> +				};
> >> +			};
> >> +		};
> >> +	};
> >> +};
> >> +
> >>  &main_i2c1 {
> >>  	exp1: gpio@22 {
> >>  		compatible = "ti,tca6424";
> >> @@ -150,7 +179,7 @@ exp1: gpio@22 {
> >>  				   "UART1_FET_BUF_EN", "WL_LT_EN",
> >>  				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
> >>  				   "CSI_GPIO2", "PRU_3V3_EN",
> >> -				   "HDMI_INTn", "TEST_GPIO2",
> >> +				   "HDMI_INTn", "PD_I2C_IRQ",
> >>  				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
> >>  				   "MCASP1_FET_SEL", "UART1_FET_SEL",
> >>  				   "TSINT#", "IO_EXP_TEST_LED";
> >> @@ -256,3 +285,16 @@ partition@3fc0000 {
> >>  		};
> >>  	};
> >>  };
> >> +
> >> +&usb0 {
> >> +	#address-cells = <1>;
> >> +	#size-cells = <0>;
> >> +	usb-role-switch;
> >> +
> >> +	port@0 {
> >> +		reg = <0>;
> >> +		usb0_hs_ep: endpoint {
> >> +		    remote-endpoint = <&usb_con_hs>;
> >> +	       };
> >> +	};
> >> +};
> >> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> >> index 80e8b9b9a5f5..e3223088b90c 100644
> >> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> >> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
> >> @@ -264,10 +264,6 @@ &usbss1 {
> >>  	ti,vbus-divider;
> >>  };
> >>  
> >> -&usb0 {
> >> -	dr_mode = "peripheral";
> >> -};
> >> -
> > 
> > 	How about sk-lp ?
> 
> moved it to sk-lp. see above in this patch.
> 

A bit confused. Looking at [1] vs [2], it seems to indicate pd controller at
0x3f as well? Am I misreading the schematics?

[1] https://www.ti.com/tool/SK-AM62-LP#design-files
[2] https://www.ti.com/tool/SK-AM62#design-files
Roger Quadros March 28, 2023, 7:46 p.m. UTC | #4
On 28/03/2023 16:30, Nishanth Menon wrote:
> On 16:20-20230328, Roger Quadros wrote:
>>
>>
>> On 28/03/2023 16:18, Nishanth Menon wrote:
>>> On 15:43-20230328, Roger Quadros wrote:
>>>> USB0 is a Type-C port with dual data role and power sink.
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org>
>>>> ---
>>>>  arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
>>>>  arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
>>>>  .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
>>>>  3 files changed, 47 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> index b2ca19e3042e..a3c3609833fd 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> @@ -225,3 +225,7 @@ ldo4_reg: ldo4 {
>>>>  		};
>>>>  	};
>>>>  };
>>>> +
>>>> +&usb0 {
>>>> +	dr_mode = "peripheral";
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> index cdc0858dd1b2..13fdaa9ce4e7 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> @@ -136,6 +136,35 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
>>>>  	};
>>>>  };
>>>>  
>>>> +&main_i2c0 {
>>>> +	typec_pd: tps6598x@3f {
>>>> +		compatible = "ti,tps6598x";
>>>> +		reg = <0x3f>;
>>>> +		interrupt-parent = <&exp1>;
>>>> +		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
>>>> +		interrupt-names = "irq";
>>>> +
>>>> +		connector {
>>>> +			compatible = "usb-c-connector";
>>>> +			label = "USB-C";
>>>> +			self-powered;
>>>> +			data-role = "dual";
>>>> +			power-role = "sink";
>>>> +			ports {
>>>> +				#address-cells = <1>;
>>>> +				#size-cells = <0>;
>>>> +
>>>> +				port@0 {
>>>> +					reg = <0>;
>>>> +					usb_con_hs: endpoint {
>>>> +						remote-endpoint = <&usb0_hs_ep>;
>>>> +					};
>>>> +				};
>>>> +			};
>>>> +		};
>>>> +	};
>>>> +};
>>>> +
>>>>  &main_i2c1 {
>>>>  	exp1: gpio@22 {
>>>>  		compatible = "ti,tca6424";
>>>> @@ -150,7 +179,7 @@ exp1: gpio@22 {
>>>>  				   "UART1_FET_BUF_EN", "WL_LT_EN",
>>>>  				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
>>>>  				   "CSI_GPIO2", "PRU_3V3_EN",
>>>> -				   "HDMI_INTn", "TEST_GPIO2",
>>>> +				   "HDMI_INTn", "PD_I2C_IRQ",
>>>>  				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
>>>>  				   "MCASP1_FET_SEL", "UART1_FET_SEL",
>>>>  				   "TSINT#", "IO_EXP_TEST_LED";
>>>> @@ -256,3 +285,16 @@ partition@3fc0000 {
>>>>  		};
>>>>  	};
>>>>  };
>>>> +
>>>> +&usb0 {
>>>> +	#address-cells = <1>;
>>>> +	#size-cells = <0>;
>>>> +	usb-role-switch;
>>>> +
>>>> +	port@0 {
>>>> +		reg = <0>;
>>>> +		usb0_hs_ep: endpoint {
>>>> +		    remote-endpoint = <&usb_con_hs>;
>>>> +	       };
>>>> +	};
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> index 80e8b9b9a5f5..e3223088b90c 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> @@ -264,10 +264,6 @@ &usbss1 {
>>>>  	ti,vbus-divider;
>>>>  };
>>>>  
>>>> -&usb0 {
>>>> -	dr_mode = "peripheral";
>>>> -};
>>>> -
>>>
>>> 	How about sk-lp ?
>>
>> moved it to sk-lp. see above in this patch.
>>
> 
> A bit confused. Looking at [1] vs [2], it seems to indicate pd controller at
> 0x3f as well? Am I misreading the schematics?
> 
> [1] https://www.ti.com/tool/SK-AM62-LP#design-files
> [2] https://www.ti.com/tool/SK-AM62#design-files

Yes PD controller is at 0x3f for both boards but IRQ is not routed on AM62-LP.
I tried to explain this the cover letter. ;)

Pasting here for convenience.

> Although k3-am625-lp-sk USB is exactly the same as on k3-am625-sk,
> it is missing the IRQ line from Type-C chip which is currently
> required as per chip's DT binding. So we don't add Type-C support
> for k3-am625-lp-sk till h/w is fixed or polling mode support for
> Type-C chip is accepted [2]
> 
> [2] - https://lore.kernel.org/lkml/20230324133741.43408-1-rogerq@kernel.org/T/


cheers,
-roger
Nishanth Menon March 28, 2023, 9:52 p.m. UTC | #5
On 22:46-20230328, Roger Quadros wrote:
[...]
> >>> 	How about sk-lp ?
> >>
> >> moved it to sk-lp. see above in this patch.
> >>
> > 
> > A bit confused. Looking at [1] vs [2], it seems to indicate pd controller at
> > 0x3f as well? Am I misreading the schematics?
> > 
> > [1] https://www.ti.com/tool/SK-AM62-LP#design-files
> > [2] https://www.ti.com/tool/SK-AM62#design-files
> 
> Yes PD controller is at 0x3f for both boards but IRQ is not routed on AM62-LP.
> I tried to explain this the cover letter. ;)
> 
> Pasting here for convenience.
> 
> > Although k3-am625-lp-sk USB is exactly the same as on k3-am625-sk,
> > it is missing the IRQ line from Type-C chip which is currently
> > required as per chip's DT binding. So we don't add Type-C support
> > for k3-am625-lp-sk till h/w is fixed or polling mode support for
> > Type-C chip is accepted [2]
> > 
> > [2] - https://lore.kernel.org/lkml/20230324133741.43408-1-rogerq@kernel.org/T/

Thanks, This thread does seem to be progressing? Since LP-SK is already
in production, it might do good to hold on to this series a little
longer instead of shuttling dts nodes back and forth.
Roger Quadros March 29, 2023, 7:06 a.m. UTC | #6
On 29/03/2023 00:52, Nishanth Menon wrote:
> On 22:46-20230328, Roger Quadros wrote:
> [...]
>>>>> 	How about sk-lp ?
>>>>
>>>> moved it to sk-lp. see above in this patch.
>>>>
>>>
>>> A bit confused. Looking at [1] vs [2], it seems to indicate pd controller at
>>> 0x3f as well? Am I misreading the schematics?
>>>
>>> [1] https://www.ti.com/tool/SK-AM62-LP#design-files
>>> [2] https://www.ti.com/tool/SK-AM62#design-files
>>
>> Yes PD controller is at 0x3f for both boards but IRQ is not routed on AM62-LP.
>> I tried to explain this the cover letter. ;)
>>
>> Pasting here for convenience.
>>
>>> Although k3-am625-lp-sk USB is exactly the same as on k3-am625-sk,
>>> it is missing the IRQ line from Type-C chip which is currently
>>> required as per chip's DT binding. So we don't add Type-C support
>>> for k3-am625-lp-sk till h/w is fixed or polling mode support for
>>> Type-C chip is accepted [2]
>>>
>>> [2] - https://lore.kernel.org/lkml/20230324133741.43408-1-rogerq@kernel.org/T/
> 
> Thanks, This thread does seem to be progressing? Since LP-SK is already
> in production, it might do good to hold on to this series a little
> longer instead of shuttling dts nodes back and forth.
> 

I agree. This will need a re-spin.

cheers,
-roger
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
index b2ca19e3042e..a3c3609833fd 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
@@ -225,3 +225,7 @@  ldo4_reg: ldo4 {
 		};
 	};
 };
+
+&usb0 {
+	dr_mode = "peripheral";
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
index cdc0858dd1b2..13fdaa9ce4e7 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
@@ -136,6 +136,35 @@  AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
 	};
 };
 
+&main_i2c0 {
+	typec_pd: tps6598x@3f {
+		compatible = "ti,tps6598x";
+		reg = <0x3f>;
+		interrupt-parent = <&exp1>;
+		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-names = "irq";
+
+		connector {
+			compatible = "usb-c-connector";
+			label = "USB-C";
+			self-powered;
+			data-role = "dual";
+			power-role = "sink";
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+					usb_con_hs: endpoint {
+						remote-endpoint = <&usb0_hs_ep>;
+					};
+				};
+			};
+		};
+	};
+};
+
 &main_i2c1 {
 	exp1: gpio@22 {
 		compatible = "ti,tca6424";
@@ -150,7 +179,7 @@  exp1: gpio@22 {
 				   "UART1_FET_BUF_EN", "WL_LT_EN",
 				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
 				   "CSI_GPIO2", "PRU_3V3_EN",
-				   "HDMI_INTn", "TEST_GPIO2",
+				   "HDMI_INTn", "PD_I2C_IRQ",
 				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
 				   "MCASP1_FET_SEL", "UART1_FET_SEL",
 				   "TSINT#", "IO_EXP_TEST_LED";
@@ -256,3 +285,16 @@  partition@3fc0000 {
 		};
 	};
 };
+
+&usb0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	usb-role-switch;
+
+	port@0 {
+		reg = <0>;
+		usb0_hs_ep: endpoint {
+		    remote-endpoint = <&usb_con_hs>;
+	       };
+	};
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 80e8b9b9a5f5..e3223088b90c 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -264,10 +264,6 @@  &usbss1 {
 	ti,vbus-divider;
 };
 
-&usb0 {
-	dr_mode = "peripheral";
-};
-
 &usb1 {
 	dr_mode = "host";
 	pinctrl-names = "default";