Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1ac922d authored by Stephen Warren's avatar Stephen Warren
Browse files

ARM: bcm2835: convert to multi-platform



This allows BCM2835 be included in a kernel build that supports multiple
SoCs at once, which is useful for distro kernels.

This change:
* Moves bcm2835's debug-macro.S into ARM's include/debug/, and hooks it
  into the relevant menu.
* Moves bcm2835's Kconfig into its own directory, as seems typical for
  multi-platform conversions.
* Removes bcm2835_soc.h, and moves the content to the files where it was
  used; just one usage per define.
* Deletes some headers and Makefile.boot that aren't needed now that we
  support multi-platform.

Signed-off-by: default avatarStephen Warren <swarren@wwwdotorg.org>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
parent f6161aa1
Loading
Loading
Loading
Loading
+2 −20
Original line number Diff line number Diff line
@@ -362,26 +362,6 @@ config ARCH_AT91
	  This enables support for systems based on Atmel
	  AT91RM9200 and AT91SAM9* processors.

config ARCH_BCM2835
	bool "Broadcom BCM2835 family"
	select ARCH_REQUIRE_GPIOLIB
	select ARM_AMBA
	select ARM_ERRATA_411920
	select ARM_TIMER_SP804
	select CLKDEV_LOOKUP
	select CLKSRC_OF
	select COMMON_CLK
	select CPU_V6
	select GENERIC_CLOCKEVENTS
	select MULTI_IRQ_HANDLER
	select PINCTRL
	select PINCTRL_BCM2835
	select SPARSE_IRQ
	select USE_OF
	help
	  This enables support for the Broadcom BCM2835 SoC. This SoC is
	  use in the Raspberry Pi, and Roku 2 devices.

config ARCH_CNS3XXX
	bool "Cavium Networks CNS3XXX family"
	select ARM_GIC
@@ -1037,6 +1017,8 @@ source "arch/arm/mach-at91/Kconfig"

source "arch/arm/mach-bcm/Kconfig"

source "arch/arm/mach-bcm2835/Kconfig"

source "arch/arm/mach-clps711x/Kconfig"

source "arch/arm/mach-cns3xxx/Kconfig"
+5 −0
Original line number Diff line number Diff line
@@ -89,6 +89,10 @@ choice
		bool "Kernel low-level debugging on 9263 and 9g45"
		depends on HAVE_AT91_DBGU1

	config DEBUG_BCM2835
		bool "Kernel low-level debugging on BCM2835 PL011 UART"
		depends on ARCH_BCM2835

	config DEBUG_CLPS711X_UART1
		bool "Kernel low-level debugging messages via UART1"
		depends on ARCH_CLPS711X
@@ -579,6 +583,7 @@ endchoice

config DEBUG_LL_INCLUDE
	string
	default "debug/bcm2835.S" if DEBUG_BCM2835
	default "debug/icedcc.S" if DEBUG_ICEDCC
	default "debug/imx.S" if DEBUG_IMX1_UART || \
				 DEBUG_IMX25_UART || \
+2 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ CONFIG_EMBEDDED=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_JUMP_LABEL=y
CONFIG_ARCH_MULTI_V6=y
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_BCM2835=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_AEABI=y
+2 −1
Original line number Diff line number Diff line
@@ -11,7 +11,8 @@
 *
 */

#include <mach/bcm2835_soc.h>
#define BCM2835_DEBUG_PHYS 0x20201000
#define BCM2835_DEBUG_VIRT 0xf0201000

	.macro	addruart, rp, rv, tmp
	ldr	\rp, =BCM2835_DEBUG_PHYS
+15 −0
Original line number Diff line number Diff line
config ARCH_BCM2835
	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
	select ARCH_REQUIRE_GPIOLIB
	select ARM_AMBA
	select ARM_ERRATA_411920
	select ARM_TIMER_SP804
	select CLKDEV_LOOKUP
	select CLKSRC_OF
	select CPU_V6
	select GENERIC_CLOCKEVENTS
	select PINCTRL
	select PINCTRL_BCM2835
	help
	  This enables support for the Broadcom BCM2835 SoC. This SoC is
	  use in the Raspberry Pi, and Roku 2 devices.
Loading