-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'next/soc' into next/multiplatform
* next/soc: (50 commits) ARM: OMAP: AM33xx hwmod: fixup SPI after platform_data move MAINTAINERS: add an entry for the BCM2835 ARM sub-architecture ARM: bcm2835: instantiate console UART ARM: bcm2835: add stub clock driver ARM: bcm2835: add system timer ARM: bcm2835: add interrupt controller driver ARM: add infra-structure for BCM2835 and Raspberry Pi ARM: tegra20: add CPU hotplug support ARM: tegra30: add CPU hotplug support ARM: tegra: clean up the common assembly macros into sleep.h ARM: tegra: replace the CPU CAR access code by tegra_cpu_car_ops ARM: tegra: introduce tegra_cpu_car_ops structures ARM: Tegra: Add smp_twd clock for Tegra20 ARM: AM33XX: clock: Add dcan clock aliases for device-tree ARM: OMAP2+: dpll: Add missing soc_is_am33xx() check for common functions ARM: OMAP: omap_device: idle devices with no driver bound ARM: OMAP: omap_device: don't attempt late suspend if no driver bound ARM: OMAP: omap_device: keep track of driver bound status ARM: OMAP3+: hwmod: Add AM33XX HWMOD data ARM: OMAP2+: hwmod: Hook-up am33xx support in omap_hwmod framework ... Change/remove conflict in arch/arm/mach-ux500/clock.c resolved. Signed-off-by: Olof Johansson <olof@lixom.net>
- Loading branch information
Showing
79 changed files
with
10,463 additions
and
5,001 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Broadcom BCM2835 device tree bindings | ||
------------------------------------------- | ||
|
||
Boards with the BCM2835 SoC shall have the following properties: | ||
|
||
Required root node property: | ||
|
||
compatible = "brcm,bcm2835"; |
110 changes: 110 additions & 0 deletions
110
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
BCM2835 Top-Level ("ARMCTRL") Interrupt Controller | ||
|
||
The BCM2835 contains a custom top-level interrupt controller, which supports | ||
72 interrupt sources using a 2-level register scheme. The interrupt | ||
controller, or the HW block containing it, is referred to occasionally | ||
as "armctrl" in the SoC documentation, hence naming of this binding. | ||
|
||
Required properties: | ||
|
||
- compatible : should be "brcm,bcm2835-armctrl-ic.txt" | ||
- reg : Specifies base physical address and size of the registers. | ||
- interrupt-controller : Identifies the node as an interrupt controller | ||
- #interrupt-cells : Specifies the number of cells needed to encode an | ||
interrupt source. The value shall be 2. | ||
|
||
The 1st cell is the interrupt bank; 0 for interrupts in the "IRQ basic | ||
pending" register, or 1/2 respectively for interrupts in the "IRQ pending | ||
1/2" register. | ||
|
||
The 2nd cell contains the interrupt number within the bank. Valid values | ||
are 0..7 for bank 0, and 0..31 for bank 1. | ||
|
||
The interrupt sources are as follows: | ||
|
||
Bank 0: | ||
0: ARM_TIMER | ||
1: ARM_MAILBOX | ||
2: ARM_DOORBELL_0 | ||
3: ARM_DOORBELL_1 | ||
4: VPU0_HALTED | ||
5: VPU1_HALTED | ||
6: ILLEGAL_TYPE0 | ||
7: ILLEGAL_TYPE1 | ||
|
||
Bank 1: | ||
0: TIMER0 | ||
1: TIMER1 | ||
2: TIMER2 | ||
3: TIMER3 | ||
4: CODEC0 | ||
5: CODEC1 | ||
6: CODEC2 | ||
7: VC_JPEG | ||
8: ISP | ||
9: VC_USB | ||
10: VC_3D | ||
11: TRANSPOSER | ||
12: MULTICORESYNC0 | ||
13: MULTICORESYNC1 | ||
14: MULTICORESYNC2 | ||
15: MULTICORESYNC3 | ||
16: DMA0 | ||
17: DMA1 | ||
18: VC_DMA2 | ||
19: VC_DMA3 | ||
20: DMA4 | ||
21: DMA5 | ||
22: DMA6 | ||
23: DMA7 | ||
24: DMA8 | ||
25: DMA9 | ||
26: DMA10 | ||
27: DMA11 | ||
28: DMA12 | ||
29: AUX | ||
30: ARM | ||
31: VPUDMA | ||
|
||
Bank 2: | ||
0: HOSTPORT | ||
1: VIDEOSCALER | ||
2: CCP2TX | ||
3: SDC | ||
4: DSI0 | ||
5: AVE | ||
6: CAM0 | ||
7: CAM1 | ||
8: HDMI0 | ||
9: HDMI1 | ||
10: PIXELVALVE1 | ||
11: I2CSPISLV | ||
12: DSI1 | ||
13: PWA0 | ||
14: PWA1 | ||
15: CPR | ||
16: SMI | ||
17: GPIO0 | ||
18: GPIO1 | ||
19: GPIO2 | ||
20: GPIO3 | ||
21: VC_I2C | ||
22: VC_SPI | ||
23: VC_I2SPCM | ||
24: VC_SDIO | ||
25: VC_UART | ||
26: SLIMBUS | ||
27: VEC | ||
28: CPG | ||
29: RNG | ||
30: VC_ARASANSDIO | ||
31: AVSPMON | ||
|
||
Example: | ||
|
||
intc: interrupt-controller { | ||
compatible = "brcm,bcm2835-armctrl-ic"; | ||
reg = <0x7e00b200 0x200>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; |
22 changes: 22 additions & 0 deletions
22
Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
BCM2835 System Timer | ||
|
||
The System Timer peripheral provides four 32-bit timer channels and a | ||
single 64-bit free running counter. Each channel has an output compare | ||
register, which is compared against the 32 least significant bits of the | ||
free running counter values, and generates an interrupt. | ||
|
||
Required properties: | ||
|
||
- compatible : should be "brcm,bcm2835-system-timer.txt" | ||
- reg : Specifies base physical address and size of the registers. | ||
- interrupts : A list of 4 interrupt sinks; one per timer channel. | ||
- clock-frequency : The frequency of the clock that drives the counter, in Hz. | ||
|
||
Example: | ||
|
||
timer { | ||
compatible = "brcm,bcm2835-system-timer"; | ||
reg = <0x7e003000 0x1000>; | ||
interrupts = <1 0>, <1 1>, <1 2>, <1 3>; | ||
clock-frequency = <1000000>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
/dts-v1/; | ||
/memreserve/ 0x0c000000 0x04000000; | ||
/include/ "bcm2835.dtsi" | ||
|
||
/ { | ||
compatible = "raspberrypi,model-b", "brcm,bcm2835"; | ||
model = "Raspberry Pi Model B"; | ||
|
||
memory { | ||
reg = <0 0x10000000>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/include/ "skeleton.dtsi" | ||
|
||
/ { | ||
compatible = "brcm,bcm2835"; | ||
model = "BCM2835"; | ||
interrupt-parent = <&intc>; | ||
|
||
chosen { | ||
bootargs = "earlyprintk console=ttyAMA0"; | ||
}; | ||
|
||
soc { | ||
compatible = "simple-bus"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges = <0x7e000000 0x20000000 0x02000000>; | ||
|
||
timer { | ||
compatible = "brcm,bcm2835-system-timer"; | ||
reg = <0x7e003000 0x1000>; | ||
interrupts = <1 0>, <1 1>, <1 2>, <1 3>; | ||
clock-frequency = <1000000>; | ||
}; | ||
|
||
intc: interrupt-controller { | ||
compatible = "brcm,bcm2835-armctrl-ic"; | ||
reg = <0x7e00b200 0x200>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; | ||
|
||
uart@20201000 { | ||
compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; | ||
reg = <0x7e201000 0x1000>; | ||
interrupts = <2 25>; | ||
clock-frequency = <3000000>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
CONFIG_EXPERIMENTAL=y | ||
# CONFIG_LOCALVERSION_AUTO is not set | ||
CONFIG_SYSVIPC=y | ||
CONFIG_BSD_PROCESS_ACCT=y | ||
CONFIG_BSD_PROCESS_ACCT_V3=y | ||
CONFIG_FHANDLE=y | ||
CONFIG_NO_HZ=y | ||
CONFIG_HIGH_RES_TIMERS=y | ||
CONFIG_LOG_BUF_SHIFT=18 | ||
CONFIG_CGROUP_FREEZER=y | ||
CONFIG_CGROUP_DEVICE=y | ||
CONFIG_CPUSETS=y | ||
CONFIG_CGROUP_CPUACCT=y | ||
CONFIG_RESOURCE_COUNTERS=y | ||
CONFIG_CGROUP_PERF=y | ||
CONFIG_CFS_BANDWIDTH=y | ||
CONFIG_RT_GROUP_SCHED=y | ||
CONFIG_NAMESPACES=y | ||
CONFIG_SCHED_AUTOGROUP=y | ||
CONFIG_RELAY=y | ||
CONFIG_BLK_DEV_INITRD=y | ||
CONFIG_RD_BZIP2=y | ||
CONFIG_RD_LZMA=y | ||
CONFIG_RD_XZ=y | ||
CONFIG_RD_LZO=y | ||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
CONFIG_KALLSYMS_ALL=y | ||
CONFIG_EMBEDDED=y | ||
# CONFIG_COMPAT_BRK is not set | ||
CONFIG_PROFILING=y | ||
CONFIG_OPROFILE=y | ||
CONFIG_JUMP_LABEL=y | ||
# CONFIG_BLOCK is not set | ||
CONFIG_ARCH_BCM2835=y | ||
CONFIG_PREEMPT_VOLUNTARY=y | ||
CONFIG_AEABI=y | ||
CONFIG_COMPACTION=y | ||
CONFIG_KSM=y | ||
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 | ||
CONFIG_CLEANCACHE=y | ||
CONFIG_SECCOMP=y | ||
CONFIG_CC_STACKPROTECTOR=y | ||
CONFIG_KEXEC=y | ||
CONFIG_CRASH_DUMP=y | ||
CONFIG_VFP=y | ||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
# CONFIG_SUSPEND is not set | ||
CONFIG_DEVTMPFS=y | ||
CONFIG_DEVTMPFS_MOUNT=y | ||
# CONFIG_STANDALONE is not set | ||
# CONFIG_INPUT_MOUSEDEV is not set | ||
# CONFIG_INPUT_KEYBOARD is not set | ||
# CONFIG_INPUT_MOUSE is not set | ||
# CONFIG_SERIO is not set | ||
# CONFIG_VT is not set | ||
# CONFIG_UNIX98_PTYS is not set | ||
# CONFIG_LEGACY_PTYS is not set | ||
# CONFIG_DEVKMEM is not set | ||
CONFIG_SERIAL_AMBA_PL011=y | ||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | ||
CONFIG_TTY_PRINTK=y | ||
# CONFIG_HW_RANDOM is not set | ||
# CONFIG_HWMON is not set | ||
# CONFIG_USB_SUPPORT is not set | ||
# CONFIG_IOMMU_SUPPORT is not set | ||
# CONFIG_FILE_LOCKING is not set | ||
# CONFIG_DNOTIFY is not set | ||
# CONFIG_INOTIFY_USER is not set | ||
# CONFIG_PROC_FS is not set | ||
# CONFIG_SYSFS is not set | ||
# CONFIG_MISC_FILESYSTEMS is not set | ||
CONFIG_PRINTK_TIME=y | ||
# CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
# CONFIG_ENABLE_MUST_CHECK is not set | ||
CONFIG_UNUSED_SYMBOLS=y | ||
CONFIG_LOCKUP_DETECTOR=y | ||
CONFIG_DEBUG_INFO=y | ||
CONFIG_DEBUG_MEMORY_INIT=y | ||
CONFIG_BOOT_PRINTK_DELAY=y | ||
CONFIG_SCHED_TRACER=y | ||
CONFIG_STACK_TRACER=y | ||
CONFIG_FUNCTION_PROFILER=y | ||
CONFIG_DYNAMIC_DEBUG=y | ||
CONFIG_KGDB=y | ||
CONFIG_KGDB_KDB=y | ||
CONFIG_TEST_KSTRTOX=y | ||
CONFIG_STRICT_DEVMEM=y | ||
CONFIG_DEBUG_LL=y | ||
CONFIG_EARLY_PRINTK=y | ||
# CONFIG_XZ_DEC_X86 is not set | ||
# CONFIG_XZ_DEC_POWERPC is not set | ||
# CONFIG_XZ_DEC_IA64 is not set | ||
# CONFIG_XZ_DEC_ARM is not set | ||
# CONFIG_XZ_DEC_ARMTHUMB is not set | ||
# CONFIG_XZ_DEC_SPARC is not set |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
obj-y += bcm2835.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
zreladdr-y := 0x00008000 | ||
params_phys-y := 0x00000100 | ||
initrd_phys-y := 0x00800000 | ||
|
||
dtb-y += bcm2835-rpi-b.dtb |
Oops, something went wrong.