]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
mfd: vexpress: Convert custom func API to regmap
[mirror_ubuntu-artful-kernel.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. All configuration
31 controller accessible via this interface must reference the sysreg
32 node via "arm,vexpress,config-bridge" phandle and define appropriate
33 topology properties - see main vexpress node documentation for more
34 details. Each child of such node describes one function and must
35 define the following properties:
36 - compatible value : must be one of (corresponding to the TRM):
37 "arm,vexpress-amp"
38 "arm,vexpress-dvimode"
39 "arm,vexpress-energy"
40 "arm,vexpress-muxfpga"
41 "arm,vexpress-osc"
42 "arm,vexpress-power"
43 "arm,vexpress-reboot"
44 "arm,vexpress-reset"
45 "arm,vexpress-scc"
46 "arm,vexpress-shutdown"
47 "arm,vexpress-temp"
48 "arm,vexpress-volt"
49 - arm,vexpress-sysreg,func : must contain a set of two cells long groups:
50 - first cell of each group defines the function number
51 (eg. 1 for clock generator, 2 for voltage regulators etc.)
52 - second cell of each group defines device number (eg. osc 0,
53 osc 1 etc.)
54 - some functions (eg. energy meter, with its 64 bit long counter)
55 are using more than one function/device number pair
56
57 Example:
58 mcc {
59 compatible = "arm,vexpress,config-bus";
60 arm,vexpress,config-bridge = <&v2m_sysreg>;
61
62 osc@0 {
63 compatible = "arm,vexpress-osc";
64 arm,vexpress-sysreg,func = <1 0>;
65 };
66
67 energy@0 {
68 compatible = "arm,vexpress-energy";
69 arm,vexpress-sysreg,func = <13 0>, <13 1>;
70 };
71 };