Linux Audio

Check our new training course

Loading...
v4.17
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source
  4 *
  5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
  6 *		http://www.samsung.com
  7 *
  8 * Samsung's Exynos3250 SoCs pin-mux and pin-config optiosn are listed as device
  9 * tree nodes are listed in this file.
 10 */
 11
 12#include <dt-bindings/pinctrl/samsung.h>
 13
 14#define PIN_IN(_pin, _pull, _drv)					\
 15	_pin {								\
 16		samsung,pins = #_pin;					\
 17		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;		\
 18		samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>;		\
 19		samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>;		\
 20	}
 21
 22#define PIN_OUT(_pin, _drv)						\
 23	_pin {								\
 24		samsung,pins = #_pin;					\
 25		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;	\
 26		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;		\
 27		samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>;		\
 28	}
 29
 30#define PIN_OUT_SET(_pin, _val, _drv)					\
 31	_pin {								\
 32		samsung,pins = #_pin;					\
 33		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;	\
 34		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;		\
 35		samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>;		\
 36		samsung,pin-val = <_val>;				\
 37	}
 38
 39#define PIN_CFG(_pin, _sel, _pull, _drv)				\
 40	_pin {								\
 41		samsung,pins = #_pin;					\
 42		samsung,pin-function = <_sel>;				\
 43		samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>;		\
 44		samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>;		\
 45	}
 46
 47#define PIN_SLP(_pin, _mode, _pull)					\
 48	_pin {								\
 49		samsung,pins = #_pin;					\
 50		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>;	\
 51		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>;	\
 52	}
 53
 54&pinctrl_0 {
 55	gpa0: gpa0 {
 56		gpio-controller;
 57		#gpio-cells = <2>;
 58
 59		interrupt-controller;
 60		#interrupt-cells = <2>;
 61	};
 62
 63	gpa1: gpa1 {
 64		gpio-controller;
 65		#gpio-cells = <2>;
 66
 67		interrupt-controller;
 68		#interrupt-cells = <2>;
 69	};
 70
 71	gpb: gpb {
 72		gpio-controller;
 73		#gpio-cells = <2>;
 74
 75		interrupt-controller;
 76		#interrupt-cells = <2>;
 77	};
 78
 79	gpc0: gpc0 {
 80		gpio-controller;
 81		#gpio-cells = <2>;
 82
 83		interrupt-controller;
 84		#interrupt-cells = <2>;
 85	};
 86
 87	gpc1: gpc1 {
 88		gpio-controller;
 89		#gpio-cells = <2>;
 90
 91		interrupt-controller;
 92		#interrupt-cells = <2>;
 93	};
 94
 95	gpd0: gpd0 {
 96		gpio-controller;
 97		#gpio-cells = <2>;
 98
 99		interrupt-controller;
100		#interrupt-cells = <2>;
101	};
102
103	gpd1: gpd1 {
104		gpio-controller;
105		#gpio-cells = <2>;
106
107		interrupt-controller;
108		#interrupt-cells = <2>;
109	};
110
111	uart0_data: uart0-data {
112		samsung,pins = "gpa0-0", "gpa0-1";
113		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
114		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
115		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
116	};
117
118	uart0_fctl: uart0-fctl {
119		samsung,pins = "gpa0-2", "gpa0-3";
120		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
121		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
122		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
123	};
124
125	uart1_data: uart1-data {
126		samsung,pins = "gpa0-4", "gpa0-5";
127		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
128		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
129		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
130	};
131
132	uart1_fctl: uart1-fctl {
133		samsung,pins = "gpa0-6", "gpa0-7";
134		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
135		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
136		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
137	};
138
139	i2c2_bus: i2c2-bus {
140		samsung,pins = "gpa0-6", "gpa0-7";
141		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
142		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
143		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
144	};
145
146	uart2_data: uart2-data {
147		samsung,pins = "gpa1-0", "gpa1-1";
148		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
149		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
150		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
151	};
152
153	i2c3_bus: i2c3-bus {
154		samsung,pins = "gpa1-2", "gpa1-3";
155		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
156		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
157		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
158	};
159
160	spi0_bus: spi0-bus {
161		samsung,pins = "gpb-0", "gpb-2", "gpb-3";
162		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
163		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
164		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
165	};
166
167	i2c4_bus: i2c4-bus {
168		samsung,pins = "gpb-0", "gpb-1";
169		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
170		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
171		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
172	};
173
174	spi1_bus: spi1-bus {
175		samsung,pins = "gpb-4", "gpb-6", "gpb-7";
176		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
177		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
178		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
179	};
180
181	i2c5_bus: i2c5-bus {
182		samsung,pins = "gpb-2", "gpb-3";
183		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
184		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
185		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
186	};
187
188	i2s2_bus: i2s2-bus {
189		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
190				"gpc1-4";
191		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
192		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
193		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
194	};
195
196	pcm2_bus: pcm2-bus {
197		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
198				"gpc1-4";
199		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
200		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
201		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
202	};
203
204	i2c6_bus: i2c6-bus {
205		samsung,pins = "gpc1-3", "gpc1-4";
206		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
207		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
208		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
209	};
210
211	pwm0_out: pwm0-out {
212		samsung,pins = "gpd0-0";
213		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
214		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
215		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
216	};
217
218	pwm1_out: pwm1-out {
219		samsung,pins = "gpd0-1";
220		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
221		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
222		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
223	};
224
225	i2c7_bus: i2c7-bus {
226		samsung,pins = "gpd0-2", "gpd0-3";
227		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
228		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
229		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
230	};
231
232	pwm2_out: pwm2-out {
233		samsung,pins = "gpd0-2";
234		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
235		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
236		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
237	};
238
239	pwm3_out: pwm3-out {
240		samsung,pins = "gpd0-3";
241		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
242		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
243		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
244	};
245
246	i2c0_bus: i2c0-bus {
247		samsung,pins = "gpd1-0", "gpd1-1";
248		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
249		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
250		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
251	};
252
253	mipi0_clk: mipi0-clk {
254		samsung,pins = "gpd1-0", "gpd1-1";
255		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
256		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
257		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
258	};
259
260	i2c1_bus: i2c1-bus {
261		samsung,pins = "gpd1-2", "gpd1-3";
262		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
263		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
264		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
265	};
266};
267
268&pinctrl_1 {
269	gpe0: gpe0 {
270		gpio-controller;
271		#gpio-cells = <2>;
272	};
273
274	gpe1: gpe1 {
275		gpio-controller;
276		#gpio-cells = <2>;
277	};
278
279	gpe2: gpe2 {
280		gpio-controller;
281		#gpio-cells = <2>;
282	};
283
284	gpk0: gpk0 {
285		gpio-controller;
286		#gpio-cells = <2>;
287
288		interrupt-controller;
289		#interrupt-cells = <2>;
290	};
291
292	gpk1: gpk1 {
293		gpio-controller;
294		#gpio-cells = <2>;
295
296		interrupt-controller;
297		#interrupt-cells = <2>;
298	};
299
300	gpk2: gpk2 {
301		gpio-controller;
302		#gpio-cells = <2>;
303
304		interrupt-controller;
305		#interrupt-cells = <2>;
306	};
307
308	gpl0: gpl0 {
309		gpio-controller;
310		#gpio-cells = <2>;
311
312		interrupt-controller;
313		#interrupt-cells = <2>;
314	};
315
316	gpm0: gpm0 {
317		gpio-controller;
318		#gpio-cells = <2>;
319
320		interrupt-controller;
321		#interrupt-cells = <2>;
322	};
323
324	gpm1: gpm1 {
325		gpio-controller;
326		#gpio-cells = <2>;
327
328		interrupt-controller;
329		#interrupt-cells = <2>;
330	};
331
332	gpm2: gpm2 {
333		gpio-controller;
334		#gpio-cells = <2>;
335
336		interrupt-controller;
337		#interrupt-cells = <2>;
338	};
339
340	gpm3: gpm3 {
341		gpio-controller;
342		#gpio-cells = <2>;
343
344		interrupt-controller;
345		#interrupt-cells = <2>;
346	};
347
348	gpm4: gpm4 {
349		gpio-controller;
350		#gpio-cells = <2>;
351
352		interrupt-controller;
353		#interrupt-cells = <2>;
354	};
355
356	gpx0: gpx0 {
357		gpio-controller;
358		#gpio-cells = <2>;
359
360		interrupt-controller;
361		interrupt-parent = <&gic>;
362		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
363			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
364			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
365			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
366			     <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
367			     <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
368			     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
369			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
370		#interrupt-cells = <2>;
371	};
372
373	gpx1: gpx1 {
374		gpio-controller;
375		#gpio-cells = <2>;
376
377		interrupt-controller;
378		interrupt-parent = <&gic>;
379		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
380			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
381			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
382			     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
383			     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
384			     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
385			     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
386			     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
387		#interrupt-cells = <2>;
388	};
389
390	gpx2: gpx2 {
391		gpio-controller;
392		#gpio-cells = <2>;
393
394		interrupt-controller;
395		#interrupt-cells = <2>;
396	};
397
398	gpx3: gpx3 {
399		gpio-controller;
400		#gpio-cells = <2>;
401
402		interrupt-controller;
403		#interrupt-cells = <2>;
404	};
405
406	sd0_clk: sd0-clk {
407		samsung,pins = "gpk0-0";
408		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
409		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
410		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
411	};
412
413	sd0_cmd: sd0-cmd {
414		samsung,pins = "gpk0-1";
415		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
416		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
417		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
418	};
419
420	sd0_cd: sd0-cd {
421		samsung,pins = "gpk0-2";
422		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
423		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
424		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
425	};
426
427	sd0_rdqs: sd0-rdqs {
428		samsung,pins = "gpk0-7";
429		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
430		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
431		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
432	};
433
434	sd0_bus1: sd0-bus-width1 {
435		samsung,pins = "gpk0-3";
436		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
437		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
438		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
439	};
440
441	sd0_bus4: sd0-bus-width4 {
442		samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6";
443		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
444		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
445		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
446	};
447
448	sd0_bus8: sd0-bus-width8 {
449		samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3";
450		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
451		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
452		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
453	};
454
455	sd1_clk: sd1-clk {
456		samsung,pins = "gpk1-0";
457		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
458		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
459		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
460	};
461
462	sd1_cmd: sd1-cmd {
463		samsung,pins = "gpk1-1";
464		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
465		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
466		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
467	};
468
469	sd1_cd: sd1-cd {
470		samsung,pins = "gpk1-2";
471		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
472		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
473		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
474	};
475
476	sd1_bus1: sd1-bus-width1 {
477		samsung,pins = "gpk1-3";
478		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
479		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
480		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
481	};
482
483	sd1_bus4: sd1-bus-width4 {
484		samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6";
485		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
486		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
487		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
488	};
489
490	sd2_clk: sd2-clk {
491		samsung,pins = "gpk2-0";
492		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
493		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
494		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
495	};
496
497	sd2_cmd: sd2-cmd {
498		samsung,pins = "gpk2-1";
499		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
500		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
501		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
502	};
503
504	sd2_cd: sd2-cd {
505		samsung,pins = "gpk2-2";
506		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
507		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
508		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
509	};
510
511	sd2_bus1: sd2-bus-width1 {
512		samsung,pins = "gpk2-3";
513		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
514		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
515		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
516	};
517
518	sd2_bus4: sd2-bus-width4 {
519		samsung,pins = "gpk2-4", "gpk2-5", "gpk2-6";
520		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
521		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
522		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
523	};
524
525	cam_port_b_io: cam-port-b-io {
526		samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
527				"gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
528				"gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
529		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
530		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
531		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
532	};
533
534	cam_port_b_clk_active: cam-port-b-clk-active {
535		samsung,pins = "gpm2-2";
536		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
537		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
538		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
539	};
540
541	cam_port_b_clk_idle: cam-port-b-clk-idle {
542		samsung,pins = "gpm2-2";
543		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
544		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
545		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
546	};
547
548	fimc_is_i2c0: fimc-is-i2c0 {
549		samsung,pins = "gpm4-0", "gpm4-1";
550		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
551		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
552		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
553	};
554
555	fimc_is_i2c1: fimc-is-i2c1 {
556		samsung,pins = "gpm4-2", "gpm4-3";
557		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
558		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
559		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
560	};
561
562	fimc_is_uart: fimc-is-uart {
563		samsung,pins = "gpm3-5", "gpm3-7";
564		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
565		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
566		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
567	};
568};
v4.6
 
  1/*
  2 * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source
  3 *
  4 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
  5 *		http://www.samsung.com
  6 *
  7 * Samsung's Exynos3250 SoCs pin-mux and pin-config optiosn are listed as device
  8 * tree nodes are listed in this file.
  9 *
 10 * This program is free software; you can redistribute it and/or modify
 11 * it under the terms of the GNU General Public License version 2 as
 12 * published by the Free Software Foundation.
 13*/
 14
 15#define PIN_PULL_NONE		0
 16#define PIN_PULL_DOWN		1
 17#define PIN_PULL_UP		3
 18
 19#define PIN_PDN_OUT0		0
 20#define PIN_PDN_OUT1		1
 21#define PIN_PDN_INPUT		2
 22#define PIN_PDN_PREV		3
 23
 24#define PIN_SLP(_pin, _mode, _pull)				\
 25	_pin {							\
 26		samsung,pins = #_pin;				\
 27		samsung,pin-con-pdn = <PIN_PDN_ ##_mode>;	\
 28		samsung,pin-pud-pdn = <PIN_PULL_ ##_pull>;	\
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 29	}
 30
 31&pinctrl_0 {
 32	gpa0: gpa0 {
 33		gpio-controller;
 34		#gpio-cells = <2>;
 35
 36		interrupt-controller;
 37		#interrupt-cells = <2>;
 38	};
 39
 40	gpa1: gpa1 {
 41		gpio-controller;
 42		#gpio-cells = <2>;
 43
 44		interrupt-controller;
 45		#interrupt-cells = <2>;
 46	};
 47
 48	gpb: gpb {
 49		gpio-controller;
 50		#gpio-cells = <2>;
 51
 52		interrupt-controller;
 53		#interrupt-cells = <2>;
 54	};
 55
 56	gpc0: gpc0 {
 57		gpio-controller;
 58		#gpio-cells = <2>;
 59
 60		interrupt-controller;
 61		#interrupt-cells = <2>;
 62	};
 63
 64	gpc1: gpc1 {
 65		gpio-controller;
 66		#gpio-cells = <2>;
 67
 68		interrupt-controller;
 69		#interrupt-cells = <2>;
 70	};
 71
 72	gpd0: gpd0 {
 73		gpio-controller;
 74		#gpio-cells = <2>;
 75
 76		interrupt-controller;
 77		#interrupt-cells = <2>;
 78	};
 79
 80	gpd1: gpd1 {
 81		gpio-controller;
 82		#gpio-cells = <2>;
 83
 84		interrupt-controller;
 85		#interrupt-cells = <2>;
 86	};
 87
 88	uart0_data: uart0-data {
 89		samsung,pins = "gpa0-0", "gpa0-1";
 90		samsung,pin-function = <0x2>;
 91		samsung,pin-pud = <0>;
 92		samsung,pin-drv = <0>;
 93	};
 94
 95	uart0_fctl: uart0-fctl {
 96		samsung,pins = "gpa0-2", "gpa0-3";
 97		samsung,pin-function = <2>;
 98		samsung,pin-pud = <0>;
 99		samsung,pin-drv = <0>;
100	};
101
102	uart1_data: uart1-data {
103		samsung,pins = "gpa0-4", "gpa0-5";
104		samsung,pin-function = <2>;
105		samsung,pin-pud = <0>;
106		samsung,pin-drv = <0>;
107	};
108
109	uart1_fctl: uart1-fctl {
110		samsung,pins = "gpa0-6", "gpa0-7";
111		samsung,pin-function = <2>;
112		samsung,pin-pud = <0>;
113		samsung,pin-drv = <0>;
114	};
115
116	i2c2_bus: i2c2-bus {
117		samsung,pins = "gpa0-6", "gpa0-7";
118		samsung,pin-function = <3>;
119		samsung,pin-pud = <3>;
120		samsung,pin-drv = <0>;
 
 
 
 
 
 
 
121	};
122
123	i2c3_bus: i2c3-bus {
124		samsung,pins = "gpa1-2", "gpa1-3";
125		samsung,pin-function = <3>;
126		samsung,pin-pud = <3>;
127		samsung,pin-drv = <0>;
128	};
129
130	spi0_bus: spi0-bus {
131		samsung,pins = "gpb-0", "gpb-2", "gpb-3";
132		samsung,pin-function = <2>;
133		samsung,pin-pud = <3>;
134		samsung,pin-drv = <0>;
135	};
136
137	i2c4_bus: i2c4-bus {
138		samsung,pins = "gpb-0", "gpb-1";
139		samsung,pin-function = <3>;
140		samsung,pin-pud = <3>;
141		samsung,pin-drv = <0>;
142	};
143
144	spi1_bus: spi1-bus {
145		samsung,pins = "gpb-4", "gpb-6", "gpb-7";
146		samsung,pin-function = <2>;
147		samsung,pin-pud = <3>;
148		samsung,pin-drv = <0>;
149	};
150
151	i2c5_bus: i2c5-bus {
152		samsung,pins = "gpb-2", "gpb-3";
153		samsung,pin-function = <3>;
154		samsung,pin-pud = <3>;
155		samsung,pin-drv = <0>;
156	};
157
158	i2s2_bus: i2s2-bus {
159		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
160				"gpc1-4";
161		samsung,pin-function = <2>;
162		samsung,pin-pud = <0>;
163		samsung,pin-drv = <0>;
164	};
165
166	pcm2_bus: pcm2-bus {
167		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
168				"gpc1-4";
169		samsung,pin-function = <3>;
170		samsung,pin-pud = <0>;
171		samsung,pin-drv = <0>;
172	};
173
174	i2c6_bus: i2c6-bus {
175		samsung,pins = "gpc1-3", "gpc1-4";
176		samsung,pin-function = <4>;
177		samsung,pin-pud = <3>;
178		samsung,pin-drv = <0>;
179	};
180
181	pwm0_out: pwm0-out {
182		samsung,pins = "gpd0-0";
183		samsung,pin-function = <2>;
184		samsung,pin-pud = <0>;
185		samsung,pin-drv = <0>;
186	};
187
188	pwm1_out: pwm1-out {
189		samsung,pins = "gpd0-1";
190		samsung,pin-function = <2>;
191		samsung,pin-pud = <0>;
192		samsung,pin-drv = <0>;
193	};
194
195	i2c7_bus: i2c7-bus {
196		samsung,pins = "gpd0-2", "gpd0-3";
197		samsung,pin-function = <3>;
198		samsung,pin-pud = <3>;
199		samsung,pin-drv = <0>;
200	};
201
202	pwm2_out: pwm2-out {
203		samsung,pins = "gpd0-2";
204		samsung,pin-function = <2>;
205		samsung,pin-pud = <0>;
206		samsung,pin-drv = <0>;
207	};
208
209	pwm3_out: pwm3-out {
210		samsung,pins = "gpd0-3";
211		samsung,pin-function = <2>;
212		samsung,pin-pud = <0>;
213		samsung,pin-drv = <0>;
214	};
215
216	i2c0_bus: i2c0-bus {
217		samsung,pins = "gpd1-0", "gpd1-1";
218		samsung,pin-function = <2>;
219		samsung,pin-pud = <3>;
220		samsung,pin-drv = <0>;
221	};
222
223	mipi0_clk: mipi0-clk {
224		samsung,pins = "gpd1-0", "gpd1-1";
225		samsung,pin-function = <3>;
226		samsung,pin-pud = <0>;
227		samsung,pin-drv = <0>;
228	};
229
230	i2c1_bus: i2c1-bus {
231		samsung,pins = "gpd1-2", "gpd1-3";
232		samsung,pin-function = <2>;
233		samsung,pin-pud = <3>;
234		samsung,pin-drv = <0>;
235	};
236};
237
238&pinctrl_1 {
239	gpe0: gpe0 {
240		gpio-controller;
241		#gpio-cells = <2>;
242	};
243
244	gpe1: gpe1 {
245		gpio-controller;
246		#gpio-cells = <2>;
247	};
248
249	gpe2: gpe2 {
250		gpio-controller;
251		#gpio-cells = <2>;
252	};
253
254	gpk0: gpk0 {
255		gpio-controller;
256		#gpio-cells = <2>;
257
258		interrupt-controller;
259		#interrupt-cells = <2>;
260	};
261
262	gpk1: gpk1 {
263		gpio-controller;
264		#gpio-cells = <2>;
265
266		interrupt-controller;
267		#interrupt-cells = <2>;
268	};
269
270	gpk2: gpk2 {
271		gpio-controller;
272		#gpio-cells = <2>;
273
274		interrupt-controller;
275		#interrupt-cells = <2>;
276	};
277
278	gpl0: gpl0 {
279		gpio-controller;
280		#gpio-cells = <2>;
281
282		interrupt-controller;
283		#interrupt-cells = <2>;
284	};
285
286	gpm0: gpm0 {
287		gpio-controller;
288		#gpio-cells = <2>;
289
290		interrupt-controller;
291		#interrupt-cells = <2>;
292	};
293
294	gpm1: gpm1 {
295		gpio-controller;
296		#gpio-cells = <2>;
297
298		interrupt-controller;
299		#interrupt-cells = <2>;
300	};
301
302	gpm2: gpm2 {
303		gpio-controller;
304		#gpio-cells = <2>;
305
306		interrupt-controller;
307		#interrupt-cells = <2>;
308	};
309
310	gpm3: gpm3 {
311		gpio-controller;
312		#gpio-cells = <2>;
313
314		interrupt-controller;
315		#interrupt-cells = <2>;
316	};
317
318	gpm4: gpm4 {
319		gpio-controller;
320		#gpio-cells = <2>;
321
322		interrupt-controller;
323		#interrupt-cells = <2>;
324	};
325
326	gpx0: gpx0 {
327		gpio-controller;
328		#gpio-cells = <2>;
329
330		interrupt-controller;
331		interrupt-parent = <&gic>;
332		interrupts = <0 32 0>, <0 33 0>, <0 34 0>, <0 35 0>,
333				<0 36 0>, <0 37 0>, <0 38 0>, <0 39 0>;
 
 
 
 
 
 
334		#interrupt-cells = <2>;
335	};
336
337	gpx1: gpx1 {
338		gpio-controller;
339		#gpio-cells = <2>;
340
341		interrupt-controller;
342		interrupt-parent = <&gic>;
343		interrupts = <0 40 0>, <0 41 0>, <0 42 0>, <0 43 0>,
344				<0 44 0>, <0 45 0>, <0 46 0>, <0 47 0>;
 
 
 
 
 
 
345		#interrupt-cells = <2>;
346	};
347
348	gpx2: gpx2 {
349		gpio-controller;
350		#gpio-cells = <2>;
351
352		interrupt-controller;
353		#interrupt-cells = <2>;
354	};
355
356	gpx3: gpx3 {
357		gpio-controller;
358		#gpio-cells = <2>;
359
360		interrupt-controller;
361		#interrupt-cells = <2>;
362	};
363
364	sd0_clk: sd0-clk {
365		samsung,pins = "gpk0-0";
366		samsung,pin-function = <2>;
367		samsung,pin-pud = <0>;
368		samsung,pin-drv = <3>;
369	};
370
371	sd0_cmd: sd0-cmd {
372		samsung,pins = "gpk0-1";
373		samsung,pin-function = <2>;
374		samsung,pin-pud = <0>;
375		samsung,pin-drv = <3>;
376	};
377
378	sd0_cd: sd0-cd {
379		samsung,pins = "gpk0-2";
380		samsung,pin-function = <2>;
381		samsung,pin-pud = <3>;
382		samsung,pin-drv = <3>;
383	};
384
385	sd0_rdqs: sd0-rdqs {
386		samsung,pins = "gpk0-7";
387		samsung,pin-function = <2>;
388		samsung,pin-pud = <0>;
389		samsung,pin-drv = <3>;
390	};
391
392	sd0_bus1: sd0-bus-width1 {
393		samsung,pins = "gpk0-3";
394		samsung,pin-function = <2>;
395		samsung,pin-pud = <3>;
396		samsung,pin-drv = <3>;
397	};
398
399	sd0_bus4: sd0-bus-width4 {
400		samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6";
401		samsung,pin-function = <2>;
402		samsung,pin-pud = <3>;
403		samsung,pin-drv = <3>;
404	};
405
406	sd0_bus8: sd0-bus-width8 {
407		samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3";
408		samsung,pin-function = <2>;
409		samsung,pin-pud = <3>;
410		samsung,pin-drv = <3>;
411	};
412
413	sd1_clk: sd1-clk {
414		samsung,pins = "gpk1-0";
415		samsung,pin-function = <2>;
416		samsung,pin-pud = <0>;
417		samsung,pin-drv = <3>;
418	};
419
420	sd1_cmd: sd1-cmd {
421		samsung,pins = "gpk1-1";
422		samsung,pin-function = <2>;
423		samsung,pin-pud = <0>;
424		samsung,pin-drv = <3>;
425	};
426
427	sd1_cd: sd1-cd {
428		samsung,pins = "gpk1-2";
429		samsung,pin-function = <2>;
430		samsung,pin-pud = <3>;
431		samsung,pin-drv = <3>;
432	};
433
434	sd1_bus1: sd1-bus-width1 {
435		samsung,pins = "gpk1-3";
436		samsung,pin-function = <2>;
437		samsung,pin-pud = <3>;
438		samsung,pin-drv = <3>;
439	};
440
441	sd1_bus4: sd1-bus-width4 {
442		samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6";
443		samsung,pin-function = <2>;
444		samsung,pin-pud = <3>;
445		samsung,pin-drv = <3>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
446	};
447
448	cam_port_b_io: cam-port-b-io {
449		samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
450				"gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
451				"gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
452		samsung,pin-function = <3>;
453		samsung,pin-pud = <3>;
454		samsung,pin-drv = <0>;
455	};
456
457	cam_port_b_clk_active: cam-port-b-clk-active {
458		samsung,pins = "gpm2-2";
459		samsung,pin-function = <3>;
460		samsung,pin-pud = <0>;
461		samsung,pin-drv = <3>;
462	};
463
464	cam_port_b_clk_idle: cam-port-b-clk-idle {
465		samsung,pins = "gpm2-2";
466		samsung,pin-function = <0>;
467		samsung,pin-pud = <0>;
468		samsung,pin-drv = <0>;
469	};
470
471	fimc_is_i2c0: fimc-is-i2c0 {
472		samsung,pins = "gpm4-0", "gpm4-1";
473		samsung,pin-function = <2>;
474		samsung,pin-pud = <0>;
475		samsung,pin-drv = <0>;
476	};
477
478	fimc_is_i2c1: fimc-is-i2c1 {
479		samsung,pins = "gpm4-2", "gpm4-3";
480		samsung,pin-function = <2>;
481		samsung,pin-pud = <0>;
482		samsung,pin-drv = <0>;
483	};
484
485	fimc_is_uart: fimc-is-uart {
486		samsung,pins = "gpm3-5", "gpm3-7";
487		samsung,pin-function = <3>;
488		samsung,pin-pud = <0>;
489		samsung,pin-drv = <0>;
490	};
491};