aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/arm
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/arm')
-rw-r--r--Documentation/devicetree/bindings/arm/arch_timer.txt3
-rw-r--r--Documentation/devicetree/bindings/arm/vexpress-sysreg.txt79
-rw-r--r--Documentation/devicetree/bindings/arm/vexpress.txt15
3 files changed, 79 insertions, 18 deletions
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt
index 06fc7602593a..37b2cafa4e52 100644
--- a/Documentation/devicetree/bindings/arm/arch_timer.txt
+++ b/Documentation/devicetree/bindings/arm/arch_timer.txt
@@ -19,6 +19,9 @@ to deliver its interrupts via SPIs.
19 19
20- clock-frequency : The frequency of the main counter, in Hz. Optional. 20- clock-frequency : The frequency of the main counter, in Hz. Optional.
21 21
22- always-on : a boolean property. If present, the timer is powered through an
23 always-on power domain, therefore it never loses context.
24
22Example: 25Example:
23 26
24 timer { 27 timer {
diff --git a/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt b/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
index 5580e9c4bd85..00318d083c9e 100644
--- a/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
+++ b/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
@@ -8,6 +8,8 @@ interrupt generation, MMC and NOR Flash control etc.
8Required node properties: 8Required node properties:
9- compatible value : = "arm,vexpress,sysreg"; 9- compatible value : = "arm,vexpress,sysreg";
10- reg : physical base address and the size of the registers window 10- reg : physical base address and the size of the registers window
11
12Deprecated properties, replaced by GPIO subnodes (see below):
11- gpio-controller : specifies that the node is a GPIO controller 13- gpio-controller : specifies that the node is a GPIO controller
12- #gpio-cells : size of the GPIO specifier, should be 2: 14- #gpio-cells : size of the GPIO specifier, should be 2:
13 - first cell is the pseudo-GPIO line number: 15 - first cell is the pseudo-GPIO line number:
@@ -16,35 +18,86 @@ Required node properties:
16 2 - NOR FLASH WPn 18 2 - NOR FLASH WPn
17 - second cell can take standard GPIO flags (currently ignored). 19 - second cell can take standard GPIO flags (currently ignored).
18 20
21Control registers providing pseudo-GPIO lines must be represented
22by subnodes, each of them requiring the following properties:
23- compatible value : one of
24 "arm,vexpress-sysreg,sys_led"
25 "arm,vexpress-sysreg,sys_mci"
26 "arm,vexpress-sysreg,sys_flash"
27- gpio-controller : makes the node a GPIO controller
28- #gpio-cells : size of the GPIO specifier, must be 2:
29 - first cell is the function number:
30 - for sys_led : 0..7 = LED 0..7
31 - for sys_mci : 0 = MMC CARDIN, 1 = MMC WPROT
32 - for sys_flash : 0 = NOR FLASH WPn
33 - second cell can take standard GPIO flags (currently ignored).
34
19Example: 35Example:
20 v2m_sysreg: sysreg@10000000 { 36 v2m_sysreg: sysreg@10000000 {
21 compatible = "arm,vexpress-sysreg"; 37 compatible = "arm,vexpress-sysreg";
22 reg = <0x10000000 0x1000>; 38 reg = <0x10000000 0x1000>;
23 gpio-controller; 39
24 #gpio-cells = <2>; 40 v2m_led_gpios: sys_led@08 {
41 compatible = "arm,vexpress-sysreg,sys_led";
42 gpio-controller;
43 #gpio-cells = <2>;
44 };
45
46 v2m_mmc_gpios: sys_mci@48 {
47 compatible = "arm,vexpress-sysreg,sys_mci";
48 gpio-controller;
49 #gpio-cells = <2>;
50 };
51
52 v2m_flash_gpios: sys_flash@4c {
53 compatible = "arm,vexpress-sysreg,sys_flash";
54 gpio-controller;
55 #gpio-cells = <2>;
56 };
25 }; 57 };
26 58
27This block also can also act a bridge to the platform's configuration 59This block also can also act a bridge to the platform's configuration
28bus via "system control" interface, addressing devices with site number, 60bus via "system control" interface, addressing devices with site number,
29position in the board stack, config controller, function and device 61position in the board stack, config controller, function and device
30numbers - see motherboard's TRM for more details. 62numbers - see motherboard's TRM for more details. All configuration
31 63controller accessible via this interface must reference the sysreg
32The node describing a config device must refer to the sysreg node via 64node via "arm,vexpress,config-bridge" phandle and define appropriate
33"arm,vexpress,config-bridge" phandle (can be also defined in the node's 65topology properties - see main vexpress node documentation for more
34parent) and relies on the board topology properties - see main vexpress 66details. Each child of such node describes one function and must
35node documentation for more details. It must also define the following 67define the following properties:
36property: 68- compatible value : must be one of (corresponding to the TRM):
37- arm,vexpress-sysreg,func : must contain two cells: 69 "arm,vexpress-amp"
38 - first cell defines function number (eg. 1 for clock generator, 70 "arm,vexpress-dvimode"
39 2 for voltage regulators etc.) 71 "arm,vexpress-energy"
40 - device number (eg. osc 0, osc 1 etc.) 72 "arm,vexpress-muxfpga"
73 "arm,vexpress-osc"
74 "arm,vexpress-power"
75 "arm,vexpress-reboot"
76 "arm,vexpress-reset"
77 "arm,vexpress-scc"
78 "arm,vexpress-shutdown"
79 "arm,vexpress-temp"
80 "arm,vexpress-volt"
81- arm,vexpress-sysreg,func : must contain a set of two cells long groups:
82 - first cell of each group defines the function number
83 (eg. 1 for clock generator, 2 for voltage regulators etc.)
84 - second cell of each group defines device number (eg. osc 0,
85 osc 1 etc.)
86 - some functions (eg. energy meter, with its 64 bit long counter)
87 are using more than one function/device number pair
41 88
42Example: 89Example:
43 mcc { 90 mcc {
91 compatible = "arm,vexpress,config-bus";
44 arm,vexpress,config-bridge = <&v2m_sysreg>; 92 arm,vexpress,config-bridge = <&v2m_sysreg>;
45 93
46 osc@0 { 94 osc@0 {
47 compatible = "arm,vexpress-osc"; 95 compatible = "arm,vexpress-osc";
48 arm,vexpress-sysreg,func = <1 0>; 96 arm,vexpress-sysreg,func = <1 0>;
49 }; 97 };
98
99 energy@0 {
100 compatible = "arm,vexpress-energy";
101 arm,vexpress-sysreg,func = <13 0>, <13 1>;
102 };
50 }; 103 };
diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt b/Documentation/devicetree/bindings/arm/vexpress.txt
index ae49161e478a..39844cd0bcce 100644
--- a/Documentation/devicetree/bindings/arm/vexpress.txt
+++ b/Documentation/devicetree/bindings/arm/vexpress.txt
@@ -80,12 +80,17 @@ but also control clock generators, voltage regulators, gather
80environmental data like temperature, power consumption etc. Even 80environmental data like temperature, power consumption etc. Even
81the video output switch (FPGA) is controlled that way. 81the video output switch (FPGA) is controlled that way.
82 82
83Nodes describing devices controlled by this infrastructure should 83The controllers are not mapped into normal memory address space
84point at the bridge device node: 84and must be accessed through bridges - other devices capable
85of generating transactions on the configuration bus.
86
87The nodes describing configuration controllers must define
88the following properties:
89- compatible value:
90 compatible = "arm,vexpress,config-bus";
85- bridge phandle: 91- bridge phandle:
86 arm,vexpress,config-bridge = <phandle>; 92 arm,vexpress,config-bridge = <phandle>;
87This property can be also defined in a parent node (eg. for a DCC) 93and children describing available functions.
88and is effective for all children.
89 94
90 95
91Platform topology 96Platform topology
@@ -197,7 +202,7 @@ Example of a VE tile description (simplified)
197 }; 202 };
198 203
199 dcc { 204 dcc {
200 compatible = "simple-bus"; 205 compatible = "arm,vexpress,config-bus";
201 arm,vexpress,config-bridge = <&v2m_sysreg>; 206 arm,vexpress,config-bridge = <&v2m_sysreg>;
202 207
203 osc@0 { 208 osc@0 {