mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-28 13:34:38 +08:00
44e259ac90
The PMU device contains an interrupt controller, power control and resets. The interrupt controller is a little sub-standard in that there is no race free way to clear down pending interrupts, so we try to avoid problems by reducing the window as much as possible, and clearing as infrequently as possible. The interrupt support is implemented using an IRQ domain, and the parent interrupt referenced in the standard DT way. The power domains and reset support is closely related - there is a defined sequence for powering down a domain which is tightly coupled with asserting the reset. Hence, it makes sense to group these two together, and in order to avoid any locking contention disrupting this sequence, we avoid the use of syscon or regmap. This patch adds the core PMU driver: power domains must be defined in the DT file in order to make use of them. The reset controller can be referenced in the standard way for reset controllers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
128 lines
3.1 KiB
Plaintext
128 lines
3.1 KiB
Plaintext
menuconfig ARCH_MVEBU
|
|
bool "Marvell Engineering Business Unit (MVEBU) SoCs" if (ARCH_MULTI_V7 || ARCH_MULTI_V5)
|
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
|
select CLKSRC_MMIO
|
|
select GENERIC_IRQ_CHIP
|
|
select PINCTRL
|
|
select PLAT_ORION
|
|
select SOC_BUS
|
|
select MVEBU_MBUS
|
|
select ZONE_DMA if ARM_LPAE
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select PCI_QUIRKS if PCI
|
|
select OF_ADDRESS_PCI
|
|
|
|
if ARCH_MVEBU
|
|
|
|
config MACH_MVEBU_ANY
|
|
bool
|
|
|
|
config MACH_MVEBU_V7
|
|
bool
|
|
select ARMADA_370_XP_TIMER
|
|
select CACHE_L2X0
|
|
select ARM_CPU_SUSPEND
|
|
select MACH_MVEBU_ANY
|
|
|
|
config MACH_ARMADA_370
|
|
bool "Marvell Armada 370 boards" if ARCH_MULTI_V7
|
|
select ARMADA_370_CLK
|
|
select CPU_PJ4B
|
|
select MACH_MVEBU_V7
|
|
select PINCTRL_ARMADA_370
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Armada 370 SoC with device tree.
|
|
|
|
config MACH_ARMADA_375
|
|
bool "Marvell Armada 375 boards" if ARCH_MULTI_V7
|
|
select ARM_ERRATA_720789
|
|
select ARM_ERRATA_753970
|
|
select ARM_GIC
|
|
select ARMADA_375_CLK
|
|
select HAVE_ARM_SCU
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_SMP
|
|
select MACH_MVEBU_V7
|
|
select PINCTRL_ARMADA_375
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Armada 375 SoC with device tree.
|
|
|
|
config MACH_ARMADA_38X
|
|
bool "Marvell Armada 380/385 boards" if ARCH_MULTI_V7
|
|
select ARM_ERRATA_720789
|
|
select ARM_ERRATA_753970
|
|
select ARM_GIC
|
|
select ARMADA_38X_CLK
|
|
select HAVE_ARM_SCU
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_SMP
|
|
select MACH_MVEBU_V7
|
|
select PINCTRL_ARMADA_38X
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Armada 380/385 SoC with device tree.
|
|
|
|
config MACH_ARMADA_39X
|
|
bool "Marvell Armada 39x boards" if ARCH_MULTI_V7
|
|
select ARM_GIC
|
|
select ARMADA_39X_CLK
|
|
select CACHE_L2X0
|
|
select HAVE_ARM_SCU
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_SMP
|
|
select MACH_MVEBU_V7
|
|
select PINCTRL_ARMADA_39X
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Armada 39x SoC with device tree.
|
|
|
|
config MACH_ARMADA_XP
|
|
bool "Marvell Armada XP boards" if ARCH_MULTI_V7
|
|
select ARMADA_XP_CLK
|
|
select CPU_PJ4B
|
|
select MACH_MVEBU_V7
|
|
select PINCTRL_ARMADA_XP
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Armada XP SoC with device tree.
|
|
|
|
config MACH_DOVE
|
|
bool "Marvell Dove boards" if ARCH_MULTI_V7
|
|
select CACHE_L2X0
|
|
select CPU_PJ4
|
|
select DOVE_CLK
|
|
select MACH_MVEBU_ANY
|
|
select ORION_IRQCHIP
|
|
select ORION_TIMER
|
|
select PM_GENERIC_DOMAINS if PM
|
|
select PINCTRL_DOVE
|
|
help
|
|
Say 'Y' here if you want your kernel to support the
|
|
Marvell Dove using flattened device tree.
|
|
|
|
config MACH_KIRKWOOD
|
|
bool "Marvell Kirkwood boards" if ARCH_MULTI_V5
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select CPU_FEROCEON
|
|
select KIRKWOOD_CLK
|
|
select MACH_MVEBU_ANY
|
|
select ORION_IRQCHIP
|
|
select ORION_TIMER
|
|
select PCI
|
|
select PCI_QUIRKS
|
|
select PINCTRL_KIRKWOOD
|
|
help
|
|
Say 'Y' here if you want your kernel to support boards based
|
|
on the Marvell Kirkwood device tree.
|
|
|
|
config MACH_NETXBIG
|
|
bool "LaCie 2Big and 5Big Network v2"
|
|
depends on MACH_KIRKWOOD
|
|
help
|
|
Say 'Y' here if you want your kernel to support the
|
|
LaCie 2Big and 5Big Network v2
|
|
|
|
endif
|