2023-03-28 12:45:01

by Roger Quadros

[permalink] [raw]
Subject: [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role

Hi,

This series enables Type-C port on USB0.
Series is based on [1]

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]

Changelog:
v2:
- rebase off [1]
- add fixes tag to patch 1

[1] - https://lore.kernel.org/all/[email protected]/
[2] - https://lore.kernel.org/lkml/[email protected]/T/

cheers,
-roger

Dhruva Gole (1):
arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1

Roger Quadros (1):
arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0

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 | 5 +--
3 files changed, 48 insertions(+), 5 deletions(-)

--
2.34.1


2023-03-28 12:45:34

by Roger Quadros

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

USB0 is a Type-C port with dual data role and power sink.

Signed-off-by: Roger Quadros <[email protected]>
---
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";
-};
-
&usb1 {
dr_mode = "host";
pinctrl-names = "default";
--
2.34.1

2023-03-28 13:27:30

by Nishanth Menon

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

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 <[email protected]>
> ---
> 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
>

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-03-28 13:28:48

by Roger Quadros

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



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 <[email protected]>
>> ---
>> 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

2023-03-28 13:33:40

by Nishanth Menon

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

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 <[email protected]>
> >> ---
> >> 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
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-03-28 19:52:39

by Roger Quadros

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



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 <[email protected]>
>>>> ---
>>>> 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/[email protected]/T/


cheers,
-roger

2023-03-28 21:53:57

by Nishanth Menon

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

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/[email protected]/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.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-03-29 07:08:34

by Roger Quadros

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



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/[email protected]/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

2023-03-30 02:39:45

by Nishanth Menon

[permalink] [raw]
Subject: Re: (subset) [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role

Hi Roger Quadros,

On Tue, 28 Mar 2023 15:43:13 +0300, Roger Quadros wrote:
> This series enables Type-C port on USB0.
> Series is based on [1]
>
> 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]
>
> [...]

I have applied the following to branch ti-k3-dts-next on [1]. I picked v1
version with v2 updates in commit message to help stable, while at it,
I had to rewrite history a bit so that cherry-pick to stable won't be a
problem.

Thank you!

[1/2] arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1
commit: 49af4ecdd8ad2a964dbb9f2e7e50082433b37f98

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D