linux/arch/arm/mach-shmobile
Arnd Bergmann ffe971ef40 Renesas ARM Based SoC da9063/da9210 Regulator Quirk for v4.1
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.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVBgAuAAoJENfPZGlqN0++Ks0P/04y8/pbeyOIz3jnPXvXKjE0
 ouZc+wcoIlJzV2uTpHnfNsHeepKG7HBHF3GH6DLn6Au21W68JwJ3fbV7Lo0xCI2P
 gmphYThMfRLLxy0wx/tJhG99KDannzHxEIVpTjS7IYWCJMB/WX0s2pjxf5GlFlDu
 sfp1AdFlw0QuOa55lUk7nluyrw6OfJoAKUZVVeK8q8gZXRju2ecnv0yeS511d38k
 vrRhYip2Gone69GFIusdhDozng51YdbnAle4Z2ZLpzrkIFp+yONYvLnDlRXtxJqH
 UAL6cjX4O2WewO5bgnF6dnVnwm2wfXb3WcsfWQVmpQ7ujk0GsehwGvECFODh/ikm
 IViNijKOMhFJhJlR56bED/a1fDSWZs8eQf1q1lsUYCJDvsZ1bf15aaj5lVI2nZ+n
 v0/p4ZbzR2dNhPNEveKKMcLO+LNHmOAH9QgvrLLHrs7osfYimht+Rd7z1mRoNnl4
 nyg/SqdPVuEu52uA1EXuDPdwJm9oGU/QNaazaR3GROPvVbgodYhnni7ors5nOFyI
 XRgcnW06yWUoAn5BNW67p0/mg2F1YELmp652CnWj80s7O53vc0c5vF0vmgy6fSb3
 mlUqDDtUvyLROdjgW0elWph6nRIE5nFBZEylQf3PVedvKa5VxrJ6Epd03cgLw1GQ
 qPeQl8tUW2z48BSTMGNb
 =EXNz
 -----END PGP SIGNATURE-----

Merge tag 'renesas-da9063-da9210-quirk-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC da9063/da9210 Regulator Quirk for v4.1" from Simon Horman:

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.

* tag 'renesas-da9063-da9210-quirk-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: lager: Add da9063 PMIC device node for system restart
  ARM: shmobile: lager dts: Add da9210 regulator interrupt
  ARM: shmobile: koelsch: Add da9063 PMIC device node for system restart
  ARM: shmobile: koelsch dts: Add da9210 regulator interrupt
  ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk
