[Letux-kernel] twl gpios / headset detect on gta04a5
Andreas Kemnade
andreas at kemnade.info
Sun Sep 23 20:28:39 CEST 2018
On Sun, 23 Sep 2018 19:59:39 +0200
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> > Am 23.09.2018 um 19:41 schrieb Andreas Kemnade <andreas at kemnade.info>:
> >
> > On Sun, 23 Sep 2018 19:32:34 +0200
> > "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> >
> >> Hi,
> >>
> >>> Am 23.09.2018 um 18:51 schrieb Andreas Kemnade <andreas at kemnade.info>:
> >>>
> >>> Hi,
> >>>
> >>> I am looking at the headset stuff.
> >>> The detection is at gpio492 on gta04a5 if I
> >>> understand everything right.
> >>> I exported that and no reaction there on plugging
> >>> And then I am wondering:
> >>> root at gta04:/sys/class/gpio/gpio492# twl-i2c.sh GPIO r 0x13
> >>> 0x00
> >>> # twl-i2c.sh GPIO r 0x14
> >>> 0x00
> >>>
> >>> No pullups/downs enabled?!
> >>> Hmm, floating inputs there?!
> >>>
> >>> twl-i2c.sh GPIO w 0x13 0x20
> >>>
> >>> does the trick. the exported gpio shows values.
> >>
> >> Good finding!
> >>
> >>> But are the pullup/down
> >>> values correct there?
> >>
> >> According to schematics:
> >>
> >> http://projects.goldelico.com/p/gta04-main/downloads/48/
> >>
> >> there is a 10k from the gpio to the switch and a 10k pull-down.
> >>
> >> So there should be a pull-up for the gpio to provide energy.
> > Well, that is one thing. I enabled the pullup using:
> >
> > twl-i2c.sh GPIO w 0x13 0x20
> >
> > More interesting are the *other* twl gpio pins. Floating stuff
> > might be there. And therefore unecessary suspend currents.
> >
> >>
> >> Then,
> >> - if the headset is connected, the switch is open and the gpio should read "1"
> >> - while a disconnected headset should connect the gpio to gnd through 20k which should be (note, this circuit has never been tested!) read as "0".
> >>
> > That is wrong. It is tested be my now.
>
> Wrong or not working?
>
It it wrong that it hase never been tested. Value is 0 when headset is
disconnected, 1 when it is connected,
and when there is loud sound and headset is enabled but not connected,
there are sometimes 1 in between.
So the contact seems to an opener.
we are failing here:
sound/soc/soc-jack.c:
ret = request_any_context_irq(gpiod_to_irq(gpios[i].desc),
gpio_handler,
IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING,
gpios[i].name,
&gpios[i]);
Maybe irq does not work for twl gpio.
Regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20180923/9ae6feff/attachment.asc>
More information about the Letux-kernel
mailing list