diff options
Diffstat (limited to 'Documentation/devicetree/bindings/arm')
-rw-r--r-- | Documentation/devicetree/bindings/arm/arch_timer.txt | 3 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/vexpress-sysreg.txt | 79 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/vexpress.txt | 15 |
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 | |||
22 | Example: | 25 | Example: |
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. | |||
8 | Required node properties: | 8 | Required 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 | |||
12 | Deprecated 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 | ||
21 | Control registers providing pseudo-GPIO lines must be represented | ||
22 | by 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 | |||
19 | Example: | 35 | Example: |
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 | ||
27 | This block also can also act a bridge to the platform's configuration | 59 | This block also can also act a bridge to the platform's configuration |
28 | bus via "system control" interface, addressing devices with site number, | 60 | bus via "system control" interface, addressing devices with site number, |
29 | position in the board stack, config controller, function and device | 61 | position in the board stack, config controller, function and device |
30 | numbers - see motherboard's TRM for more details. | 62 | numbers - see motherboard's TRM for more details. All configuration |
31 | 63 | controller accessible via this interface must reference the sysreg | |
32 | The node describing a config device must refer to the sysreg node via | 64 | node via "arm,vexpress,config-bridge" phandle and define appropriate |
33 | "arm,vexpress,config-bridge" phandle (can be also defined in the node's | 65 | topology properties - see main vexpress node documentation for more |
34 | parent) and relies on the board topology properties - see main vexpress | 66 | details. Each child of such node describes one function and must |
35 | node documentation for more details. It must also define the following | 67 | define the following properties: |
36 | property: | 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 | ||
42 | Example: | 89 | Example: |
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 | |||
80 | environmental data like temperature, power consumption etc. Even | 80 | environmental data like temperature, power consumption etc. Even |
81 | the video output switch (FPGA) is controlled that way. | 81 | the video output switch (FPGA) is controlled that way. |
82 | 82 | ||
83 | Nodes describing devices controlled by this infrastructure should | 83 | The controllers are not mapped into normal memory address space |
84 | point at the bridge device node: | 84 | and must be accessed through bridges - other devices capable |
85 | of generating transactions on the configuration bus. | ||
86 | |||
87 | The nodes describing configuration controllers must define | ||
88 | the 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>; |
87 | This property can be also defined in a parent node (eg. for a DCC) | 93 | and children describing available functions. |
88 | and is effective for all children. | ||
89 | 94 | ||
90 | 95 | ||
91 | Platform topology | 96 | Platform 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 { |