aboutsummaryrefslogtreecommitdiffstats
blob: b78564b2b2019e06a4fea1863191d2cab6303ee2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform)
-----------------------------------------------------------------------------
ARM's oldest Linux-supported platform with connectors for different core
tiles of ARMv4, ARMv5 and ARMv6 type.

Required properties (in root node):
	compatible = "arm,integrator-ap";  /* Application Platform */
	compatible = "arm,integrator-cp";  /* Compact Platform */

FPGA type interrupt controllers, see the versatile-fpga-irq binding doc.

Required nodes:

- core-module: the root node to the Integrator platforms must have
  a core-module with regs and the compatible string
  "arm,core-module-integrator"
- external-bus-interface: the root node to the Integrator platforms
  must have an external bus interface with regs and the
  compatible-string "arm,external-bus-interface"

  Required properties for the core module:
  - regs: the location and size of the core module registers, one
    range of 0x200 bytes.

- syscon: the root node of the Integrator platforms must have a
  system controller node pointing to the control registers,
  with the compatible string
  "arm,integrator-ap-syscon"
  "arm,integrator-cp-syscon"
  respectively.

  Required properties for the system controller:
  - regs: the location and size of the system controller registers,
    one range of 0x100 bytes.

  Required properties for the AP system controller:
  - interrupts: the AP syscon node must include the logical module
    interrupts, stated in order of module instance <module 0>,
    <module 1>, <module 2> ... for the CP system controller this
    is not required not of any use.

/dts-v1/;
/include/ "integrator.dtsi"

/ {
	model = "ARM Integrator/AP";
	compatible = "arm,integrator-ap";

	core-module@10000000 {
		compatible = "arm,core-module-integrator";
		reg = <0x10000000 0x200>;
	};

	ebi@12000000 {
		compatible = "arm,external-bus-interface";
		reg = <0x12000000 0x100>;
	};

	syscon {
		compatible = "arm,integrator-ap-syscon";
		reg = <0x11000000 0x100>;
		interrupt-parent = <&pic>;
		/* These are the logic module IRQs */
		interrupts = <9>, <10>, <11>, <12>;
	};
};


ARM Versatile Application and Platform Baseboards
-------------------------------------------------
ARM's development hardware platform with connectors for customizable
core tiles.  The hardware configuration of the Versatile boards is
highly customizable.

Required properties (in root node):
	compatible = "arm,versatile-ab";  /* Application baseboard */
	compatible = "arm,versatile-pb";  /* Platform baseboard */

Interrupt controllers:
- VIC required properties:
	compatible = "arm,versatile-vic";
	interrupt-controller;
	#interrupt-cells = <1>;

- SIC required properties:
	compatible = "arm,versatile-sic";
	interrupt-controller;
	#interrupt-cells = <1>;

Required nodes:

- core-module: the root node to the Versatile platforms must have
  a core-module with regs and the compatible strings
  "arm,core-module-versatile", "syscon"

ARM RealView Boards
-------------------
The RealView boards cover tailored evaluation boards that are used to explore
the ARM11 and Cortex A-8 and Cortex A-9 processors.

Required properties (in root node):
	/* RealView Emulation Baseboard */
	compatible = "arm,realview-eb";
	 /* RealView Platform Baseboard for ARM1176JZF-S */
	compatible = "arm,realview-pb1176";
	/* RealView Platform Baseboard for ARM11 MPCore */
	compatible = "arm,realview-pb11mp";
	/* RealView Platform Baseboard for Cortex A-8 */
	compatible = "arm,realview-pba8";
	/* RealView Platform Baseboard Explore for Cortex A-9 */
	compatible = "arm,realview-pbx";

Required nodes:

- soc: some node of the RealView platforms must be the SoC
  node that contain the SoC-specific devices, withe the compatible
  string set to one of these tuples:
   "arm,realview-eb-soc", "simple-bus"
   "arm,realview-pb1176-soc", "simple-bus"
   "arm,realview-pb11mp-soc", "simple-bus"
   "arm,realview-pba8-soc", "simple-bus"
   "arm,realview-pbx-soc", "simple-bus"

- syscon: some subnode of the RealView SoC node must be a
  system controller node pointing to the control registers,
  with the compatible string set to one of these tuples:
   "arm,realview-eb-syscon", "syscon"
   "arm,realview-pb1176-syscon", "syscon"
   "arm,realview-pb11mp-syscon", "syscon"
   "arm,realview-pba8-syscon", "syscon"
   "arm,realview-pbx-syscon", "syscon"

  Required properties for the system controller:
  - regs: the location and size of the system controller registers,
    one range of 0x1000 bytes.

Example:

/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include "skeleton.dtsi"

/ {
	model = "ARM RealView PB1176 with device tree";
	compatible = "arm,realview-pb1176";

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "arm,realview-pb1176-soc", "simple-bus";
		ranges;

		syscon: syscon@10000000 {
			compatible = "arm,realview-syscon", "syscon";
			reg = <0x10000000 0x1000>;
		};

	};
};