mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
925d31668d
Commit51bc085d64
("PCI: Improve host drivers compile test coverage") added configuration options to allow PCI host controller drivers to be compile tested on all architectures. Some host controller drivers (eg PCIE_ALTERA) config entries select the PCI_DOMAINS config option to enable PCI domains management in the kernel. Now that host controller drivers can be compiled on all architectures, this triggers build regressions on arches that do not implement the PCI_DOMAINS required API (ie pci_domain_nr()): drivers/ata/pata_ali.c: In function 'ali_init_chipset': drivers/ata/pata_ali.c:469:38: error: implicit declaration of function 'pci_domain_nr'; did you mean 'pci_iomap_wc'? Furthemore, some software configurations (ie Jailhouse) require a PCI_DOMAINS enabled kernel to configure multiple host controllers without having an explicit dependency on the ARM platform on which they run. Make PCI_DOMAINS a visible configuration option on ARM so that software configurations that need it can manually select it and move the PCI_DOMAINS selection from PCI controllers configuration file to ARM sub-arch config entries that currently require it, fixing the issue. Fixes:51bc085d64
("PCI: Improve host drivers compile test coverage") Link: https://lkml.kernel.org/r/20180612170229.GA10141@roeck-us.net Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Bjorn Helgaas <helgaas@kernel.org> Acked-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Ley Foon Tan <ley.foon.tan@intel.com> Acked-by: Rob Herring <robh@kernel.org> Cc: Scott Branden <scott.branden@broadcom.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Guenter Roeck <linux@roeck-us.net>
226 lines
6.1 KiB
Plaintext
226 lines
6.1 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
menuconfig ARCH_BCM
|
|
bool "Broadcom SoC Support"
|
|
depends on ARCH_MULTI_V6_V7
|
|
help
|
|
This enables support for Broadcom ARM based SoC chips
|
|
|
|
if ARCH_BCM
|
|
|
|
comment "IPROC architected SoCs"
|
|
|
|
config ARCH_BCM_IPROC
|
|
bool
|
|
select ARM_GIC
|
|
select CACHE_L2X0
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select ARM_GLOBAL_TIMER
|
|
select CLKSRC_MMIO
|
|
select GPIOLIB
|
|
select ARM_AMBA
|
|
select PINCTRL
|
|
select PCI_DOMAINS if PCI
|
|
help
|
|
This enables support for systems based on Broadcom IPROC architected SoCs.
|
|
The IPROC complex contains one or more ARM CPUs along with common
|
|
core peripherals. Application specific SoCs are created by adding a
|
|
uArchitecture containing peripherals outside of the IPROC complex.
|
|
Currently supported SoCs are Cygnus.
|
|
|
|
config ARCH_BCM_CYGNUS
|
|
bool "Broadcom Cygnus Support"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_IPROC
|
|
help
|
|
Enable support for the Cygnus family,
|
|
which includes the following variants:
|
|
BCM11300, BCM11320, BCM11350, BCM11360,
|
|
BCM58300, BCM58302, BCM58303, BCM58305.
|
|
|
|
config ARCH_BCM_HR2
|
|
bool "Broadcom Hurricane 2 SoC support"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_IPROC
|
|
help
|
|
Enable support for the Hurricane 2 family,
|
|
which includes the following variants:
|
|
BCM53342, BCM53343, BCM53344, BCM53346.
|
|
|
|
config ARCH_BCM_NSP
|
|
bool "Broadcom Northstar Plus SoC Support"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_IPROC
|
|
select ARM_ERRATA_754322
|
|
select ARM_ERRATA_775420
|
|
select ARM_ERRATA_764369 if SMP
|
|
select HAVE_SMP
|
|
select THERMAL
|
|
select THERMAL_OF
|
|
help
|
|
Support for Broadcom Northstar Plus SoC.
|
|
Broadcom Northstar Plus family of SoCs are used for switching control
|
|
and management applications as well as residential router/gateway
|
|
applications. The SoC features dual core Cortex A9 ARM CPUs,
|
|
integrating several peripheral interfaces including multiple Gigabit
|
|
Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
|
|
NAND flash, SATA and several other IO controllers.
|
|
|
|
config ARCH_BCM_5301X
|
|
bool "Broadcom BCM470X / BCM5301X ARM SoC"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_IPROC
|
|
select ARM_ERRATA_754322
|
|
select ARM_ERRATA_775420
|
|
select ARM_ERRATA_764369 if SMP
|
|
select HAVE_SMP
|
|
|
|
help
|
|
Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
|
|
|
|
This is a network SoC line mostly used in home routers and
|
|
wifi access points, its internal name is Northstar.
|
|
This includes the following SoC: BCM53010, BCM53011, BCM53012,
|
|
BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
|
|
BCM4708 and BCM4709.
|
|
|
|
Do not confuse this with the BCM4760 which is a totally
|
|
different SoC or with the older BCM47XX and BCM53XX based
|
|
network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
|
|
|
|
comment "KONA architected SoCs"
|
|
|
|
config ARCH_BCM_MOBILE
|
|
bool
|
|
select GPIOLIB
|
|
select ARM_ERRATA_754322
|
|
select ARM_ERRATA_775420
|
|
select ARM_GIC
|
|
select GPIO_BCM_KONA
|
|
select TICK_ONESHOT
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select PINCTRL
|
|
select ARCH_BCM_MOBILE_SMP if SMP
|
|
select BCM_KONA_TIMER
|
|
help
|
|
This enables support for systems based on Broadcom mobile SoCs.
|
|
|
|
config ARCH_BCM_281XX
|
|
bool "Broadcom BCM281XX SoC family"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_MOBILE
|
|
select HAVE_SMP
|
|
help
|
|
Enable support for the BCM281XX family, which includes
|
|
BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
|
|
variants.
|
|
|
|
config ARCH_BCM_21664
|
|
bool "Broadcom BCM21664 SoC family"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_MOBILE
|
|
select HAVE_SMP
|
|
help
|
|
Enable support for the BCM21664 family, which includes
|
|
BCM21663 and BCM21664 variants.
|
|
|
|
config ARCH_BCM_23550
|
|
bool "Broadcom BCM23550 SoC"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_MOBILE
|
|
select HAVE_SMP
|
|
help
|
|
Enable support for the BCM23550.
|
|
|
|
config ARCH_BCM_MOBILE_L2_CACHE
|
|
bool "Broadcom mobile SoC level 2 cache support"
|
|
depends on ARCH_BCM_281XX || ARCH_BCM_21664
|
|
default y
|
|
select CACHE_L2X0
|
|
select ARCH_BCM_MOBILE_SMC
|
|
|
|
config ARCH_BCM_MOBILE_SMC
|
|
bool
|
|
depends on ARCH_BCM_MOBILE
|
|
|
|
config ARCH_BCM_MOBILE_SMP
|
|
bool
|
|
depends on ARCH_BCM_MOBILE
|
|
select HAVE_ARM_SCU
|
|
select ARM_ERRATA_764369
|
|
help
|
|
SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
|
|
Provided as an option so SMP support for SoCs of this type
|
|
can be disabled for an SMP-enabled kernel.
|
|
|
|
comment "Other Architectures"
|
|
|
|
config ARCH_BCM2835
|
|
bool "Broadcom BCM2835 family"
|
|
depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
|
|
select GPIOLIB
|
|
select ARM_AMBA
|
|
select ARM_ERRATA_411920 if ARCH_MULTI_V6
|
|
select ARM_TIMER_SP804
|
|
select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
|
|
select TIMER_OF
|
|
select BCM2835_TIMER
|
|
select PINCTRL
|
|
select PINCTRL_BCM2835
|
|
help
|
|
This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
|
|
This SoC is used in the Raspberry Pi and Roku 2 devices.
|
|
|
|
config ARCH_BCM_53573
|
|
bool "Broadcom BCM53573 SoC series support"
|
|
depends on ARCH_MULTI_V7
|
|
select ARCH_BCM_IPROC
|
|
select HAVE_ARM_ARCH_TIMER
|
|
help
|
|
BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
|
|
embedded in the chipset.
|
|
This SoC line is mostly used in home routers and is some cheaper
|
|
alternative for Northstar family.
|
|
|
|
The base chip is BCM53573 and there are some packaging modifications
|
|
like BCM47189 and BCM47452.
|
|
|
|
config ARCH_BCM_63XX
|
|
bool "Broadcom BCM63xx DSL SoC"
|
|
depends on ARCH_MULTI_V7
|
|
depends on MMU
|
|
select ARM_ERRATA_754322
|
|
select ARM_ERRATA_764369 if SMP
|
|
select ARM_GIC
|
|
select ARM_GLOBAL_TIMER
|
|
select CACHE_L2X0
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_SMP
|
|
help
|
|
This enables support for systems based on Broadcom DSL SoCs.
|
|
It currently supports the 'BCM63XX' ARM-based family, which includes
|
|
the BCM63138 variant.
|
|
|
|
config ARCH_BRCMSTB
|
|
bool "Broadcom BCM7XXX based boards"
|
|
depends on ARCH_MULTI_V7
|
|
select ARM_GIC
|
|
select ARM_ERRATA_798181 if SMP
|
|
select HAVE_ARM_ARCH_TIMER
|
|
select BRCMSTB_L2_IRQ
|
|
select BCM7120_L2_IRQ
|
|
select ARCH_HAS_HOLES_MEMORYMODEL
|
|
select ZONE_DMA if ARM_LPAE
|
|
select SOC_BRCMSTB
|
|
select SOC_BUS
|
|
help
|
|
Say Y if you intend to run the kernel on a Broadcom ARM-based STB
|
|
chipset.
|
|
|
|
This enables support for Broadcom ARM-based set-top box chipsets,
|
|
including the 7445 family of chips.
|
|
|
|
endif
|