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@xxxxxxxxxx> >>>> --- >>>> 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@xxxxxxxxxx/T/ cheers, -roger