Hi Magnus,
On Wed, Mar 21, 2018 at 11:34 AM, Geert Uytterhoeven
<[email protected]> wrote:
> On Tue, Mar 20, 2018 at 9:20 AM, Magnus Damm <[email protected]> wrote:
>> From: Magnus Damm <[email protected]>
>>
>> Booting sh73a0 KZM9G results in the following on the console:
>>
>> [ 0.030000] renesas_intc_irqpin e6900000.interrupt-controller: driving 8
>> irqs
>> [ 0.040000] random: crng init done
>> [ 0.120000] irq 35: nobody cared (try booting with the "irqpoll" option)
>> [ 0.120000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.16.0-rc5 #4
>> [ 0.120000] Hardware name: Generic SH73A0 (Flattened Device Tree)
>> ...
>> [ 0.120000] Disabling IRQ #35
>> [ 0.120000] renesas_intc_irqpin e6900004.interrupt-controller: driving 8
>> irqs
>
> Thanks for bringing this to my attention again. I always assumed it was one of
> the IIO devices keeping an IRQ line asserted, but it turns out I was wrong...
>
>> Judging by the friendly board documentation there is nothing hooked up to
>> that IRQ line. I wish we had proper schematics and not a less detailed
>> board manual.
>
> Oh there is: PORT54/IRQ10/FSICCK is driven by the same 11.2896 MHz
> oscillator (OSC4) as FSIACK.
>
>> With this patch I've tried to extend the irqpin driver to mask all interrupts
>> on boot but it does not seem to help. Perhaps the PFC hardware needs to be
>> configured somehow. More effort is needed to solve this issue.
>
> That pin is part of the HDMI interface, cfr. section 5.27.
>
> I've tried the below, but it doesn't work, as the interrupt controller is
> probed
> before the pfc (it has to, due to dependencies from pfc on irqpin[0-3]).
>
> --- a/arch/arm/boot/dts/sh73a0-kzm9g.dts
> +++ b/arch/arm/boot/dts/sh73a0-kzm9g.dts
> @@ -331,6 +331,15 @@
> };
>
> &pfc {
> + pinctrl-0 = <&fsic_pins>;
> + pinctrl-names = "default";
> +
> + fsic_pins: hdmi {
> + /* FSICCK is driven by OSC4, causing interrupt storm */
> + groups = "fsic_mclk_in";
> + function = "fsic";
> + };
> +
> i2c3_pins: i2c3 {
> groups = "i2c3_1";
> function = "i2c3";
>
> So probably we need some early quirk in pfc-sh73a0.c, to configure the
> pin as fsicck on kzm9g.
That's done by switching PORT54 from FN0 to FN6, i.e. changing 0xe6051036
from 0xa0 to 0xa6.
I did that from U-Boot, and verified it's still that way when the PFC driver
initializes, but it doesn't help, with or without your patch.
So it seems more likely the intc-irqpin driver is not disabling interrupts that
are not requested?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds