> -----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&data=04%7 > C01%7Cjun.li%40nxp.com%7C71a9f6a3197248e09d0708da1c9d4187%7C686ea1d3bc2 > b4c6fa92cd99c5c301635%7C0%7C1%7C637853758981725860%7CUnknown%7CTWFpbGZs > b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D% > 7C3000&sdata=VFowzrzgNKvG7ZbXGMUBtmMa2nV5bH5Jl9knYVS%2BJ7w%3D&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>; }; }; }; }; }; > > > > > > 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