On Tue, May 9, 2017 at 3:39 PM, Jayan John <jayanjohn79@xxxxxxxxx> wrote: > On Tue, May 9, 2017 at 1:10 PM, Peter Chen <hzpeterchen@xxxxxxxxx> wrote: >> On Tue, May 09, 2017 at 12:51:53PM +0530, Jayan John wrote: >>> 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. >>> >> >> No, the PHY doesn't support host charger function. >> > Thank you for confirming that Peter. I needed that information. > > I will keep this topic open for another day or two just in case there > are any other related comments from the others. > I am closing this discussion with the conclusion that it is not possible to support CDP charging in host mode OTG (Chipidea HDRC) on imx6 WITHOUT additional circuitry/ chips like a USB charging port controller. Best regards, 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