2015-03-16 15:36:44 +01:00
..
include/mach Second Round of Renesas ARM Based SoC Updates for v3.17 2014-07-12 09:44:52 -07:00
Kconfig ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk 2015-03-11 09:52:12 +09:00
Makefile ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk 2015-03-11 09:52:12 +09:00
Makefile.boot ARM: shmobile: lager: Remove legacy board support 2014-12-21 17:03:44 +09:00
board-ape6evm-reference.c Renesas ARM Based SoC r8a73a4 DT Timers Updates for v3.19 2014-10-30 09:54:13 +09:00
board-ape6evm.c Third Round of Renesas ARM Based SoC Fixes for v3.19 2015-02-01 08:51:12 -08:00
board-armadillo800eva.c ARM: SoC platform changes for 3.19 2014-12-09 14:38:28 -08:00
board-bockw-reference.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
board-bockw.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
board-kzm9g-reference.c ARM: SoC platform changes for 3.19 2014-12-09 14:38:28 -08:00
board-kzm9g.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
board-mackerel.c media updates for v3.19-rc1 2014-12-11 11:49:23 -08:00
board-marzen-reference.c Second Round of Renesas ARM Based SoC Boards Cleanups for v3.19 2014-11-19 22:29:59 +01:00
board-marzen.c ARM: shmobile: marzen: Remove DU platform device 2014-12-02 07:25:09 +10:00
clock-r8a73a4.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
clock-r8a7740.c ARM: SoC cleanups for 3.19 2014-12-09 14:18:35 -08:00
clock-r8a7778.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
clock-r8a7779.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
clock-sh73a0.c ARM: shmobile: sh73a0 legacy/reference: Add missing INTCA0 clock for irqpin module 2014-12-21 17:11:18 +09:00
clock-sh7372.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
clock.c ARM: shmobile: Remove shmobile_clk_workaround() implementation 2014-10-30 10:14:57 +09:00
clock.h ARM: shmobile: Remove shmobile_clk_workaround() implementation 2014-10-30 10:14:57 +09:00
common.h ARM: shmobile: Separate APMU resource data into CPU dependant part 2014-11-04 09:31:23 +09:00
console.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
cpufreq.c cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' 2014-10-03 15:37:54 +02:00
cpuidle.c ARM: shmobile: cpuidle: use init/exit common routine 2013-04-23 13:45:22 +02:00
dma-register.h ARM: shmobile: dma: Use defines instead of hardcoded numbers 2014-08-20 09:09:23 +09:00
entry-intc.S
headsmp-scu.S ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
headsmp.S ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
intc-sh73a0.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
intc-sh7372.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
intc.h ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h 2014-08-22 12:23:32 +09:00
irqs.h ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h 2014-08-22 12:23:32 +09:00
platsmp-apmu.c ARM: shmobile: Separate APMU resource data into CPU dependant part 2014-11-04 09:31:23 +09:00
platsmp-apmu.h ARM: shmobile: Separate APMU resource data into CPU dependant part 2014-11-04 09:31:23 +09:00
platsmp-scu.c ARM: shmobile: Move common.h 2014-06-17 17:09:39 +09:00
platsmp.c ARM: shmobile: Move common.h 2014-06-17 17:09:39 +09:00
pm-r8a7740.c ARM: shmobile: R-Mobile: Store SYSC base address in rmobile_pm_domain 2015-01-13 09:33:19 +09:00
pm-r8a7779.c ARM: shmobile: Convert to genpd flags for PM clocks for r8a7779 2014-12-04 00:44:44 +01:00
pm-r8a7790.c Second Round of Renesas ARM Based SoC Updates for v3.17 2014-07-12 09:44:52 -07:00
pm-r8a7791.c ARM: shmobile: Allow r8a7791 to build non-SMP APMU code 2014-06-26 16:01:34 +09:00
pm-rcar.c ARM: shmobile: Cleanup pm-rcar.o build using Kconfig 2014-09-02 09:32:05 +09:00
pm-rcar.h ARM: shmobile: Move pm-rcar.h, cleanup r8a7779 case 2014-06-17 17:09:40 +09:00
pm-rmobile.c ARM: shmobile: R-Mobile: Special-case PM domains with memory-controllers 2015-01-16 11:02:42 +09:00
pm-rmobile.h ARM: shmobile: R-Mobile: Add DT support for PM domains 2015-01-15 08:38:14 +09:00
pm-sh73a0.c ARM: shmobile: Move common.h 2014-06-17 17:09:39 +09:00
pm-sh7372.c ARM: shmobile: R-Mobile: Store SYSC base address in rmobile_pm_domain 2015-01-13 09:33:19 +09:00
r8a73a4.h ARM: shmobile: r8a73a4: Remove empty r8a73a4_add_dt_devices 2014-10-24 11:54:49 +09:00
r8a7740.h ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
r8a7778.h Renesas ARM Based SoC Cleanup for v3.19 2014-11-04 14:43:02 -08:00
r8a7779.h ARM: shmobile: marzen-reference: Enable TMU0 in device tree 2014-08-17 09:00:56 +09:00
r8a7790.h ARM: shmobile: r8a7790: Remove legacy code 2014-12-21 17:03:50 +09:00
r8a7791.h ARM: shmobile: r8a7791: Remove legacy code 2014-10-30 10:14:57 +09:00
rcar-gen2.h ARM: shmobile: Add shared R-Car Gen2 CMA reservation code 2014-06-17 19:33:22 +09:00
regulator-quirk-rcar-gen2.c ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk 2015-03-11 09:52:12 +09:00
setup-emev2.c ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
setup-r7s72100.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
setup-r8a73a4.c Renesas ARM Based SoC r8a73a4 DT Timers Updates for v3.19 2014-10-30 09:54:13 +09:00
setup-r8a7740.c ARM: SoC cleanups 2015-02-17 09:17:33 -08:00
setup-r8a7778.c Second Round of Renesas ARM Based SoC Fixes for v3.19 2015-01-21 17:15:49 -08:00
setup-r8a7779.c Second Round of Renesas ARM Based SoC Fixes for v3.19 2015-01-21 17:15:49 -08:00
setup-r8a7790.c ARM: shmobile: r8a7790: Remove legacy code 2014-12-21 17:03:50 +09:00
setup-r8a7791.c ARM: shmobile: r8a7791: Remove legacy code 2014-10-30 10:14:57 +09:00
setup-r8a7794.c ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs 2014-09-16 15:01:58 +09:00
setup-rcar-gen2.c ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n 2015-02-24 07:13:54 +09:00
setup-sh73a0.c ARM: SoC driver updates 2015-02-17 09:38:59 -08:00
setup-sh7372.c ARM: SoC platform changes for 3.19 2014-12-09 14:38:28 -08:00
sh-gpio.h ARM: shmobile: mackerel: Use pinconf API to configure pin pull-down 2013-12-10 17:24:49 +09:00
sh73a0.h ARM: shmobile: sh73a0: Remove wrapper sh73a0_init_delay() 2014-10-24 13:07:01 +09:00
sh7372.h ARM: shmobile: Move sh7372.h 2014-06-25 16:50:00 +09:00
sleep-sh7372.S ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
smp-emev2.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
smp-r8a7779.c ARM: shmobile: r8a7779: No TWD setup in C for Multiplatform 2014-12-21 17:11:20 +09:00
smp-r8a7790.c ARM: shmobile: Separate APMU resource data into CPU dependant part 2014-11-04 09:31:23 +09:00
smp-r8a7791.c ARM: shmobile: r8a7791: Correct number of CPU cores 2014-11-04 09:31:27 +09:00
smp-sh73a0.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
suspend.c arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
timer.c Third Round of Renesas ARM Based SoC Fixes for v3.19 2015-02-01 08:51:12 -08:00