[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150311005451.GB11701@verge.net.au>
Date: Wed, 11 Mar 2015 09:54:52 +0900
From: Simon Horman <horms@...ge.net.au>
To: Geert Uytterhoeven <geert+renesas@...der.be>
Cc: Magnus Damm <magnus.damm@...il.com>,
Support Opensource <support.opensource@...semi.com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Wolfram Sang <wsa@...-dreams.de>, linux-sh@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator
quirk
On Mon, Mar 09, 2015 at 08:50:40PM +0100, Geert Uytterhoeven wrote:
> The r8a7790/lager and r8a7791/koelsch development boards have da9063 and
> da9210 regulators. Both regulators have their interrupt request lines
> tied to the same interrupt pin (IRQ2) on the SoC.
>
> After cold boot or da9063-induced restart, both the da9063 and da9210
> seem to assert their interrupt request lines. Hence as soon as one
> driver requests this irq, it gets stuck in an interrupt storm, as it
> only manages to deassert its own interrupt request line, and the other
> driver hasn't installed an interrupt handler yet.
>
> To handle this, install a quirk that masks the interrupts in both the
> da9063 and da9210. This quirk has to run after the i2c master driver
> has been initialized, but before the i2c slave drivers are initialized.
> As it depends on i2c, select I2C if one of the affected platforms is
> enabled in the kernel config.
>
> On koelsch, the following happens:
>
> - Cold boot or reboot using the da9063 restart handler:
>
> IRQ2 is asserted, installing da9063/da9210 regulator quirk
> ...
> i2c i2c-6: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb
> i2c 6-0058: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb
> i2c 6-0058: Detected da9063
> i2c 6-0058: Masking da9063 interrupt sources
> i2c 6-0068: regulator_quirk_notify: 1, IRQC_MONITOR = 0x3fb
> i2c 6-0068: Detected da9210
> i2c 6-0068: Masking da9210 interrupt sources
> i2c 6-0068: IRQ2 is not asserted, removing quirk
>
> - Warm boot (reset button):
>
> rcar_gen2_regulator_quirk: IRQ2 is not asserted, not installing quirk
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@...der.be>
> Tested-by: Wolfram Sang <wsa+renesas@...g-engineering.com>
> Reviewed-by: Mark Brown <broonie@...nel.org>
Thanks, I have queued this up for v4.1.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists