blob: 87697420439e84ab63c2e88a211baaabbfc05f67 [file] [log] [blame]
Patrice Chotard64a45c92013-06-20 16:04:59 +02001ST Ericsson abx500 pinmux controller
2
3Required properties:
4- compatible: "stericsson,ab8500-gpio", "stericsson,ab8540-gpio",
5 "stericsson,ab8505-gpio", "stericsson,ab9540-gpio",
6
7Please refer to pinctrl-bindings.txt in this directory for details of the
8common pinctrl bindings used by client devices, including the meaning of the
9phrase "pin configuration node".
10
Linus Walleij4944d2c2014-09-30 12:29:19 +020011ST Ericsson's pin configuration nodes use the generic pin multiplexing
12and pin configuration bindings, see pinctrl-bindings.txt
Patrice Chotard64a45c92013-06-20 16:04:59 +020013
14Example board file extract:
15
16&pinctrl_abx500 {
17 pinctrl-names = "default";
18 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
20 sysclkreq2 {
21 sysclkreq2_default_mode: sysclkreq2_default {
22 default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +020023 function = "sysclkreq";
24 groups = "sysclkreq2_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020025 };
26 default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +020027 pins = "GPIO1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020028 bias-disable;
29 };
30 };
31 };
32 sysclkreq3 {
33 sysclkreq3_default_mode: sysclkreq3_default {
34 default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +020035 function = "sysclkreq";
36 groups = "sysclkreq3_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020037 };
38 default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +020039 pins = "GPIO2";
Patrice Chotard64a45c92013-06-20 16:04:59 +020040 output-low;
41 };
42 };
43 };
44 gpio3 {
45 gpio3_default_mode: gpio3_default {
46 default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +020047 function = "gpio";
48 groups = "gpio3_a_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020049 };
50 default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +020051 pins = "GPIO3";
Patrice Chotard64a45c92013-06-20 16:04:59 +020052 output-low;
53 };
54 };
55 };
56 sysclkreq6 {
57 sysclkreq6_default_mode: sysclkreq6_default {
58 default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +020059 function = "sysclkreq";
60 groups = "sysclkreq6_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020061 };
62 default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +020063 pins = "GPIO4";
Patrice Chotard64a45c92013-06-20 16:04:59 +020064 bias-disable;
65 };
66 };
67 };
68 pwmout1 {
69 pwmout1_default_mode: pwmout1_default {
70 default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +020071 function = "pwmout";
72 groups = "pwmout1_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020073 };
74 default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +020075 pins = "GPIO14";
Patrice Chotard64a45c92013-06-20 16:04:59 +020076 output-low;
77 };
78 };
79 };
80 pwmout2 {
81 pwmout2_default_mode: pwmout2_default {
82 pwmout2_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +020083 function = "pwmout";
84 groups = "pwmout2_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020085 };
86 pwmout2_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +020087 pins = "GPIO15";
Patrice Chotard64a45c92013-06-20 16:04:59 +020088 output-low;
89 };
90 };
91 };
92 pwmout3 {
93 pwmout3_default_mode: pwmout3_default {
94 pwmout3_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +020095 function = "pwmout";
96 groups = "pwmout3_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +020097 };
98 pwmout3_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +020099 pins = "GPIO16";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200100 output-low;
101 };
102 };
103 };
104 adi1 {
105
106 adi1_default_mode: adi1_default {
107 adi1_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200108 function = "adi1";
109 groups = "adi1_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200110 };
111 adi1_default_cfg1 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200112 pins = "GPIO17","GPIO19","GPIO20";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200113 bias-disable;
114 };
115 adi1_default_cfg2 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200116 pins = "GPIO18";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200117 output-low;
118 };
119 };
120 };
121 dmic12 {
122 dmic12_default_mode: dmic12_default {
123 dmic12_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200124 function = "dmic";
125 groups = "dmic12_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200126 };
127 dmic12_default_cfg1 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200128 pins = "GPIO27";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200129 output-low;
130 };
131 dmic12_default_cfg2 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200132 pins = "GPIO28";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200133 bias-disable;
134 };
135 };
136 };
137 dmic34 {
138 dmic34_default_mode: dmic34_default {
139 dmic34_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200140 function = "dmic";
141 groups = "dmic34_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200142 };
143 dmic34_default_cfg1 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200144 pins = "GPIO29";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200145 output-low;
146 };
147 dmic34_default_cfg2 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200148 pins = "GPIO30";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200149 bias-disable;{
150
151 };
152 };
153 };
154 dmic56 {
155 dmic56_default_mode: dmic56_default {
156 dmic56_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200157 function = "dmic";
158 groups = "dmic56_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200159 };
160 dmic56_default_cfg1 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200161 pins = "GPIO31";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200162 output-low;
163 };
164 dmic56_default_cfg2 {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200165 pins = "GPIO32";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200166 bias-disable;
167 };
168 };
169 };
170 sysclkreq5 {
171 sysclkreq5_default_mode: sysclkreq5_default {
172 sysclkreq5_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200173 function = "sysclkreq";
174 groups = "sysclkreq5_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200175 };
176 sysclkreq5_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200177 pins = "GPIO42";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200178 output-low;
179 };
180 };
181 };
182 batremn {
183 batremn_default_mode: batremn_default {
184 batremn_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200185 function = "batremn";
186 groups = "batremn_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200187 };
188 batremn_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200189 pins = "GPIO43";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200190 bias-disable;
191 };
192 };
193 };
194 service {
195 service_default_mode: service_default {
196 service_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200197 function = "service";
198 groups = "service_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200199 };
200 service_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200201 pins = "GPIO44";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200202 bias-disable;
203 };
204 };
205 };
206 pwrctrl0 {
207 pwrctrl0_default_mux: pwrctrl0_mux {
208 pwrctrl0_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200209 function = "pwrctrl";
210 groups = "pwrctrl0_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200211 };
212 };
213 pwrctrl0_default_mode: pwrctrl0_default {
214 pwrctrl0_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200215 pins = "GPIO45";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200216 bias-disable;
217 };
218 };
219 };
220 pwrctrl1 {
221 pwrctrl1_default_mux: pwrctrl1_mux {
222 pwrctrl1_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200223 function = "pwrctrl";
224 groups = "pwrctrl1_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200225 };
226 };
227 pwrctrl1_default_mode: pwrctrl1_default {
228 pwrctrl1_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200229 pins = "GPIO46";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200230 bias-disable;
231 };
232 };
233 };
234 pwmextvibra1 {
235 pwmextvibra1_default_mode: pwmextvibra1_default {
236 pwmextvibra1_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200237 function = "pwmextvibra";
238 groups = "pwmextvibra1_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200239 };
240 pwmextvibra1_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200241 pins = "GPIO47";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200242 bias-disable;
243 };
244 };
245 };
246 pwmextvibra2 {
247 pwmextvibra2_default_mode: pwmextvibra2_default {
248 pwmextvibra2_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200249 function = "pwmextvibra";
250 groups = "pwmextvibra2_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200251 };
252 pwmextvibra1_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200253 pins = "GPIO48";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200254 bias-disable;
255 };
256 };
257 };
258 gpio51 {
259 gpio51_default_mode: gpio51_default {
260 gpio51_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200261 function = "gpio";
262 groups = "gpio51_a_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200263 };
264 gpio51_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200265 pins = "GPIO51";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200266 output-low;
267 };
268 };
269 };
270 gpio52 {
271 gpio52_default_mode: gpio52_default {
272 gpio52_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200273 function = "gpio";
274 groups = "gpio52_a_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200275 };
276 gpio52_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200277 pins = "GPIO52";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200278 bias-pull-down;
279 };
280 };
281 };
282 gpio53 {
283 gpio53_default_mode: gpio53_default {
284 gpio53_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200285 function = "gpio";
286 groups = "gpio53_a_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200287 };
288 gpio53_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200289 pins = "GPIO53";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200290 bias-pull-down;
291 };
292 };
293 };
294 gpio54 {
295 gpio54_default_mode: gpio54_default {
296 gpio54_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200297 function = "gpio";
298 groups = "gpio54_a_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200299 };
300 gpio54_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200301 pins = "GPIO54";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200302 output-low;
303 };
304 };
305 };
306 pdmclkdat {
307 pdmclkdat_default_mode: pdmclkdat_default {
308 pdmclkdat_default_mux {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200309 function = "pdm";
310 groups = "pdmclkdat_d_1";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200311 };
312 pdmclkdat_default_cfg {
Linus Walleij4944d2c2014-09-30 12:29:19 +0200313 pins = "GPIO55", "GPIO56";
Patrice Chotard64a45c92013-06-20 16:04:59 +0200314 bias-disable;
315 };
316 };
317 };
318};