diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-07-28 11:05:17 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-07-28 11:05:59 -0400 |
commit | 8cfb4e3d302680baa9d425a8175bb86d3d0443e3 (patch) | |
tree | 04f8baa3031ff31d58753658ecfa763755e5ff15 /Documentation/devicetree | |
parent | 565f46dc4d0c12dda1353dbd76314614c7069c20 (diff) | |
parent | 79187a8e242046a0525a296509e80c5ee24fbaf1 (diff) |
Merge tag 'for-3.17/bcm-dt' of git://github.com/broadcom/mach-bcm into next/dt
Merge "ARM: mach-bcm: dt updatees for 3.17" from Matt Porter:
- BCM Mobile SMP support
- BRCM STB platform support
* tag 'for-3.17/bcm-dt' of git://github.com/broadcom/mach-bcm:
ARM: brcmstb: dts: add a reference DTS for Broadcom 7445
ARM: brcmstb: gic: add compatible string for Broadcom Brahma15
ARM: brcmstb: add misc. DT bindings for brcmstb
ARM: brcmstb: add CPU binding for Broadcom Brahma15
ARM: dts: enable SMP support for bcm21664
ARM: dts: enable SMP support for bcm28155
devicetree: bindings: document Broadcom CPU enable method
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'Documentation/devicetree')
4 files changed, 134 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351-cpu-method b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351-cpu-method new file mode 100644 index 000000000000..8240c023e202 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351-cpu-method | |||
@@ -0,0 +1,36 @@ | |||
1 | Broadcom Kona Family CPU Enable Method | ||
2 | -------------------------------------- | ||
3 | This binding defines the enable method used for starting secondary | ||
4 | CPUs in the following Broadcom SoCs: | ||
5 | BCM11130, BCM11140, BCM11351, BCM28145, BCM28155, BCM21664 | ||
6 | |||
7 | The enable method is specified by defining the following required | ||
8 | properties in the "cpus" device tree node: | ||
9 | - enable-method = "brcm,bcm11351-cpu-method"; | ||
10 | - secondary-boot-reg = <...>; | ||
11 | |||
12 | The secondary-boot-reg property is a u32 value that specifies the | ||
13 | physical address of the register used to request the ROM holding pen | ||
14 | code release a secondary CPU. The value written to the register is | ||
15 | formed by encoding the target CPU id into the low bits of the | ||
16 | physical start address it should jump to. | ||
17 | |||
18 | Example: | ||
19 | cpus { | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <0>; | ||
22 | enable-method = "brcm,bcm11351-cpu-method"; | ||
23 | secondary-boot-reg = <0x3500417c>; | ||
24 | |||
25 | cpu0: cpu@0 { | ||
26 | device_type = "cpu"; | ||
27 | compatible = "arm,cortex-a9"; | ||
28 | reg = <0>; | ||
29 | }; | ||
30 | |||
31 | cpu1: cpu@1 { | ||
32 | device_type = "cpu"; | ||
33 | compatible = "arm,cortex-a9"; | ||
34 | reg = <1>; | ||
35 | }; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt new file mode 100644 index 000000000000..3c436cc4f35d --- /dev/null +++ b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt | |||
@@ -0,0 +1,95 @@ | |||
1 | ARM Broadcom STB platforms Device Tree Bindings | ||
2 | ----------------------------------------------- | ||
3 | Boards with Broadcom Brahma15 ARM-based BCMxxxx (generally BCM7xxx variants) | ||
4 | SoC shall have the following DT organization: | ||
5 | |||
6 | Required root node properties: | ||
7 | - compatible: "brcm,bcm<chip_id>", "brcm,brcmstb" | ||
8 | |||
9 | example: | ||
10 | / { | ||
11 | #address-cells = <2>; | ||
12 | #size-cells = <2>; | ||
13 | model = "Broadcom STB (bcm7445)"; | ||
14 | compatible = "brcm,bcm7445", "brcm,brcmstb"; | ||
15 | |||
16 | Further, syscon nodes that map platform-specific registers used for general | ||
17 | system control is required: | ||
18 | |||
19 | - compatible: "brcm,bcm<chip_id>-sun-top-ctrl", "syscon" | ||
20 | - compatible: "brcm,bcm<chip_id>-hif-cpubiuctrl", "syscon" | ||
21 | - compatible: "brcm,bcm<chip_id>-hif-continuation", "syscon" | ||
22 | |||
23 | example: | ||
24 | rdb { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <1>; | ||
27 | compatible = "simple-bus"; | ||
28 | ranges = <0 0x00 0xf0000000 0x1000000>; | ||
29 | |||
30 | sun_top_ctrl: syscon@404000 { | ||
31 | compatible = "brcm,bcm7445-sun-top-ctrl", "syscon"; | ||
32 | reg = <0x404000 0x51c>; | ||
33 | }; | ||
34 | |||
35 | hif_cpubiuctrl: syscon@3e2400 { | ||
36 | compatible = "brcm,bcm7445-hif-cpubiuctrl", "syscon"; | ||
37 | reg = <0x3e2400 0x5b4>; | ||
38 | }; | ||
39 | |||
40 | hif_continuation: syscon@452000 { | ||
41 | compatible = "brcm,bcm7445-hif-continuation", "syscon"; | ||
42 | reg = <0x452000 0x100>; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | Lastly, nodes that allow for support of SMP initialization and reboot are | ||
47 | required: | ||
48 | |||
49 | smpboot | ||
50 | ------- | ||
51 | Required properties: | ||
52 | |||
53 | - compatible | ||
54 | The string "brcm,brcmstb-smpboot". | ||
55 | |||
56 | - syscon-cpu | ||
57 | A phandle / integer array property which lets the BSP know the location | ||
58 | of certain CPU power-on registers. | ||
59 | |||
60 | The layout of the property is as follows: | ||
61 | o a phandle to the "hif_cpubiuctrl" syscon node | ||
62 | o offset to the base CPU power zone register | ||
63 | o offset to the base CPU reset register | ||
64 | |||
65 | - syscon-cont | ||
66 | A phandle pointing to the syscon node which describes the CPU boot | ||
67 | continuation registers. | ||
68 | o a phandle to the "hif_continuation" syscon node | ||
69 | |||
70 | example: | ||
71 | smpboot { | ||
72 | compatible = "brcm,brcmstb-smpboot"; | ||
73 | syscon-cpu = <&hif_cpubiuctrl 0x88 0x178>; | ||
74 | syscon-cont = <&hif_continuation>; | ||
75 | }; | ||
76 | |||
77 | reboot | ||
78 | ------- | ||
79 | Required properties | ||
80 | |||
81 | - compatible | ||
82 | The string property "brcm,brcmstb-reboot". | ||
83 | |||
84 | - syscon | ||
85 | A phandle / integer array that points to the syscon node which describes | ||
86 | the general system reset registers. | ||
87 | o a phandle to "sun_top_ctrl" | ||
88 | o offset to the "reset source enable" register | ||
89 | o offset to the "software master reset" register | ||
90 | |||
91 | example: | ||
92 | reboot { | ||
93 | compatible = "brcm,brcmstb-reboot"; | ||
94 | syscon = <&sun_top_ctrl 0x304 0x308>; | ||
95 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt index bc6dc176c9fa..298e2f6b33c6 100644 --- a/Documentation/devicetree/bindings/arm/cpus.txt +++ b/Documentation/devicetree/bindings/arm/cpus.txt | |||
@@ -165,6 +165,7 @@ nodes to be present and contain the properties described below. | |||
165 | "arm,cortex-r4" | 165 | "arm,cortex-r4" |
166 | "arm,cortex-r5" | 166 | "arm,cortex-r5" |
167 | "arm,cortex-r7" | 167 | "arm,cortex-r7" |
168 | "brcm,brahma-b15" | ||
168 | "faraday,fa526" | 169 | "faraday,fa526" |
169 | "intel,sa110" | 170 | "intel,sa110" |
170 | "intel,sa1100" | 171 | "intel,sa1100" |
@@ -186,6 +187,7 @@ nodes to be present and contain the properties described below. | |||
186 | can be one of: | 187 | can be one of: |
187 | "allwinner,sun6i-a31" | 188 | "allwinner,sun6i-a31" |
188 | "arm,psci" | 189 | "arm,psci" |
190 | "brcm,brahma-b15" | ||
189 | "marvell,armada-375-smp" | 191 | "marvell,armada-375-smp" |
190 | "marvell,armada-380-smp" | 192 | "marvell,armada-380-smp" |
191 | "marvell,armada-xp-smp" | 193 | "marvell,armada-xp-smp" |
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt index 5573c08d3180..c7d2fa156678 100644 --- a/Documentation/devicetree/bindings/arm/gic.txt +++ b/Documentation/devicetree/bindings/arm/gic.txt | |||
@@ -16,6 +16,7 @@ Main node required properties: | |||
16 | "arm,cortex-a9-gic" | 16 | "arm,cortex-a9-gic" |
17 | "arm,cortex-a7-gic" | 17 | "arm,cortex-a7-gic" |
18 | "arm,arm11mp-gic" | 18 | "arm,arm11mp-gic" |
19 | "brcm,brahma-b15-gic" | ||
19 | - interrupt-controller : Identifies the node as an interrupt controller | 20 | - interrupt-controller : Identifies the node as an interrupt controller |
20 | - #interrupt-cells : Specifies the number of cells needed to encode an | 21 | - #interrupt-cells : Specifies the number of cells needed to encode an |
21 | interrupt source. The type shall be a <u32> and the value shall be 3. | 22 | interrupt source. The type shall be a <u32> and the value shall be 3. |