devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Alexandre Courbot <gnurou@gmail.com>,
	Lee Jones <lee.jones@linaro.org>, Chen-Yu Tsai <wens@csie.org>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-sunxi@googlegroups.com
Subject: Re: [linux-sunxi] Re: [PATCH 0/4] Add AXP209 GPIO driver
Date: Wed, 9 Mar 2016 16:44:01 +0100	[thread overview]
Message-ID: <56E044C1.7080300@redhat.com> (raw)
In-Reply-To: <20160309152822.GQ8418@lukather>

Hi,

On 09-03-16 16:28, Maxime Ripard wrote:
> Hi,
>
> On Wed, Mar 09, 2016 at 01:17:50PM +0100, Hans de Goede wrote:
>> Hi,
>>
>> On 09-03-16 11:50, Maxime Ripard wrote:
>>> Hi,
>>>
>>> The axp209 PMIC used in combination to some Allwinner SoCs has a bunch
>>> of GPIOs accessible. Some boards use these to control their backlight
>>> or a few LEDs.
>>
>> Thanks for working on this, but IMHO this cannot go upstream like this,
>> the gpio pins on the axp pmics need a pinctrl driver, not a gpio
>> driver. I.E. on the axp209 gpio0 and gpio1 can also be used to output
>> an additional low-noise ldo (so as a regulator), or as an adc input.
>
> Eventually, yes, it needs both. But they don't even have to be the
> same driver, since they provide two different features. The only
> reason we have that construct in the pio case is because they share
> the same address space, but in the AXP case, the regmap and our mfd
> take care of that already.

Hmm, so your suggesting to have mfd instantiate 2 platform devices
for this, a gpio and a pinctrl device, each with their own
driver. Yes that would work, but I'm a bit worried about the 2
racing or some such since they both will end up touching
bit 0-2 of register 0x90 / 0x92, more-over since they are both
touching the exact same bits I've the feeling that this really
should be one driver.

I guess that in a proper written dts we either use pinctrl to enable
a special function, or gpio, but still.

>> I've been working on gsl1680 touchscreen support lately and on at least
>> a few a23 tablets, the low-noise ldo is used as AVCC for the touchscreen
>> controller.
>
> Yeah, the AXP209 also has an ADC connected to these pins.
>
>> Now these use an axp223 pmic, but nothing is stopping someone from
>> doing something similar with an axp209 and I think it would be best
>> to support this from day one, rather then hope we can retro-fit this
>> later without breaking dts.
>
> I considered that, but I don't see how it would break the DT later. If
> someone wants to enable say the ADC, he will of course have to add the
> pinctrl driver, and the pinctrl handles, but the old DT will only
> reference the gpio driver directly, which would still be something
> that would work.

I was assuming we would use one mfd-child(-platform)-device for this,
not two. I guess that with 2 devices you're right and there should
not be any problem, still as said it feels wrong-ish to have 2 drivers
poking bits 0-2 of reg 0x90 / reg 0x92.

Regards,

Hans

  reply	other threads:[~2016-03-09 15:44 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-09 10:50 [PATCH 0/4] Add AXP209 GPIO driver Maxime Ripard
     [not found] ` <1457520614-32239-1-git-send-email-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-03-09 10:50   ` [PATCH 1/4] gpio: " Maxime Ripard
     [not found]     ` <1457520614-32239-2-git-send-email-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-03-09 13:07       ` kbuild test robot
2016-03-09 13:20       ` Peter Korsgaard
     [not found]         ` <87io0v23fz.fsf-D6SC8u56vOOJDPpyT6T3/w@public.gmane.org>
2016-03-16  9:57           ` [linux-sunxi] " Linus Walleij
2016-03-16  9:56       ` Linus Walleij
2016-03-17 19:10       ` Rob Herring
2016-03-09 10:50   ` [PATCH 2/4] mfd: axp20x: Add AXP209 GPIO driver to the mfd Maxime Ripard
     [not found]     ` <1457520614-32239-3-git-send-email-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-03-16 10:03       ` Linus Walleij
2016-03-21 11:54       ` Lee Jones
2016-03-29  9:58         ` Maxime Ripard
2016-03-29 10:10           ` Lee Jones
2016-03-09 10:50   ` [PATCH 3/4] ARM: dt: axp209: Add AXP209 GPIO driver Maxime Ripard
     [not found]     ` <1457520614-32239-4-git-send-email-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-03-16 10:04       ` Linus Walleij
2016-03-09 10:50   ` [PATCH 4/4] ARM: sun5i: chip: Add status LED Maxime Ripard
2016-03-09 12:17 ` [PATCH 0/4] Add AXP209 GPIO driver Hans de Goede
     [not found]   ` <56E0146E.6050102-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-09 15:28     ` Maxime Ripard
2016-03-09 15:44       ` Hans de Goede [this message]
     [not found]         ` <56E044C1.7080300-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-16 10:10           ` [linux-sunxi] " Linus Walleij
2016-03-16 10:38             ` Hans de Goede
2016-03-22  7:22         ` Maxime Ripard
2016-03-22  7:33           ` Chen-Yu Tsai

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=56E044C1.7080300@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gnurou@gmail.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=wens@csie.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).