On Tue, May 9, 2017 at 6:24 AM, Peter Chen <hzpeterchen@xxxxxxxxx> wrote: > 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 Thank you Peter. I think you may have misunderstood my question. The imx6 USB charger detection block I believe is used by a upstream facing device to detect what type of down-stream facing charger it is connected to. My requirement is kind of the opposite.. here the imx6 will be used as the down-stream facing charger i.e. attempt to support cdp charging (instead of sdp) after role reveral with imx6 otg in host mode. I know this is feasible with additional hardware such as a CDP emulator or a USB charging port controller. I was hoping you might have an insight on whether this is possible without any additional hardware i.e. only with changes in USB PHY / controller. Thanks, Jayan John -- 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