Skip to content

Commit

Permalink
ARM: bcm2835: convert to multi-platform
Browse files Browse the repository at this point in the history
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: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Stephen Warren committed Mar 13, 2013
1 parent f6161aa commit f1ac922
Show file tree
Hide file tree
Showing 11 changed files with 30 additions and 124 deletions.
22 changes: 2 additions & 20 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
Expand Down
5 changes: 5 additions & 0 deletions arch/arm/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 || \
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/configs/bcm2835_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
15 changes: 15 additions & 0 deletions arch/arm/mach-bcm2835/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
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.
1 change: 0 additions & 1 deletion arch/arm/mach-bcm2835/Makefile.boot

This file was deleted.

6 changes: 4 additions & 2 deletions arch/arm/mach-bcm2835/bcm2835.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
#include <asm/mach/arch.h>
#include <asm/mach/map.h>

#include <mach/bcm2835_soc.h>

#define PM_RSTC 0x1c
#define PM_RSTS 0x20
#define PM_WDOG 0x24
Expand All @@ -34,6 +32,10 @@
#define PM_RSTC_WRCFG_FULL_RESET 0x00000020
#define PM_RSTS_HADWRH_SET 0x00000040

#define BCM2835_PERIPH_PHYS 0x20000000
#define BCM2835_PERIPH_VIRT 0xf0000000
#define BCM2835_PERIPH_SIZE SZ_16M

static void __iomem *wdt_regs;

/*
Expand Down
29 changes: 0 additions & 29 deletions arch/arm/mach-bcm2835/include/mach/bcm2835_soc.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/arm/mach-bcm2835/include/mach/gpio.h

This file was deleted.

26 changes: 0 additions & 26 deletions arch/arm/mach-bcm2835/include/mach/timex.h

This file was deleted.

44 changes: 0 additions & 44 deletions arch/arm/mach-bcm2835/include/mach/uncompress.h

This file was deleted.

0 comments on commit f1ac922

Please sign in to comment.