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

Roger Quadros rogerq at kernel.org
Tue Mar 28 12:46:48 PDT 2023



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 at 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 at 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 at 0 {
>>>> +					reg = <0>;
>>>> +					usb_con_hs: endpoint {
>>>> +						remote-endpoint = <&usb0_hs_ep>;
>>>> +					};
>>>> +				};
>>>> +			};
>>>> +		};
>>>> +	};
>>>> +};
>>>> +
>>>>  &main_i2c1 {
>>>>  	exp1: gpio at 22 {
>>>>  		compatible = "ti,tca6424";
>>>> @@ -150,7 +179,7 @@ exp1: gpio at 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 at 3fc0000 {
>>>>  		};
>>>>  	};
>>>>  };
>>>> +
>>>> +&usb0 {
>>>> +	#address-cells = <1>;
>>>> +	#size-cells = <0>;
>>>> +	usb-role-switch;
>>>> +
>>>> +	port at 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



More information about the linux-arm-kernel mailing list