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

Commit ec9653b8 authored by Simon Arlott's avatar Simon Arlott Committed by Stephen Warren
Browse files

ARM: add infra-structure for BCM2835 and Raspberry Pi

The BCM2835 is an ARM SoC from Broadcom. This patch adds very basic
support for this SoC.

http://www.broadcom.com/products/BCM2835
http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

Note that the documentation in the latter .pdf assumes the MMU setup
that's used on the "VideoCore" companion processor, and does not document
physical peripheral addresses. Subtract 0x5e000000 to obtain the physical
addresses. This is accounted for by the ranges property in the /soc node
in the device tree.

The BCM2835 SoC is used in the Raspberry Pi. This patch also adds a
minimal device tree for this board; enough to see some very early kernel
boot messages through earlyprintk. However, this patch does not yet
provide a useful booting system.

http://www.raspberrypi.org/.

This patch was extracted from git://github.com/lp0/linux.git

 branch
rpi-split from 3-4 months ago, and significantly stripped down and
modified since.

Signed-off-by: default avatarChris Boot <bootc@bootc.net>
Signed-off-by: default avatarSimon Arlott <simon@fire.lp0.eu>
Signed-off-by: default avatarDom Cobley <popcornmix@gmail.com>
Signed-off-by: default avatarDom Cobley <dc4@broadcom.com>
Signed-off-by: default avatarStephen Warren <swarren@wwwdotorg.org>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 55d512e2
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
Broadcom BCM2835 device tree bindings
-------------------------------------------

Boards with the BCM2835 SoC shall have the following properties:

Required root node property:

compatible = "brcm,bcm2835";
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ apm Applied Micro Circuits Corporation (APM)
arm	ARM Ltd.
atmel	Atmel Corporation
bosch	Bosch Sensortec GmbH
brcm	Broadcom Corporation
cavium	Cavium, Inc.
chrp	Common Hardware Reference Platform
cortina	Cortina Systems, Inc.
+17 −0
Original line number Diff line number Diff line
@@ -350,6 +350,23 @@ config ARCH_AT91
	  This enables support for systems based on Atmel
	  AT91RM9200 and AT91SAM9* processors.

config ARCH_BCM2835
	bool "Broadcom BCM2835 family"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_AMBA
	select ARM_ERRATA_411920
	select ARM_TIMER_SP804
	select CLKDEV_LOOKUP
	select COMMON_CLK
	select CPU_V6
	select GENERIC_CLOCKEVENTS
	select MULTI_IRQ_HANDLER
	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_BCMRING
	bool "Broadcom BCMRING"
	depends on MMU
+1 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
# Machine directory name.  This list is sorted alphanumerically
# by CONFIG_* macro name.
machine-$(CONFIG_ARCH_AT91)		:= at91
machine-$(CONFIG_ARCH_BCM2835)		:= bcm2835
machine-$(CONFIG_ARCH_BCMRING)		:= bcmring
machine-$(CONFIG_ARCH_CLPS711X)		:= clps711x
machine-$(CONFIG_ARCH_CNS3XXX)		:= cns3xxx
+12 −0
Original line number Diff line number Diff line
/dts-v1/;
/memreserve/ 0x0c000000 0x04000000;
/include/ "bcm2835.dtsi"

/ {
	compatible = "raspberrypi,model-b", "brcm,bcm2835";
	model = "Raspberry Pi Model B";

	memory {
		reg = <0 0x10000000>;
	};
};
Loading