]> git.karo-electronics.de Git - karo-tx-linux.git/blob - Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
Merge tag 'for-3.8-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk...
[karo-tx-linux.git] / Documentation / devicetree / bindings / arm / vexpress-sysreg.txt
1 ARM Versatile Express system registers
2 --------------------------------------
3
4 This is a system control registers block, providing multiple low level
5 platform functions like board detection and identification, software
6 interrupt generation, MMC and NOR Flash control etc.
7
8 Required node properties:
9 - compatible value : = "arm,vexpress,sysreg";
10 - reg : physical base address and the size of the registers window
11 - gpio-controller : specifies that the node is a GPIO controller
12 - #gpio-cells : size of the GPIO specifier, should be 2:
13   - first cell is the pseudo-GPIO line number:
14     0 - MMC CARDIN
15     1 - MMC WPROT
16     2 - NOR FLASH WPn
17   - second cell can take standard GPIO flags (currently ignored).
18
19 Example:
20         v2m_sysreg: sysreg@10000000 {
21                 compatible = "arm,vexpress-sysreg";
22                 reg = <0x10000000 0x1000>;
23                 gpio-controller;
24                 #gpio-cells = <2>;
25         };
26
27 This block also can also act a bridge to the platform's configuration
28 bus via "system control" interface, addressing devices with site number,
29 position in the board stack, config controller, function and device
30 numbers - see motherboard's TRM for more details.
31
32 The node describing a config device must refer to the sysreg node via
33 "arm,vexpress,config-bridge" phandle (can be also defined in the node's
34 parent) and relies on the board topology properties - see main vexpress
35 node documentation for more details. It must must also define the
36 following property:
37 - arm,vexpress-sysreg,func : must contain two cells:
38   - first cell defines function number (eg. 1 for clock generator,
39     2 for voltage regulators etc.)
40   - device number (eg. osc 0, osc 1 etc.)
41
42 Example:
43         mcc {
44                 arm,vexpress,config-bridge = <&v2m_sysreg>;
45
46                 osc@0 {
47                         compatible = "arm,vexpress-osc";
48                         arm,vexpress-sysreg,func = <1 0>;
49                 };
50         };