All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacek Anaszewski <j.anaszewski@samsung.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"linux-leds@vger.kernel.org" <linux-leds@vger.kernel.org>
Subject: Re: Single gpio shared by LED and switch?
Date: Wed, 09 Sep 2015 09:25:27 +0200	[thread overview]
Message-ID: <55EFDEE7.20201@samsung.com> (raw)
In-Reply-To: <CACRpkdZ+W8ZBdtjYUUYAy6t+bRvRx9MG7YP0EKno2Cr5C-kzoQ@mail.gmail.com>

On 09/08/2015 04:37 PM, Linus Walleij wrote:
> On Tue, Sep 8, 2015 at 12:51 PM, Jacek Anaszewski
> <j.anaszewski@samsung.com> wrote:
>> On 09/07/2015 03:22 PM, Geert Uytterhoeven wrote:
>
>>> Something like this?
>>>
>>>                        VCC         VCC
>>>                         |           |
>>>                         R           R
>>>                         |           |
>>>                 __|__   |           |
>>>             +---o   o---+          _|_
>>>             |           |          \ /
>>>             |           |          ---
>>>            GND          R           |
>>>                         |           |
>>>                         |         |-+
>>>                         |         |<+
>>> GPIO -----------------+---------|-|
>>>                                     |
>>>                                     |
>>>                                    GND
>>
>>
>> You would need also resistor to avoid short-circuit
>> when the switch is on.
>
> There is a resistor AFAICT.

Indeed. For some reason my mind filtered out these 'R'
characters.

> But consider the GPIO side which is opaque
> here. When used as input it is often high impedance
> but when used to drive it is not.
>
> Doesn't this mean the output actually has to be
> open collector (open drain)?

I think that GPIO control register would have to be
altered to switch between particular modes.

Let's analyze possible modes, assuming that the transistor
is a bipolar PNP:

LED_OFF: GPIO in output mode, state 1.
LED_ON: GPIO in pull down mode (or output 0?) The drawback here
         is that additional current flow will occur from VCC to GPIO,
read SW state: GPIO in input mode, high impedance
                (the LED would be off for this period)

Correct me if I'm wrong, I haven't played with electronics
for a long time.

> In that case we should enforce that in the software
> framework too so we protect people from shooting
> themselves in the foot.

We would have to use pinctrl for this, I presume.

>> We'd have to ask Linus if he welcomes drivers for this type
>> of home-made circuits in mainline. If yes, then probably someone would
>> have to build the circuit, develop and test the driver on it, and
>> finally come up with a detailed documentation.
>> Are you the volunteer? :)
>
> Of course he's considering it or he wouldn't write :)
>
> I'm curious about what comes out of this, this is exactly
> the type of problems that the GPIO subsystem is about
> to help with.

That's great. It seems that the potential driver would
best fit for GPIO subsystem, and we could think about creating
some wrapper in the LED subsystem, to make it compatible
with led-triggers.

-- 
Best Regards,
Jacek Anaszewski

  reply	other threads:[~2015-09-09  7:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-01 17:00 Single gpio shared by LED and switch? Geert Uytterhoeven
2015-09-07 13:03 ` Jacek Anaszewski
2015-09-07 13:22   ` Geert Uytterhoeven
2015-09-08 10:51     ` Jacek Anaszewski
2015-09-08 14:37       ` Linus Walleij
2015-09-09  7:25         ` Jacek Anaszewski [this message]
2015-09-09  7:35           ` Geert Uytterhoeven

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=55EFDEE7.20201@samsung.com \
    --to=j.anaszewski@samsung.com \
    --cc=geert@linux-m68k.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-leds@vger.kernel.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 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.