About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / arm / vexpress-sysreg.txt




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:36 EST.

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	
12	Deprecated properties, replaced by GPIO subnodes (see below):
13	- gpio-controller : specifies that the node is a GPIO controller
14	- #gpio-cells : size of the GPIO specifier, should be 2:
15	  - first cell is the pseudo-GPIO line number:
16	    0 - MMC CARDIN
17	    1 - MMC WPROT
18	    2 - NOR FLASH WPn
19	  - second cell can take standard GPIO flags (currently ignored).
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	
35	Example:
36		v2m_sysreg: sysreg@10000000 {
37	 		compatible = "arm,vexpress-sysreg";
38	 		reg = <0x10000000 0x1000>;
39	
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			};
57	 	};
58	
59	This block also can also act a bridge to the platform's configuration
60	bus via "system control" interface, addressing devices with site number,
61	position in the board stack, config controller, function and device
62	numbers - see motherboard's TRM for more details. All configuration
63	controller accessible via this interface must reference the sysreg
64	node via "arm,vexpress,config-bridge" phandle and define appropriate
65	topology properties - see main vexpress node documentation for more
66	details. Each child of such node describes one function and must
67	define the following properties:
68	- compatible value : must be one of (corresponding to the TRM):
69		"arm,vexpress-amp"
70		"arm,vexpress-dvimode"
71		"arm,vexpress-energy"
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
88	
89	Example:
90		mcc {
91			compatible = "arm,vexpress,config-bus";
92			arm,vexpress,config-bridge = <&v2m_sysreg>;
93	
94			osc@0 {
95				compatible = "arm,vexpress-osc";
96				arm,vexpress-sysreg,func = <1 0>;
97			};
98	
99			energy@0 {
100				compatible = "arm,vexpress-energy";
101				arm,vexpress-sysreg,func = <13 0>, <13 1>;
102			};
103		};
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.