xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunST Ericsson abx500 pinmux controller
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible: "stericsson,ab8500-gpio",  "stericsson,ab8540-gpio",
5*4882a593Smuzhiyun	      "stericsson,ab8505-gpio", "stericsson,ab9540-gpio",
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunPlease refer to pinctrl-bindings.txt in this directory for details of the
8*4882a593Smuzhiyuncommon pinctrl bindings used by client devices, including the meaning of the
9*4882a593Smuzhiyunphrase "pin configuration node".
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunST Ericsson's pin configuration nodes use the generic pin multiplexing
12*4882a593Smuzhiyunand pin configuration bindings, see pinctrl-bindings.txt
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunExample board file extract:
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun&pinctrl_abx500 {
17*4882a593Smuzhiyun	pinctrl-names = "default";
18*4882a593Smuzhiyun	pinctrl-0 = <&sysclkreq2_default_mode>, <&sysclkreq3_default_mode>, <&gpio3_default_mode>, <&sysclkreq6_default_mode>, <&pwmout1_default_mode>, <&pwmout2_default_mode>, <&pwmout3_default_mode>, <&adi1_default_mode>, <&dmic12_default_mode>, <&dmic34_default_mode>, <&dmic56_default_mode>, <&sysclkreq5_default_mode>, <&batremn_default_mode>, <&service_default_mode>, <&pwrctrl0_default_mode>, <&pwrctrl1_default_mode>, <&pwmextvibra1_default_mode>, <&pwmextvibra2_default_mode>, <&gpio51_default_mode>, <&gpio52_default_mode>, <&gpio53_default_mode>, <&gpio54_default_mode>, <&pdmclkdat_default_mode>;
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	sysclkreq2 {
21*4882a593Smuzhiyun		sysclkreq2_default_mode: sysclkreq2_default {
22*4882a593Smuzhiyun			default_mux {
23*4882a593Smuzhiyun				function = "sysclkreq";
24*4882a593Smuzhiyun				groups = "sysclkreq2_d_1";
25*4882a593Smuzhiyun			};
26*4882a593Smuzhiyun			default_cfg {
27*4882a593Smuzhiyun				pins = "GPIO1";
28*4882a593Smuzhiyun				bias-disable;
29*4882a593Smuzhiyun			};
30*4882a593Smuzhiyun		};
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun	sysclkreq3 {
33*4882a593Smuzhiyun		sysclkreq3_default_mode: sysclkreq3_default {
34*4882a593Smuzhiyun			default_mux {
35*4882a593Smuzhiyun				function = "sysclkreq";
36*4882a593Smuzhiyun				groups = "sysclkreq3_d_1";
37*4882a593Smuzhiyun			};
38*4882a593Smuzhiyun			default_cfg {
39*4882a593Smuzhiyun				pins = "GPIO2";
40*4882a593Smuzhiyun				output-low;
41*4882a593Smuzhiyun			};
42*4882a593Smuzhiyun		};
43*4882a593Smuzhiyun	};
44*4882a593Smuzhiyun	gpio3 {
45*4882a593Smuzhiyun		gpio3_default_mode: gpio3_default {
46*4882a593Smuzhiyun			default_mux {
47*4882a593Smuzhiyun				function = "gpio";
48*4882a593Smuzhiyun				groups = "gpio3_a_1";
49*4882a593Smuzhiyun			};
50*4882a593Smuzhiyun			default_cfg {
51*4882a593Smuzhiyun				pins = "GPIO3";
52*4882a593Smuzhiyun				output-low;
53*4882a593Smuzhiyun			};
54*4882a593Smuzhiyun		};
55*4882a593Smuzhiyun	};
56*4882a593Smuzhiyun	sysclkreq6 {
57*4882a593Smuzhiyun		sysclkreq6_default_mode: sysclkreq6_default {
58*4882a593Smuzhiyun			default_mux {
59*4882a593Smuzhiyun				function = "sysclkreq";
60*4882a593Smuzhiyun				groups = "sysclkreq6_d_1";
61*4882a593Smuzhiyun			};
62*4882a593Smuzhiyun			default_cfg {
63*4882a593Smuzhiyun				pins = "GPIO4";
64*4882a593Smuzhiyun				bias-disable;
65*4882a593Smuzhiyun			};
66*4882a593Smuzhiyun		};
67*4882a593Smuzhiyun	};
68*4882a593Smuzhiyun	pwmout1 {
69*4882a593Smuzhiyun		pwmout1_default_mode: pwmout1_default {
70*4882a593Smuzhiyun			default_mux {
71*4882a593Smuzhiyun				function = "pwmout";
72*4882a593Smuzhiyun				groups = "pwmout1_d_1";
73*4882a593Smuzhiyun			};
74*4882a593Smuzhiyun			default_cfg {
75*4882a593Smuzhiyun				pins = "GPIO14";
76*4882a593Smuzhiyun				output-low;
77*4882a593Smuzhiyun			};
78*4882a593Smuzhiyun		};
79*4882a593Smuzhiyun	};
80*4882a593Smuzhiyun	pwmout2 {
81*4882a593Smuzhiyun		pwmout2_default_mode: pwmout2_default {
82*4882a593Smuzhiyun			pwmout2_default_mux {
83*4882a593Smuzhiyun				function = "pwmout";
84*4882a593Smuzhiyun				groups = "pwmout2_d_1";
85*4882a593Smuzhiyun			};
86*4882a593Smuzhiyun			pwmout2_default_cfg {
87*4882a593Smuzhiyun				pins = "GPIO15";
88*4882a593Smuzhiyun				output-low;
89*4882a593Smuzhiyun			};
90*4882a593Smuzhiyun		};
91*4882a593Smuzhiyun	};
92*4882a593Smuzhiyun	pwmout3 {
93*4882a593Smuzhiyun		pwmout3_default_mode: pwmout3_default {
94*4882a593Smuzhiyun			pwmout3_default_mux {
95*4882a593Smuzhiyun				function = "pwmout";
96*4882a593Smuzhiyun				groups = "pwmout3_d_1";
97*4882a593Smuzhiyun			};
98*4882a593Smuzhiyun			pwmout3_default_cfg {
99*4882a593Smuzhiyun				pins = "GPIO16";
100*4882a593Smuzhiyun				output-low;
101*4882a593Smuzhiyun			};
102*4882a593Smuzhiyun		};
103*4882a593Smuzhiyun	};
104*4882a593Smuzhiyun	adi1 {
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun		adi1_default_mode: adi1_default {
107*4882a593Smuzhiyun			adi1_default_mux {
108*4882a593Smuzhiyun				function = "adi1";
109*4882a593Smuzhiyun				groups = "adi1_d_1";
110*4882a593Smuzhiyun			};
111*4882a593Smuzhiyun			adi1_default_cfg1 {
112*4882a593Smuzhiyun				pins = "GPIO17","GPIO19","GPIO20";
113*4882a593Smuzhiyun				bias-disable;
114*4882a593Smuzhiyun			};
115*4882a593Smuzhiyun			adi1_default_cfg2 {
116*4882a593Smuzhiyun				pins = "GPIO18";
117*4882a593Smuzhiyun				output-low;
118*4882a593Smuzhiyun			};
119*4882a593Smuzhiyun		};
120*4882a593Smuzhiyun	};
121*4882a593Smuzhiyun	dmic12 {
122*4882a593Smuzhiyun		dmic12_default_mode: dmic12_default {
123*4882a593Smuzhiyun			dmic12_default_mux {
124*4882a593Smuzhiyun				function = "dmic";
125*4882a593Smuzhiyun				groups = "dmic12_d_1";
126*4882a593Smuzhiyun			};
127*4882a593Smuzhiyun			dmic12_default_cfg1 {
128*4882a593Smuzhiyun				pins = "GPIO27";
129*4882a593Smuzhiyun				output-low;
130*4882a593Smuzhiyun			};
131*4882a593Smuzhiyun			dmic12_default_cfg2 {
132*4882a593Smuzhiyun				pins = "GPIO28";
133*4882a593Smuzhiyun				bias-disable;
134*4882a593Smuzhiyun			};
135*4882a593Smuzhiyun		};
136*4882a593Smuzhiyun	};
137*4882a593Smuzhiyun	dmic34 {
138*4882a593Smuzhiyun		dmic34_default_mode: dmic34_default {
139*4882a593Smuzhiyun			dmic34_default_mux {
140*4882a593Smuzhiyun				function = "dmic";
141*4882a593Smuzhiyun				groups = "dmic34_d_1";
142*4882a593Smuzhiyun			};
143*4882a593Smuzhiyun			dmic34_default_cfg1 {
144*4882a593Smuzhiyun				pins = "GPIO29";
145*4882a593Smuzhiyun				output-low;
146*4882a593Smuzhiyun			};
147*4882a593Smuzhiyun			dmic34_default_cfg2 {
148*4882a593Smuzhiyun				pins = "GPIO30";
149*4882a593Smuzhiyun				bias-disable;{
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun			};
152*4882a593Smuzhiyun		};
153*4882a593Smuzhiyun	};
154*4882a593Smuzhiyun	dmic56 {
155*4882a593Smuzhiyun		dmic56_default_mode: dmic56_default {
156*4882a593Smuzhiyun			dmic56_default_mux {
157*4882a593Smuzhiyun				function = "dmic";
158*4882a593Smuzhiyun				groups = "dmic56_d_1";
159*4882a593Smuzhiyun			};
160*4882a593Smuzhiyun			dmic56_default_cfg1 {
161*4882a593Smuzhiyun				pins = "GPIO31";
162*4882a593Smuzhiyun				output-low;
163*4882a593Smuzhiyun			};
164*4882a593Smuzhiyun			dmic56_default_cfg2 {
165*4882a593Smuzhiyun				pins = "GPIO32";
166*4882a593Smuzhiyun				bias-disable;
167*4882a593Smuzhiyun			};
168*4882a593Smuzhiyun		};
169*4882a593Smuzhiyun	};
170*4882a593Smuzhiyun	sysclkreq5 {
171*4882a593Smuzhiyun		sysclkreq5_default_mode: sysclkreq5_default {
172*4882a593Smuzhiyun			sysclkreq5_default_mux {
173*4882a593Smuzhiyun				function = "sysclkreq";
174*4882a593Smuzhiyun				groups = "sysclkreq5_d_1";
175*4882a593Smuzhiyun			};
176*4882a593Smuzhiyun			sysclkreq5_default_cfg {
177*4882a593Smuzhiyun				pins = "GPIO42";
178*4882a593Smuzhiyun				output-low;
179*4882a593Smuzhiyun			};
180*4882a593Smuzhiyun		};
181*4882a593Smuzhiyun	};
182*4882a593Smuzhiyun	batremn {
183*4882a593Smuzhiyun		batremn_default_mode: batremn_default {
184*4882a593Smuzhiyun			batremn_default_mux {
185*4882a593Smuzhiyun				function = "batremn";
186*4882a593Smuzhiyun				groups = "batremn_d_1";
187*4882a593Smuzhiyun			};
188*4882a593Smuzhiyun			batremn_default_cfg {
189*4882a593Smuzhiyun				pins = "GPIO43";
190*4882a593Smuzhiyun				bias-disable;
191*4882a593Smuzhiyun			};
192*4882a593Smuzhiyun		};
193*4882a593Smuzhiyun	};
194*4882a593Smuzhiyun	service {
195*4882a593Smuzhiyun		service_default_mode: service_default {
196*4882a593Smuzhiyun			service_default_mux {
197*4882a593Smuzhiyun				function = "service";
198*4882a593Smuzhiyun				groups = "service_d_1";
199*4882a593Smuzhiyun			};
200*4882a593Smuzhiyun			service_default_cfg {
201*4882a593Smuzhiyun				pins = "GPIO44";
202*4882a593Smuzhiyun				bias-disable;
203*4882a593Smuzhiyun			};
204*4882a593Smuzhiyun		};
205*4882a593Smuzhiyun	};
206*4882a593Smuzhiyun	pwrctrl0 {
207*4882a593Smuzhiyun		pwrctrl0_default_mux: pwrctrl0_mux {
208*4882a593Smuzhiyun			pwrctrl0_default_mux {
209*4882a593Smuzhiyun				function = "pwrctrl";
210*4882a593Smuzhiyun				groups = "pwrctrl0_d_1";
211*4882a593Smuzhiyun			};
212*4882a593Smuzhiyun		};
213*4882a593Smuzhiyun		pwrctrl0_default_mode: pwrctrl0_default {
214*4882a593Smuzhiyun			pwrctrl0_default_cfg {
215*4882a593Smuzhiyun				pins = "GPIO45";
216*4882a593Smuzhiyun				bias-disable;
217*4882a593Smuzhiyun			};
218*4882a593Smuzhiyun		};
219*4882a593Smuzhiyun	};
220*4882a593Smuzhiyun	pwrctrl1 {
221*4882a593Smuzhiyun		pwrctrl1_default_mux: pwrctrl1_mux {
222*4882a593Smuzhiyun			pwrctrl1_default_mux {
223*4882a593Smuzhiyun				function = "pwrctrl";
224*4882a593Smuzhiyun				groups = "pwrctrl1_d_1";
225*4882a593Smuzhiyun			};
226*4882a593Smuzhiyun		};
227*4882a593Smuzhiyun		pwrctrl1_default_mode: pwrctrl1_default {
228*4882a593Smuzhiyun			pwrctrl1_default_cfg {
229*4882a593Smuzhiyun				pins = "GPIO46";
230*4882a593Smuzhiyun				bias-disable;
231*4882a593Smuzhiyun			};
232*4882a593Smuzhiyun		};
233*4882a593Smuzhiyun	};
234*4882a593Smuzhiyun	pwmextvibra1 {
235*4882a593Smuzhiyun		pwmextvibra1_default_mode: pwmextvibra1_default {
236*4882a593Smuzhiyun			pwmextvibra1_default_mux {
237*4882a593Smuzhiyun				function = "pwmextvibra";
238*4882a593Smuzhiyun				groups = "pwmextvibra1_d_1";
239*4882a593Smuzhiyun			};
240*4882a593Smuzhiyun			pwmextvibra1_default_cfg {
241*4882a593Smuzhiyun				pins = "GPIO47";
242*4882a593Smuzhiyun				bias-disable;
243*4882a593Smuzhiyun			};
244*4882a593Smuzhiyun		};
245*4882a593Smuzhiyun	};
246*4882a593Smuzhiyun	pwmextvibra2 {
247*4882a593Smuzhiyun		pwmextvibra2_default_mode: pwmextvibra2_default {
248*4882a593Smuzhiyun			pwmextvibra2_default_mux {
249*4882a593Smuzhiyun				function = "pwmextvibra";
250*4882a593Smuzhiyun				groups = "pwmextvibra2_d_1";
251*4882a593Smuzhiyun			};
252*4882a593Smuzhiyun			pwmextvibra1_default_cfg {
253*4882a593Smuzhiyun				pins = "GPIO48";
254*4882a593Smuzhiyun				bias-disable;
255*4882a593Smuzhiyun			};
256*4882a593Smuzhiyun		};
257*4882a593Smuzhiyun	};
258*4882a593Smuzhiyun	gpio51 {
259*4882a593Smuzhiyun		gpio51_default_mode: gpio51_default {
260*4882a593Smuzhiyun				gpio51_default_mux {
261*4882a593Smuzhiyun				function = "gpio";
262*4882a593Smuzhiyun				groups = "gpio51_a_1";
263*4882a593Smuzhiyun			};
264*4882a593Smuzhiyun			gpio51_default_cfg {
265*4882a593Smuzhiyun				pins = "GPIO51";
266*4882a593Smuzhiyun				output-low;
267*4882a593Smuzhiyun			};
268*4882a593Smuzhiyun		};
269*4882a593Smuzhiyun	};
270*4882a593Smuzhiyun	gpio52 {
271*4882a593Smuzhiyun		gpio52_default_mode: gpio52_default {
272*4882a593Smuzhiyun			gpio52_default_mux {
273*4882a593Smuzhiyun				function = "gpio";
274*4882a593Smuzhiyun				groups = "gpio52_a_1";
275*4882a593Smuzhiyun			};
276*4882a593Smuzhiyun			gpio52_default_cfg {
277*4882a593Smuzhiyun				pins = "GPIO52";
278*4882a593Smuzhiyun				bias-pull-down;
279*4882a593Smuzhiyun			};
280*4882a593Smuzhiyun		};
281*4882a593Smuzhiyun	};
282*4882a593Smuzhiyun	gpio53 {
283*4882a593Smuzhiyun		gpio53_default_mode: gpio53_default {
284*4882a593Smuzhiyun			gpio53_default_mux {
285*4882a593Smuzhiyun				function = "gpio";
286*4882a593Smuzhiyun				groups = "gpio53_a_1";
287*4882a593Smuzhiyun			};
288*4882a593Smuzhiyun			gpio53_default_cfg {
289*4882a593Smuzhiyun				pins = "GPIO53";
290*4882a593Smuzhiyun				bias-pull-down;
291*4882a593Smuzhiyun			};
292*4882a593Smuzhiyun		};
293*4882a593Smuzhiyun	};
294*4882a593Smuzhiyun	gpio54 {
295*4882a593Smuzhiyun		gpio54_default_mode: gpio54_default {
296*4882a593Smuzhiyun			gpio54_default_mux {
297*4882a593Smuzhiyun				function = "gpio";
298*4882a593Smuzhiyun				groups = "gpio54_a_1";
299*4882a593Smuzhiyun			};
300*4882a593Smuzhiyun			gpio54_default_cfg {
301*4882a593Smuzhiyun				pins = "GPIO54";
302*4882a593Smuzhiyun				output-low;
303*4882a593Smuzhiyun			};
304*4882a593Smuzhiyun		};
305*4882a593Smuzhiyun	};
306*4882a593Smuzhiyun	pdmclkdat {
307*4882a593Smuzhiyun		pdmclkdat_default_mode: pdmclkdat_default {
308*4882a593Smuzhiyun			pdmclkdat_default_mux {
309*4882a593Smuzhiyun				function = "pdm";
310*4882a593Smuzhiyun				groups = "pdmclkdat_d_1";
311*4882a593Smuzhiyun			};
312*4882a593Smuzhiyun			pdmclkdat_default_cfg {
313*4882a593Smuzhiyun				pins = "GPIO55", "GPIO56";
314*4882a593Smuzhiyun				bias-disable;
315*4882a593Smuzhiyun			};
316*4882a593Smuzhiyun		};
317*4882a593Smuzhiyun	};
318*4882a593Smuzhiyun};
319