Re: [PATCH v4] extcon: gpio: Add the support for Device tree bindings

From: Rob Herring
Date: Fri May 27 2016 - 11:29:41 EST


On Thu, May 26, 2016 at 05:17:45PM +0530, Venkat Reddy Talla wrote:
> Add the support for Device tree bindings of extcon-gpio driver.
> The extcon-gpio device tree node must include the both 'extcon-id' and
> 'gpios' property.

I think extcon bindings are a mess in general...

> For example:
> usb_cable: extcon-gpio-0 {
> compatible = "extcon-gpio";
> extcon-id = <EXTCON_USB>;
> gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
> }
> ta_cable: extcon-gpio-1 {
> compatible = "extcon-gpio";
> extcon-id = <EXTCON_CHG_USB_DCP>;
> gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
> debounce-ms = <50>; /* 50 millisecond */
> wakeup-source;
> }

This is all 1 logical connector, the USB connector. Why are you
describing cables? Those are not part of the h/w and are dynamic.
Describe this as a connector which is one thing (i.e. node). Use a
compatible string that reflects the type of connector
(usb-microab-connector), not the driver you want to use. Then define
GPIO lines needed to provide state information like VBus, ID, charger
modes and control lines like soft connect (D+ pullup enable), VBus
enable, etc.

> &dwc3_usb {
> extcon = <&usb_cable>;
> };
> &charger {
> extcon = <&ta_cable>;
> };

Rob