2013-11-09 19:33:48 +07:00
|
|
|
config ARCH_SHMOBILE
|
|
|
|
bool
|
2015-11-10 07:06:41 +07:00
|
|
|
|
|
|
|
config ARCH_SHMOBILE_MULTI
|
|
|
|
bool
|
2013-11-09 19:33:48 +07:00
|
|
|
|
2014-08-25 10:03:52 +07:00
|
|
|
config PM_RCAR
|
|
|
|
bool
|
2015-08-04 19:28:03 +07:00
|
|
|
select PM_GENERIC_DOMAINS if PM
|
2014-08-25 10:03:52 +07:00
|
|
|
|
2014-08-25 10:04:01 +07:00
|
|
|
config PM_RMOBILE
|
|
|
|
bool
|
2014-12-03 20:41:45 +07:00
|
|
|
select PM_GENERIC_DOMAINS
|
2014-08-25 10:04:01 +07:00
|
|
|
|
2014-08-25 10:03:34 +07:00
|
|
|
config ARCH_RCAR_GEN1
|
|
|
|
bool
|
2014-08-25 10:03:52 +07:00
|
|
|
select PM_RCAR if PM || SMP
|
2014-08-25 10:03:34 +07:00
|
|
|
select RENESAS_INTC_IRQPIN
|
|
|
|
select SYS_SUPPORTS_SH_TMU
|
|
|
|
|
2014-08-25 10:03:43 +07:00
|
|
|
config ARCH_RCAR_GEN2
|
|
|
|
bool
|
2014-08-25 10:03:52 +07:00
|
|
|
select PM_RCAR if PM || SMP
|
2014-08-25 10:03:43 +07:00
|
|
|
select RENESAS_IRQC
|
|
|
|
select SYS_SUPPORTS_SH_CMT
|
2014-11-05 00:38:28 +07:00
|
|
|
select PCI_DOMAINS if PCI
|
2014-08-25 10:03:43 +07:00
|
|
|
|
2014-08-25 10:03:25 +07:00
|
|
|
config ARCH_RMOBILE
|
|
|
|
bool
|
2014-12-03 20:41:45 +07:00
|
|
|
select PM_RMOBILE if PM
|
2014-08-25 10:03:25 +07:00
|
|
|
select SYS_SUPPORTS_SH_CMT
|
|
|
|
select SYS_SUPPORTS_SH_TMU
|
|
|
|
|
2015-11-10 07:06:41 +07:00
|
|
|
menuconfig ARCH_RENESAS
|
ARM: use "depends on" for SoC configs instead of "if" after prompt
Many ARM sub-architectures use prompts followed by "if" conditional,
but it is wrong.
Please notice the difference between
config ARCH_FOO
bool "Foo SoCs" if ARCH_MULTI_V7
and
config ARCH_FOO
bool "Foo SoCs"
depends on ARCH_MULTI_V7
These two are *not* equivalent!
In the former statement, it is not ARCH_FOO, but its prompt that
depends on ARCH_MULTI_V7. So, it is completely valid that ARCH_FOO
is selected by another, but ARCH_MULTI_V7 is still disabled. As it is
not unmet dependency, Kconfig never warns. This is probably not what
you want.
The former should be used only when you need to do so, and you really
understand what you are doing. (In most cases, it should be wrong!)
For enabling/disabling sub-architectures, the latter is always correct.
As a good side effect, this commit fixes some entries over 80 columns
(mach-imx, mach-integrator, mach-mbevu).
[Arnd: I note that there is not really a bug here, according to
the discussion that followed, but I can see value in being consistent
and in making the lines shorter]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Jun Nie <jun.nie@linaro.org>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Krzysztof Halasa <khc@piap.pl>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-11-16 10:06:10 +07:00
|
|
|
bool "Renesas ARM SoCs"
|
|
|
|
depends on ARCH_MULTI_V7 && MMU
|
2013-11-09 19:33:48 +07:00
|
|
|
select ARCH_SHMOBILE
|
2015-11-10 07:06:41 +07:00
|
|
|
select ARCH_SHMOBILE_MULTI
|
2013-07-18 03:31:09 +07:00
|
|
|
select HAVE_ARM_SCU if SMP
|
2014-02-02 05:35:44 +07:00
|
|
|
select HAVE_ARM_TWD if SMP
|
2013-07-18 03:31:09 +07:00
|
|
|
select ARM_GIC
|
2014-02-05 12:36:28 +07:00
|
|
|
select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
|
2014-04-08 05:39:19 +07:00
|
|
|
select NO_IOPORT_MAP
|
2013-07-18 03:31:09 +07:00
|
|
|
select PINCTRL
|
|
|
|
select ARCH_REQUIRE_GPIOLIB
|
2015-11-10 07:06:41 +07:00
|
|
|
select ZONE_DMA if ARM_LPAE
|
2013-07-18 03:31:09 +07:00
|
|
|
|
2015-11-10 07:06:41 +07:00
|
|
|
if ARCH_RENESAS
|
2013-07-18 03:31:09 +07:00
|
|
|
|
2014-06-10 21:06:10 +07:00
|
|
|
#comment "Renesas ARM SoCs System Type"
|
2013-07-18 03:31:09 +07:00
|
|
|
|
2013-07-18 03:31:18 +07:00
|
|
|
config ARCH_EMEV2
|
|
|
|
bool "Emma Mobile EV2"
|
2014-02-20 18:54:46 +07:00
|
|
|
select SYS_SUPPORTS_EM_STI
|
2013-07-18 03:31:18 +07:00
|
|
|
|
2013-11-07 06:31:25 +07:00
|
|
|
config ARCH_R7S72100
|
|
|
|
bool "RZ/A1H (R7S72100)"
|
2015-08-04 19:28:06 +07:00
|
|
|
select PM_GENERIC_DOMAINS if PM
|
2014-02-20 18:54:46 +07:00
|
|
|
select SYS_SUPPORTS_SH_MTU2
|
2013-11-07 06:31:25 +07:00
|
|
|
|
2014-12-17 23:18:17 +07:00
|
|
|
config ARCH_R8A73A4
|
|
|
|
bool "R-Mobile APE6 (R8A73A40)"
|
|
|
|
select ARCH_RMOBILE
|
|
|
|
select RENESAS_IRQC
|
|
|
|
|
2014-08-25 10:36:53 +07:00
|
|
|
config ARCH_R8A7740
|
|
|
|
bool "R-Mobile A1 (R8A77400)"
|
|
|
|
select ARCH_RMOBILE
|
|
|
|
select RENESAS_INTC_IRQPIN
|
|
|
|
|
2015-02-26 23:42:13 +07:00
|
|
|
config ARCH_R8A7778
|
|
|
|
bool "R-Car M1A (R8A77781)"
|
|
|
|
select ARCH_RCAR_GEN1
|
|
|
|
|
2014-05-15 18:32:05 +07:00
|
|
|
config ARCH_R8A7779
|
|
|
|
bool "R-Car H1 (R8A77790)"
|
2014-08-25 10:03:34 +07:00
|
|
|
select ARCH_RCAR_GEN1
|
2014-05-15 18:32:05 +07:00
|
|
|
|
2013-12-11 21:13:52 +07:00
|
|
|
config ARCH_R8A7790
|
|
|
|
bool "R-Car H2 (R8A77900)"
|
2014-08-25 10:03:43 +07:00
|
|
|
select ARCH_RCAR_GEN2
|
ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk
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@glider.be>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-03-10 02:50:40 +07:00
|
|
|
select I2C
|
2013-12-11 21:13:52 +07:00
|
|
|
|
2013-11-06 17:40:01 +07:00
|
|
|
config ARCH_R8A7791
|
2014-08-28 15:28:09 +07:00
|
|
|
bool "R-Car M2-W (R8A77910)"
|
2014-08-25 10:03:43 +07:00
|
|
|
select ARCH_RCAR_GEN2
|
ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk
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@glider.be>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-03-10 02:50:40 +07:00
|
|
|
select I2C
|
2013-11-06 17:40:01 +07:00
|
|
|
|
2015-06-01 21:22:54 +07:00
|
|
|
config ARCH_R8A7793
|
|
|
|
bool "R-Car M2-N (R8A7793)"
|
|
|
|
select ARCH_RCAR_GEN2
|
2015-06-01 21:22:57 +07:00
|
|
|
select I2C
|
2015-06-01 21:22:54 +07:00
|
|
|
|
2014-09-04 21:02:28 +07:00
|
|
|
config ARCH_R8A7794
|
|
|
|
bool "R-Car E2 (R8A77940)"
|
|
|
|
select ARCH_RCAR_GEN2
|
2013-07-18 03:31:18 +07:00
|
|
|
|
2015-01-09 20:08:50 +07:00
|
|
|
config ARCH_SH73A0
|
|
|
|
bool "SH-Mobile AG5 (R8A73A00)"
|
|
|
|
select ARCH_RMOBILE
|
|
|
|
select RENESAS_INTC_IRQPIN
|
2013-07-18 03:31:09 +07:00
|
|
|
endif
|