@@ -107,8 +107,15 @@ config ARCH_BCM_MOBILE_SMP
comment "Other Architectures"
+config ARCH_BCM283X
+ bool
+ help
+ This option should be selected by the 2835 and 2836 chips to
+ enable common platform features.
+
config ARCH_BCM2835
bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
+ select ARCH_BCM283X
select ARCH_REQUIRE_GPIOLIB
select ARM_AMBA
select ARM_ERRATA_411920
@@ -31,8 +31,8 @@ ifeq ($(call as-instr,.arch_extension sec,as_has_sec),as_has_sec)
CFLAGS_bcm_kona_smc.o += -Wa,-march=armv7-a+sec -DREQUIRES_SEC
endif
-# BCM2835
-obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o
+# BCM283x
+obj-$(CONFIG_ARCH_BCM283X) += board_bcm2835.o
# BCM5301X
obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o
@@ -89,12 +89,12 @@ config HW_RANDOM_BCM63XX
If unusure, say Y.
config HW_RANDOM_BCM2835
- tristate "Broadcom BCM2835 Random Number Generator support"
- depends on ARCH_BCM2835
+ tristate "Broadcom BCM283x Random Number Generator support"
+ depends on ARCH_BCM283X
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
- Generator hardware found on the Broadcom BCM2835 SoCs.
+ Generator hardware found on the Broadcom BCM283x SoCs.
To compile this driver as a module, choose M here: the
module will be called bcm2835-rng
@@ -19,7 +19,7 @@ endif
obj-$(CONFIG_MACH_ASM9260) += clk-asm9260.o
obj-$(CONFIG_COMMON_CLK_AXI_CLKGEN) += clk-axi-clkgen.o
obj-$(CONFIG_ARCH_AXXIA) += clk-axm5516.o
-obj-$(CONFIG_ARCH_BCM2835) += clk-bcm2835.o
+obj-$(CONFIG_ARCH_BCM283X) += clk-bcm2835.o
obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o
obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o
obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o
@@ -18,7 +18,7 @@ obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o
obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o
obj-$(CONFIG_ARMADA_370_XP_TIMER) += time-armada-370-xp.o
obj-$(CONFIG_ORION_TIMER) += time-orion.o
-obj-$(CONFIG_ARCH_BCM2835) += bcm2835_timer.o
+obj-$(CONFIG_ARCH_BCM283X) += bcm2835_timer.o
obj-$(CONFIG_ARCH_CLPS711X) += clps711x-timer.o
obj-$(CONFIG_ARCH_ATLAS7) += timer-atlas7.o
obj-$(CONFIG_ARCH_MOXART) += moxart_timer.o
@@ -332,8 +332,8 @@ config DMA_OMAP
select DMA_VIRTUAL_CHANNELS
config DMA_BCM2835
- tristate "BCM2835 DMA engine support"
- depends on ARCH_BCM2835
+ tristate "BCM283x DMA engine support"
+ depends on ARCH_BCM283X
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
@@ -361,11 +361,11 @@ config I2C_AXXIA
an error.
config I2C_BCM2835
- tristate "Broadcom BCM2835 I2C controller"
- depends on ARCH_BCM2835
+ tristate "Broadcom BCM283x I2C controller"
+ depends on ARCH_BCM283X
help
If you say yes to this option, support will be included for the
- BCM2835 I2C controller.
+ BCM283x I2C controller.
If you don't know what to do here, say N.
@@ -1,6 +1,6 @@
obj-$(CONFIG_IRQCHIP) += irqchip.o
-obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o
+obj-$(CONFIG_ARCH_BCM283X) += irq-bcm2835.o
obj-$(CONFIG_ARCH_EXYNOS) += exynos-combiner.o
obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o
obj-$(CONFIG_ARCH_MMP) += irq-mmp.o
@@ -286,12 +286,12 @@ config MMC_SDHCI_BCM_KONA
If you have a controller with this interface, say Y or M here.
config MMC_SDHCI_BCM2835
- tristate "SDHCI platform support for the BCM2835 SD/MMC Controller"
- depends on ARCH_BCM2835
+ tristate "SDHCI platform support for the BCM283x SD/MMC Controller"
+ depends on ARCH_BCM283X
depends on MMC_SDHCI_PLTFM
select MMC_SDHCI_IO_ACCESSORS
help
- This selects the BCM2835 SD/MMC controller. If you have a BCM2835
+ This selects the BCM283x SD/MMC controller. If you have a BCM283x
platform with SD or MMC devices, say Y or M here.
If unsure, say N.
@@ -84,10 +84,10 @@ config PWM_BCM_KONA
will be called pwm-bcm-kona.
config PWM_BCM2835
- tristate "BCM2835 PWM support"
- depends on ARCH_BCM2835
+ tristate "BCM283x PWM support"
+ depends on ARCH_BCM283X
help
- PWM framework driver for BCM2835 controller (Raspberry Pi)
+ PWM framework driver for BCM283x controller (Raspberry Pi)
To compile this driver as a module, choose M here: the module
will be called pwm-bcm2835.
@@ -76,12 +76,12 @@ config SPI_ATMEL
many AT32 (AVR32) and AT91 (ARM) chips.
config SPI_BCM2835
- tristate "BCM2835 SPI controller"
- depends on ARCH_BCM2835 || COMPILE_TEST
+ tristate "BCM283x SPI controller"
+ depends on ARCH_BCM283X || COMPILE_TEST
help
This selects a driver for the Broadcom BCM2835 SPI master.
- The BCM2835 contains two types of SPI master controller; the
+ The BCM283x contains two types of SPI master controller; the
"universal SPI master", and the regular SPI controller. This driver
is for the regular SPI controller. Slave mode operation is not also
not supported.
@@ -1216,11 +1216,11 @@ config BCM63XX_WDT
config BCM2835_WDT
tristate "Broadcom BCM2835 hardware watchdog"
- depends on ARCH_BCM2835
+ depends on ARCH_BCM283X
select WATCHDOG_CORE
help
Watchdog driver for the built in watchdog hardware in Broadcom
- BCM2835 SoC.
+ BCM283x SoC.
To compile this driver as a loadable module, choose M here.
The module will be called bcm2835_wdt.
@@ -1,9 +1,9 @@
config SND_BCM2835_SOC_I2S
- tristate "SoC Audio support for the Broadcom BCM2835 I2S module"
- depends on ARCH_BCM2835 || COMPILE_TEST
+ tristate "SoC Audio support for the Broadcom BCM283x I2S module"
+ depends on ARCH_BCM283X || COMPILE_TEST
select SND_SOC_GENERIC_DMAENGINE_PCM
select REGMAP_MMIO
help
Say Y or M if you want to add support for codecs attached to
- the BCM2835 I2S interface. You will also need
+ the BCM283x I2S interface. You will also need
to select the audio interfaces to support below.
The 2836 in the Raspberry Pi 2 is the same as the 2835 in terms of peripherals, it's just the CPU implementation that has changed. We need a new ARCH_BCM2836 to handle the CPU change, so make a hidden ARCH_BCM283X Kconfig option for the peripherals to depend on. Signed-off-by: Eric Anholt <eric@anholt.net> --- arch/arm/mach-bcm/Kconfig | 7 +++++++ arch/arm/mach-bcm/Makefile | 4 ++-- drivers/char/hw_random/Kconfig | 6 +++--- drivers/clk/Makefile | 2 +- drivers/clocksource/Makefile | 2 +- drivers/dma/Kconfig | 4 ++-- drivers/i2c/busses/Kconfig | 6 +++--- drivers/irqchip/Makefile | 2 +- drivers/mmc/host/Kconfig | 6 +++--- drivers/pwm/Kconfig | 6 +++--- drivers/spi/Kconfig | 6 +++--- drivers/watchdog/Kconfig | 4 ++-- sound/soc/bcm/Kconfig | 6 +++--- 13 files changed, 34 insertions(+), 27 deletions(-)