All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Belisko Marek <marek.belisko@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-omap@vger.kernel.org,
	"Dr. H. Nikolaus Schaller" <hns@goldelico.com>,
	Laxman Dewangan <ldewangan@nvidia.com>,
	Jon Hunter <jonathanh@nvidia.com>,
	Thierry Reding <treding@nvidia.com>
Subject: Re: omap5 fixing palmas IRQ_TYPE_NONE warning leads to gpadc timeouts
Date: Mon, 19 Nov 2018 09:14:06 -0800	[thread overview]
Message-ID: <20181119171406.GQ53235@atomide.com> (raw)
In-Reply-To: <20181119161906.GP53235@atomide.com>

Hi,

* Tony Lindgren <tony@atomide.com> [181119 16:19]:
> * Peter Ujfalusi <peter.ujfalusi@ti.com> [181119 10:16]:
> > On 2018-11-13 20:06, Tony Lindgren wrote:
> > > Looks like the IRQ_TYPE_NONE issue still is there for omap5 and
> > > should be fixed with IRQ_TYPE_HIGH.
> > > 
> > > No idea about why palmas interrupts would stop working though,
> > > Peter, do you have any ideas on this one?
> > 
> > No, I don't.
> > The INT polarity can be changed in Palmas.
> > based on the pdata->irq_flags (queried via irqd_get_trigger_type())
> > the code  configures it:
> > 
> > if (pdata->irq_flags & IRQ_TYPE_LEVEL_HIGH)
> > 	reg = PALMAS_POLARITY_CTRL_INT_POLARITY;
> > else
> > 	reg = 0;
> > 
> > and we pass the same irq_flags to the regmap_add_irq_chip()
> > IRQ_TYPE_LEVEL_HIGH == IRQF_TRIGGER_HIGH == 0x00000004
> > 
> > A change in DT should be enough, no need to patch palmas.c, imho.
> 
> But it's not. I'm now wondering if wakeupgen is inverting the
> polarity for this interrupt?
> 
> GIC docs say this about SPI interrupts:
> 
> "SPI is triggered on a rising edge or is active-HIGH level-sensitive."
> 
> So when setting IRQ_TYPE_LEVEL_HIGH in dts, we still must not
> invert the polarity in palmas while tegra needs to. So either
> tegra114 hardware is inverting the polarity, or omap5 wakeupgen
> is.
> 
> Does the palmas trm say which way PALMAS_POLARITY_CTRL
> triggers if PALMAS_POLARITY_CTRL_INT_POLARITY is set?
> 
> Also note that dra7 is using a gpio for palmas interrupt.

Well so commit 7e9d474954f4 ("ARM: tegra: Correct polarity for
Tegra114 PMIC interrupt") states that tegra114 inverts the
polarity of the PMIC interrupt. So adding Jon and Thierry to Cc.

So it seems that commit df545d1cd01a ("mfd: palmas: Provide
irq flags through DT/platform data") wrongly sets the
PALMAS_POLARITY_CTRL_INT_POLARITY on IRQ_TYPE_LEVEL_HIGH
while it should set it on IRQ_TYPE_LEVEL_LOW.

I think the fix needs to set the polarity using
of_machine_is_compatible() and probably also add a new
compatible to palmas.c for "ti,palmas-tegra114" to properly
deal with the inverted interrupt. Or add a property for
"interrupt-inverted". In any case, it seems that the
of_machine_is_compatible() is also needed too to avoid
breaking use with dtb files.

Jon & Thierry, can you guys please check and confirm this?

Regards,

Tony

  reply	other threads:[~2018-11-19 17:14 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-20 16:37 omap5 fixing palmas IRQ_TYPE_NONE warning leads to gpadc timeouts Belisko Marek
2018-07-03  8:45 ` Tony Lindgren
2018-07-03 18:31   ` Belisko Marek
2018-11-13 18:06     ` Tony Lindgren
2018-11-14 17:03       ` Tony Lindgren
2018-11-14 17:26         ` Tony Lindgren
2018-11-19 10:18       ` Peter Ujfalusi
2018-11-19 10:18         ` Peter Ujfalusi
2018-11-19 16:19         ` Tony Lindgren
2018-11-19 17:14           ` Tony Lindgren [this message]
2018-11-20 11:14             ` Jon Hunter
2018-11-20 11:14               ` Jon Hunter
2018-11-23 16:48               ` Tony Lindgren
2018-11-26  9:36                 ` Thierry Reding
2018-11-26  9:36                   ` Thierry Reding
2018-11-26  9:49                   ` Peter Ujfalusi
2018-11-26  9:49                     ` Peter Ujfalusi
2018-11-26 10:25                     ` Thierry Reding
2018-11-26 10:25                       ` Thierry Reding
2018-11-26 19:32                       ` Tony Lindgren
2018-11-26 20:17                         ` Jon Hunter
2018-11-26 20:17                           ` Jon Hunter
2018-11-27 17:55                           ` Tony Lindgren
2018-11-27 18:17                             ` Tony Lindgren
2018-11-26 10:13                 ` Jon Hunter
2018-11-26 10:13                   ` Jon Hunter
2018-11-20 12:22             ` Laxman Dewangan
2018-11-20 12:22               ` Laxman Dewangan
2018-11-26 10:14             ` Thierry Reding
2018-11-26 10:14               ` Thierry Reding
2018-11-26 19:14               ` Tony Lindgren
2018-11-26 19:19                 ` Santosh Shilimkar
2018-11-27 18:03               ` Tony Lindgren
2018-11-20  7:36           ` Peter Ujfalusi
2018-11-20  7:36             ` Peter Ujfalusi

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=20181119171406.GQ53235@atomide.com \
    --to=tony@atomide.com \
    --cc=hns@goldelico.com \
    --cc=jonathanh@nvidia.com \
    --cc=ldewangan@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=marek.belisko@gmail.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=treding@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.