RE: Using PTN5110 w/ USB Hub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi jun,

> -----Original Message-----
> From: Jun Li <jun.li@xxxxxxx>
> Sent: Wednesday, April 13, 2022 9:16 PM
> To: Xu Yang <xu.yang_2@xxxxxxx>; Adam Ford <aford173@xxxxxxxxx>; Jun Li
> <lijun.kernel@xxxxxxxxx>; Xu Yang <xu.yang_2@xxxxxxx>
> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>; Heikki Krogerus
> <heikki.krogerus@xxxxxxxxxxxxxxx>; USB list <linux-usb@xxxxxxxxxxxxxxx>
> Subject: RE: Using PTN5110 w/ USB Hub
> 
> 
> 
> > -----Original Message-----
> > From: Adam Ford <aford173@xxxxxxxxx>
> > Sent: Tuesday, April 12, 2022 11:58 PM
> > To: Jun Li <lijun.kernel@xxxxxxxxx>
> > Cc: Guenter Roeck <linux@xxxxxxxxxxxx>; Heikki Krogerus
> > <heikki.krogerus@xxxxxxxxxxxxxxx>; USB list
> > <linux-usb@xxxxxxxxxxxxxxx>; Jun Li <jun.li@xxxxxxx>; Xu Yang
> > <xu.yang_2@xxxxxxx>
> > Subject: Re: Using PTN5110 w/ USB Hub
> >
> > On Tue, Apr 12, 2022 at 10:37 AM Jun Li <lijun.kernel@xxxxxxxxx> wrote:
> > >
> > > Adam Ford <aford173@xxxxxxxxx> 于2022年4月12日周二 08:24写道:
> > > >
> > > > I have a board with a dual role USB conttroller connected to a
> > > > dual role hub
> > >
> > > Could you please explain more about what's "a dual role hub"?
> > Thanks for responding.
> >
> >
> > The datasheet is listed here:
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fww1.
> > m
> >
> icrochip.com%2Fdownloads%2Fen%2FDeviceDoc%2F00002238D.pdf&amp;data
> =04%
> > 7
> >
> C01%7Cjun.li%40nxp.com%7C71a9f6a3197248e09d0708da1c9d4187%7C686ea
> 1d3bc
> > 2
> >
> b4c6fa92cd99c5c301635%7C0%7C1%7C637853758981725860%7CUnknown%7
> CTWFpbGZ
> > s
> >
> b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D
> > %
> >
> 7C3000&amp;sdata=VFowzrzgNKvG7ZbXGMUBtmMa2nV5bH5Jl9knYVS%2BJ7w
> %3D&amp;
> > r
> > eserved=0
> >
> > I worded that poorly, sorry.  It supports DCP, CDP, SDP.
> >
> > From the datasheet:
> > • USB Hub Feature Controller IC Hub with:- 1 USB 3.1 Gen 1 USB
> > Type-CTM downstream port- 4 USB 3.1 Gen 1 legacy downstream ports- 1
> > USB 2.0 downstream port- Legacy upstream port • USB-IF Battery Charger
> > revision 1.2 support on up & downstream ports (DCP, CDP, SDP)
> 
> P2 ~ P6 all are normal downstream ports, how about P1? It's just has 2 sets of SS
> lanes(for typec) but still downstream port(DFP)?
> 
> >
> > The hope was to have the PTN enable the SRC_EN when the USB-C cable is
> > connected to the hub.
> 
> If you use the correct USB-C cable(Present Rd), PTN should detect a sink and
> Linux tcpm + tcpci driver will enable SRC_EN for you, Did you correctly enable
> the typec port driver?
> 
> Cat /sys/kernel/debug/usb/tcpm-xxx/log
> 
> @Xu Yang, could you help check if a source only config like below still Can work?
> 
>         ptn5110: tcpc@50 {
>                 compatible = "nxp,ptn5110";
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&pinctrl_typec>;
>                 reg = <0x50>;
>                 interrupt-parent = <&gpio4>;
>                 interrupts = <19 8>;
> 
> 
>                 usb_con: connector {
>                         compatible = "usb-c-connector";
>                         label = "USB-C";
>                         power-role = "source";
>                         data-role = "host";
>                         source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
> 
>                         ports {
>                                 #address-cells = <1>;
>                                 #size-cells = <0>;
> 
>                                 port@1 {
>                                         reg = <1>;
>                                         typec_con_ss: endpoint {
>                                                 remote-endpoint = <&usb3_data_ss>;
>                                         };
>                                 };
>                         };
>                 };
>         };

After my check, the ptn5110 can work with the above source only config.

Xu Yang

> 
> >
> > >
> > > > connected to a PTN5110 for enabing power to the USB-C.
> > > >
> > > > SoC -> Hub -> PTN-> USB-C
> > >
> > > What signals of Hub chip connect to PTN5110 chip?
> >
> > Technically, only the CC pins are connected between the USB-C
> > connector and the PTN5110.  There isn't really a connection to the hub
> > itself, but the output on the PTN enables a regulator which powers the
> > USB-C which does connect to the hub.
> 
> That's a typical usage.
> 
> >
> > >
> > > >
> > > > The hope was the PTN5110 would enable/disable the src_en pin when
> > > > I connect a device that needs power.  Unfortunately, most of the
> > > > examples I can see for the device trees on a PTN5110 show some
> > > > sort of connection to a USB controller, but  I am going through a
> > > > hub, not a controller.
> > > >
> > > > Is it possible to configure the PTN5110 to either not require
> > > > connection to a USB controller or plumb it to a USB hub?
> > >
> > > My understanding PTN5110(TCPCI controller with PD PHY) is
> > > independent with USB data path, for USB data path, I think it should be:
> > > SoC -> Hub -> USB-C
> > > PTN5110 should not care or know if there is a Hub between type-C
> > > connector and USB controller.
> > > If the type-C connector connects to a Hub, then it's a DFP only on
> > > data, and from power point view, you also only power source role, right?
> >
> > Yes.  We're basically trying to source power when a device is
> > connected and power down the regulator when the USB-C device is
> > disconnected. Unfortunately, the PTN5110 never enables power even when
> > I specify it's source only with no sink.  The driver acts like it
> > needs some sort of USB node,
> 
> If you don't need usb data dual role(host and device), I assume the typec node
> does not need link to any usb controller node, PTN just works to enable
> power(via SRC_EN) and do orientation flip.
> 
> > and when it doesn't find one, and the
> > example device tree in the YAML file shows a refernce to the USB
> > controller.  I assumed I needed to plumb it to the hub somehow.  If I
> > am reading your response correctly, I should just add the node for the
> > USB controller and forget the hub exists, is that correct?
> 
> You even need not link PTN to USB controller, see my comment above.
> 
> Li Jun
> 
> >
> > >
> > > thanks
> > > Li Jun
> > > >
> > > > thanks
> > > >
> > > > adam




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux