About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / pinctrl / img,tz1090-pdc-pinctrl.txt




Custom Search

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

1	ImgTec TZ1090 PDC pin controller
2	
3	Required properties:
4	- compatible: "img,tz1090-pdc-pinctrl"
5	- reg: Should contain the register physical address and length of the
6	  SOC_GPIO_CONTROL registers in the PDC register region.
7	
8	Please refer to pinctrl-bindings.txt in this directory for details of the
9	common pinctrl bindings used by client devices, including the meaning of the
10	phrase "pin configuration node".
11	
12	TZ1090-PDC's pin configuration nodes act as a container for an abitrary number
13	of subnodes. Each of these subnodes represents some desired configuration for a
14	pin, a group, or a list of pins or groups. This configuration can include the
15	mux function to select on those pin(s)/group(s), and various pin configuration
16	parameters, such as pull-up, drive strength, etc.
17	
18	The name of each subnode is not important; all subnodes should be enumerated
19	and processed purely based on their content.
20	
21	Each subnode only affects those parameters that are explicitly listed. In
22	other words, a subnode that lists a mux function but no pin configuration
23	parameters implies no information about any pin configuration parameters.
24	Similarly, a pin subnode that describes a pullup parameter implies no
25	information about e.g. the mux function. For this reason, even seemingly boolean
26	values are actually tristates in this binding: unspecified, off, or on.
27	Unspecified is represented as an absent property, and off/on are represented as
28	integer values 0 and 1.
29	
30	Required subnode-properties:
31	- tz1090,pins : An array of strings. Each string contains the name of a pin or
32	  group. Valid values for these names are listed below.
33	
34	Optional subnode-properties:
35	- tz1090,function: A string containing the name of the function to mux to the
36	  pin or group. Valid values for function names are listed below, including
37	  which pingroups can be muxed to them.
38	- supported generic pinconfig properties (for further details see
39	  Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt):
40	  - bias-disable
41	  - bias-high-impedance
42	  - bias-bus-hold
43	  - bias-pull-up
44	  - bias-pull-down
45	  - input-schmitt-enable
46	  - input-schmitt-disable
47	  - drive-strength: Integer, control drive strength of pins in mA.
48	      2: 2mA
49	      4: 4mA
50	      8: 8mA
51	      12: 12mA
52	  - low-power-enable: Flag, power-on-start weak pull-down for invalid power.
53	  - low-power-disable: Flag, power-on-start weak pull-down disabled.
54	
55	Note that many of these properties are only valid for certain specific pins
56	or groups. See the TZ1090 TRM for complete details regarding which groups
57	support which functionality. The Linux pinctrl driver may also be a useful
58	reference.
59	
60	Valid values for pin and group names are:
61	
62	  pins:
63	
64	    These all support bias-high-impediance, bias-pull-up, bias-pull-down, and
65	    bias-bus-hold (which can also be provided to any of the groups below to set
66	    it for all gpio pins in that group).
67	
68	    gpio0, gpio1, sys_wake0, sys_wake1, sys_wake2, ir_data, ext_power.
69	
70	  mux groups:
71	
72	    These all support function.
73	
74	    gpio0
75	        pins:       gpio0.
76	        function:   ir_mod_stable_out.
77	    gpio1
78	        pins:       gpio1.
79	        function:   ir_mod_power_out.
80	
81	  drive groups:
82	
83	    These support input-schmitt-enable, input-schmitt-disable,
84	    drive-strength, low-power-enable, and low-power-disable.
85	
86	    pdc
87	        pins:   gpio0, gpio1, sys_wake0, sys_wake1, sys_wake2, ir_data,
88	                ext_power.
89	
90	Example:
91	
92		pinctrl_pdc: pinctrl@02006500 {
93			#gpio-range-cells = <3>;
94			compatible = "img,tz1090-pdc-pinctrl";
95			reg = <0x02006500 0x100>;
96		};
97	
98	Example board file extracts:
99	
100		&pinctrl_pdc {
101			pinctrl-names = "default";
102			pinctrl-0 = <&syswake_default>;
103	
104			syswake_default: syswakes {
105				syswake_cfg {
106					tz1090,pins =	"sys_wake0",
107							"sys_wake1",
108							"sys_wake2";
109					pull-up;
110				};
111			};
112			irmod_default: irmod {
113				gpio0_cfg {
114					tz1090,pins =	"gpio0";
115					tz1090,function = "ir_mod_stable_out";
116				};
117				gpio1_cfg {
118					tz1090,pins =	"gpio1";
119					tz1090,function = "ir_mod_power_out";
120				};
121			};
122		};
123	
124		ir: ir@02006200 {
125			pinctrl-names = "default";
126			pinctrl-0 = <&irmod_default>;
127		};
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.