On Fri, May 05, 2017 at 10:40:01AM +0530, Jayan John wrote: > I would like to add CDP (charging downstream port) capability over my > OTG port in host mode. I am using an iMX6q platform with Chipidea HDRC > (highspeed dual role controller) with 4.1 kernel. > > Looked at a bunch of documents like USB Battery Charging Specification > and USB Power Delivery specification, it is clear that there is a > handshake over D+ and D- before enumeration to identify whether a host > supports CDP or not. It occurs in two steps. A primary handshake to > detect SDP vs CDP/ DCP where host will respond with D- voltage greater > than 0.3 V and less than 0.8 V. A secondary handshake to detect CDP vs > DCP where DCP will be indicated witha response of D+ voltage greater > than 0.3 V and less than 0.8 V. > > I believe the handshake can only be supported by using a CDP emulator > or a USB charging port controller. But I would like to investigate the > possibility of achieving this handshake with only driver changes in > PHY or controller i.e. without any additional hardware chips or > circuitry. > > Does anyone have any viewpoints on whether CDP charging can be > achieved without any additional hardware changes over Chipidea HDRC in > host mode? > The imx6 series USB PHY supports USB charger detection, and the internal tree implements it at: drivers/usb/chipidea/usbmisc_imx.c if you are using v4.1 release. Due to there is no USB charger framework at mainline, this part of code has still not upstream. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html