[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