* [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role @ 2023-03-28 12:43 Roger Quadros 2023-03-28 12:43 ` [PATCH v2 1/2] arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1 Roger Quadros ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Roger Quadros @ 2023-03-28 12:43 UTC (permalink / raw) To: nm, vigneshr Cc: kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree, Roger Quadros 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/20230321-am62-lp-sk-v2-0-0a56e1694804@ti.com/ [2] - https://lore.kernel.org/lkml/20230324133741.43408-1-rogerq@kernel.org/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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/2] arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1 2023-03-28 12:43 [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Roger Quadros @ 2023-03-28 12:43 ` Roger Quadros 2023-03-28 12:43 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 Roger Quadros 2023-03-30 2:16 ` (subset) [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Nishanth Menon 2 siblings, 0 replies; 10+ messages in thread From: Roger Quadros @ 2023-03-28 12:43 UTC (permalink / raw) To: nm, vigneshr Cc: kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree, Dhruva Gole, Roger Quadros From: Dhruva Gole <d-gole@ti.com> The property "ti,vbus-divider" is needed for both usbss0 and usbss1 as both USB0 and USB1 have the same external voltage divider circuit. Fixes: 2d94dfc43885 ("arm64: dts: ti: k3-am625-sk: Add support for USB") Signed-off-by: Dhruva Gole <d-gole@ti.com> Signed-off-by: Roger Quadros <rogerq@kernel.org> --- arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 1 + 1 file changed, 1 insertion(+) 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 54318a07d50c..80e8b9b9a5f5 100644 --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi @@ -261,6 +261,7 @@ &usbss0 { &usbss1 { status = "okay"; + ti,vbus-divider; }; &usb0 { -- 2.34.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 2023-03-28 12:43 [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Roger Quadros 2023-03-28 12:43 ` [PATCH v2 1/2] arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1 Roger Quadros @ 2023-03-28 12:43 ` Roger Quadros 2023-03-28 13:18 ` Nishanth Menon 2023-03-30 2:16 ` (subset) [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Nishanth Menon 2 siblings, 1 reply; 10+ messages in thread From: Roger Quadros @ 2023-03-28 12:43 UTC (permalink / raw) To: nm, vigneshr Cc: kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree, Roger Quadros 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"; -}; - &usb1 { dr_mode = "host"; pinctrl-names = "default"; -- 2.34.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 2023-03-28 12:43 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 Roger Quadros @ 2023-03-28 13:18 ` Nishanth Menon 2023-03-28 13:20 ` Roger Quadros 0 siblings, 1 reply; 10+ messages in thread From: Nishanth Menon @ 2023-03-28 13:18 UTC (permalink / raw) To: Roger Quadros Cc: vigneshr, kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree 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 > -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 2023-03-28 13:18 ` Nishanth Menon @ 2023-03-28 13:20 ` Roger Quadros 2023-03-28 13:30 ` Nishanth Menon 0 siblings, 1 reply; 10+ messages in thread From: Roger Quadros @ 2023-03-28 13:20 UTC (permalink / raw) To: Nishanth Menon Cc: vigneshr, kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 2023-03-28 13:20 ` Roger Quadros @ 2023-03-28 13:30 ` Nishanth Menon 2023-03-28 19:46 ` Roger Quadros 0 siblings, 1 reply; 10+ messages in thread From: Nishanth Menon @ 2023-03-28 13:30 UTC (permalink / raw) To: Roger Quadros Cc: vigneshr, kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree 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 -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 2023-03-28 13:30 ` Nishanth Menon @ 2023-03-28 19:46 ` Roger Quadros 2023-03-28 21:52 ` Nishanth Menon 0 siblings, 1 reply; 10+ messages in thread From: Roger Quadros @ 2023-03-28 19:46 UTC (permalink / raw) To: Nishanth Menon Cc: vigneshr, kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 2023-03-28 19:46 ` Roger Quadros @ 2023-03-28 21:52 ` Nishanth Menon 2023-03-29 7:06 ` Roger Quadros 0 siblings, 1 reply; 10+ messages in thread From: Nishanth Menon @ 2023-03-28 21:52 UTC (permalink / raw) To: Roger Quadros Cc: vigneshr, kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree 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. -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 2023-03-28 21:52 ` Nishanth Menon @ 2023-03-29 7:06 ` Roger Quadros 0 siblings, 0 replies; 10+ messages in thread From: Roger Quadros @ 2023-03-29 7:06 UTC (permalink / raw) To: Nishanth Menon Cc: vigneshr, kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: (subset) [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role 2023-03-28 12:43 [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Roger Quadros 2023-03-28 12:43 ` [PATCH v2 1/2] arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1 Roger Quadros 2023-03-28 12:43 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 Roger Quadros @ 2023-03-30 2:16 ` Nishanth Menon 2 siblings, 0 replies; 10+ messages in thread From: Nishanth Menon @ 2023-03-30 2:16 UTC (permalink / raw) To: vigneshr, Roger Quadros Cc: Nishanth Menon, kristo, srk, r-gunasekaran, linux-arm-kernel, linux-usb, linux-kernel, devicetree 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-03-30 2:16 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-03-28 12:43 [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Roger Quadros 2023-03-28 12:43 ` [PATCH v2 1/2] arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1 Roger Quadros 2023-03-28 12:43 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 Roger Quadros 2023-03-28 13:18 ` Nishanth Menon 2023-03-28 13:20 ` Roger Quadros 2023-03-28 13:30 ` Nishanth Menon 2023-03-28 19:46 ` Roger Quadros 2023-03-28 21:52 ` Nishanth Menon 2023-03-29 7:06 ` Roger Quadros 2023-03-30 2:16 ` (subset) [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Nishanth Menon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).