From: Chanwoo Choi <cw00.choi@samsung.com>
To: Rob Herring <robh@kernel.org>,
Venkat Reddy Talla <vreddytalla@nvidia.com>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
devicetree@vger.kernel.org, Kumar Gala <galak@codeaurora.org>,
linux-kernel@vger.kernel.org,
Laxman Dewangan <ldewangan@nvidia.com>
Subject: Re: [PATCH v4] extcon: gpio: Add the support for Device tree bindings
Date: Tue, 31 May 2016 16:35:03 +0900 [thread overview]
Message-ID: <574D3EA7.9080907@samsung.com> (raw)
In-Reply-To: <574D32D7.2090902@samsung.com>
Hi Rob,
On 2016년 05월 31일 15:44, Chanwoo Choi wrote:
> On 2016년 05월 28일 00:29, Rob Herring wrote:
>> 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.
>
> You're right. The extcon-gpio driver will not use the "extcon-gpio" raw compatible.
> As you commented[1], the each connector will have the unique name to use the extcon-gpio.c driver.
> [1] https://lkml.org/lkml/2015/10/21/906
>
>
> For example,
> The extcon-gpio.c driver may have the different name including the h/w information
> according to the kind of external connector.
>
> static const struct of_device_id gpio_extcon_of_match[] = {
> {
> .compatible = "extcon-chg-sdp", /* SDP charger connector */
> .data = EXTCON_CHG_SDP_DATA,
> }, {
> .compatible = "extcon-chg-dcp", /* DCP charger connector */
> .data = EXTCON_CHG_DCP_DATA,
> }, {
> .compatible = "extcon-jack-microphone", /* Microphone jack connector */
> .data = EXTCON_JACK_MICROPHONE_DATA,
> }, {
> .compatible = "extcon-disp-hdmi", /* HDMI connector*/
> .data = EXTCON_DISP_HDMI_DATA,
> },
> ......
> };
I reply it again.
The extcon-gpio.c is very similar with existing gpio_keys.c driver[1]
[1] drivers/input/keyboard/gpio_keys.c
The gpio_keys.c driver use the following style to support the device-tree.
It use the "gpio-keys" compatible and this dt node include the specific
'key code' such as 'extcon-id = <EXTCON_CHG_USB_DCP>;'
gpio_keys {
compatible = "gpio-keys";
power_key {
gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "power key";
debounce-interval = <10>;
wakeup-source;
};
};
If the extcon-gpio.c driver should have the separate compatible according to
the kind of external connector, the list of compatible name of extcon-gpio.c driver
will be increased when new external connector is attached.
The extcon-gpio.c driver can separate the kind of external connector
by using the 'extcon-id' property.
Thanks,
Chanwoo Choi
next prev parent reply other threads:[~2016-05-31 7:35 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-26 11:47 [PATCH v4] extcon: gpio: Add the support for Device tree bindings Venkat Reddy Talla
2016-05-26 11:47 ` Venkat Reddy Talla
2016-05-26 13:21 ` Chanwoo Choi
2016-05-27 5:13 ` Venkat Reddy Talla
2016-05-31 7:13 ` Chanwoo Choi
2016-05-27 15:29 ` Rob Herring
2016-05-31 6:44 ` Chanwoo Choi
2016-05-31 7:35 ` Chanwoo Choi [this message]
2016-05-31 13:35 ` Rob Herring
2016-05-31 13:44 ` Laxman Dewangan
2016-05-31 15:48 ` Rob Herring
2016-06-01 14:49 ` Laxman Dewangan
2016-06-01 16:00 ` Rob Herring
[not found] ` <CAL_JsqLpWMX3X77xyVH=5+AtEaRiY9ShkEo0TdHOphqE654OXg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-05-31 14:34 ` Chanwoo Choi
2016-05-31 14:34 ` Chanwoo Choi
2016-06-02 0:06 ` Chanwoo Choi
2016-06-07 1:52 ` Chanwoo Choi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=574D3EA7.9080907@samsung.com \
--to=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=ldewangan@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=myungjoo.ham@samsung.com \
--cc=pawel.moll@arm.com \
--cc=robh@kernel.org \
--cc=vreddytalla@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.