xref: /linux/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Tesla Full Self-Driving SoC device tree source
4 *
5 * Copyright (c) 2017-2021 Samsung Electronics Co., Ltd.
6 *		https://www.samsung.com
7 * Copyright (c) 2017-2021 Tesla, Inc.
8 *		https://www.tesla.com
9 */
10
11#include "fsd-pinctrl.h"
12
13&pinctrl_fsys0 {
14	gpf0: gpf0-gpio-bank {
15		gpio-controller;
16		#gpio-cells = <2>;
17
18		interrupt-controller;
19		#interrupt-cells = <2>;
20	};
21
22	gpf1: gpf1-gpio-bank {
23		gpio-controller;
24		#gpio-cells = <2>;
25
26		interrupt-controller;
27		#interrupt-cells = <2>;
28	};
29
30	gpf6: gpf6-gpio-bank {
31		gpio-controller;
32		#gpio-cells = <2>;
33
34		interrupt-controller;
35		#interrupt-cells = <2>;
36	};
37
38	gpf4: gpf4-gpio-bank {
39		gpio-controller;
40		#gpio-cells = <2>;
41
42		interrupt-controller;
43		#interrupt-cells = <2>;
44	};
45
46	gpf5: gpf5-gpio-bank {
47		gpio-controller;
48		#gpio-cells = <2>;
49
50		interrupt-controller;
51		#interrupt-cells = <2>;
52	};
53
54	ufs_rst_n: ufs-rst-n-pins {
55		samsung,pins = "gpf5-0";
56		samsung,pin-function = <FSD_PIN_FUNC_2>;
57		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
58		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
59	};
60
61	ufs_refclk_out: ufs-refclk-out-pins {
62		samsung,pins = "gpf5-1";
63		samsung,pin-function = <FSD_PIN_FUNC_2>;
64		samsung,pin-pud = <FSD_PIN_PULL_UP>;
65		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
66	};
67
68	eth0_tx_clk: eth0-tx-clk-pins {
69		samsung,pins = "gpf0-0";
70		samsung,pin-function = <FSD_PIN_FUNC_2>;
71		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
72		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
73	};
74
75	eth0_tx_data: eth0-tx-data-pins {
76		samsung,pins = "gpf0-1", "gpf0-2", "gpf0-3", "gpf0-4";
77		samsung,pin-function = <FSD_PIN_FUNC_2>;
78		samsung,pin-pud = <FSD_PIN_PULL_UP>;
79		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
80	};
81
82	eth0_tx_ctrl: eth0-tx-ctrl-pins {
83		samsung,pins = "gpf0-5";
84		samsung,pin-function = <FSD_PIN_FUNC_2>;
85		samsung,pin-pud = <FSD_PIN_PULL_UP>;
86		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
87	};
88
89	eth0_phy_intr: eth0-phy-intr-pins {
90		samsung,pins = "gpf0-6";
91		samsung,pin-function = <FSD_PIN_FUNC_2>;
92		samsung,pin-pud = <FSD_PIN_PULL_NONE>;
93		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
94	};
95
96	eth0_rx_clk: eth0-rx-clk-pins {
97		samsung,pins = "gpf1-0";
98		samsung,pin-function = <FSD_PIN_FUNC_2>;
99		samsung,pin-pud = <FSD_PIN_PULL_UP>;
100		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
101	};
102
103	eth0_rx_data: eth0-rx-data-pins {
104		samsung,pins = "gpf1-1", "gpf1-2", "gpf1-3", "gpf1-4";
105		samsung,pin-function = <FSD_PIN_FUNC_2>;
106		samsung,pin-pud = <FSD_PIN_PULL_UP>;
107		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
108	};
109
110	eth0_rx_ctrl: eth0-rx-ctrl-pins {
111		samsung,pins = "gpf1-5";
112		samsung,pin-function = <FSD_PIN_FUNC_2>;
113		samsung,pin-pud = <FSD_PIN_PULL_UP>;
114		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
115	};
116
117	eth0_mdio: eth0-mdio-pins {
118		samsung,pins = "gpf1-6", "gpf1-7";
119		samsung,pin-function = <FSD_PIN_FUNC_2>;
120		samsung,pin-pud = <FSD_PIN_PULL_NONE>;
121		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
122	};
123};
124
125&pinctrl_peric {
126	gpc8: gpc8-gpio-bank {
127		gpio-controller;
128		#gpio-cells = <2>;
129
130		interrupt-controller;
131		#interrupt-cells = <2>;
132	};
133
134	gpf2: gpf2-gpio-bank {
135		gpio-controller;
136		#gpio-cells = <2>;
137
138		interrupt-controller;
139		#interrupt-cells = <2>;
140	};
141
142	gpf3: gpf3-gpio-bank {
143		gpio-controller;
144		#gpio-cells = <2>;
145
146		interrupt-controller;
147		#interrupt-cells = <2>;
148	};
149
150	gpd0: gpd0-gpio-bank {
151		gpio-controller;
152		#gpio-cells = <2>;
153
154		interrupt-controller;
155		#interrupt-cells = <2>;
156	};
157
158	gpb0: gpb0-gpio-bank {
159		gpio-controller;
160		#gpio-cells = <2>;
161
162		interrupt-controller;
163		#interrupt-cells = <2>;
164	};
165
166	gpb1: gpb1-gpio-bank {
167		gpio-controller;
168		#gpio-cells = <2>;
169
170		interrupt-controller;
171		#interrupt-cells = <2>;
172	};
173
174	gpb4: gpb4-gpio-bank {
175		gpio-controller;
176		#gpio-cells = <2>;
177
178		interrupt-controller;
179		#interrupt-cells = <2>;
180	};
181
182	gpb5: gpb5-gpio-bank {
183		gpio-controller;
184		#gpio-cells = <2>;
185
186		interrupt-controller;
187		#interrupt-cells = <2>;
188	};
189
190	gpb6: gpb6-gpio-bank {
191		gpio-controller;
192		#gpio-cells = <2>;
193
194		interrupt-controller;
195		#interrupt-cells = <2>;
196	};
197
198	gpb7: gpb7-gpio-bank {
199		gpio-controller;
200		#gpio-cells = <2>;
201
202		interrupt-controller;
203		#interrupt-cells = <2>;
204	};
205
206	gpd1: gpd1-gpio-bank {
207		gpio-controller;
208		#gpio-cells = <2>;
209
210		interrupt-controller;
211		#interrupt-cells = <2>;
212	};
213
214	gpd2: gpd2-gpio-bank {
215		gpio-controller;
216		#gpio-cells = <2>;
217
218		interrupt-controller;
219		#interrupt-cells = <2>;
220	};
221
222	gpd3: gpd3-gpio-bank {
223		gpio-controller;
224		#gpio-cells = <2>;
225
226		interrupt-controller;
227		#interrupt-cells = <2>;
228	};
229
230	gpg0: gpg0-gpio-bank {
231		gpio-controller;
232		#gpio-cells = <2>;
233
234		interrupt-controller;
235		#interrupt-cells = <2>;
236	};
237
238	gpg1: gpg1-gpio-bank {
239		gpio-controller;
240		#gpio-cells = <2>;
241
242		interrupt-controller;
243		#interrupt-cells = <2>;
244	};
245
246	gpg2: gpg2-gpio-bank {
247		gpio-controller;
248		#gpio-cells = <2>;
249
250		interrupt-controller;
251		#interrupt-cells = <2>;
252	};
253
254	gpg3: gpg3-gpio-bank {
255		gpio-controller;
256		#gpio-cells = <2>;
257
258		interrupt-controller;
259		#interrupt-cells = <2>;
260	};
261
262	gpg4: gpg4-gpio-bank {
263		gpio-controller;
264		#gpio-cells = <2>;
265
266		interrupt-controller;
267		#interrupt-cells = <2>;
268	};
269
270	gpg5: gpg5-gpio-bank {
271		gpio-controller;
272		#gpio-cells = <2>;
273
274		interrupt-controller;
275		#interrupt-cells = <2>;
276	};
277
278	gpg6: gpg6-gpio-bank {
279		gpio-controller;
280		#gpio-cells = <2>;
281
282		interrupt-controller;
283		#interrupt-cells = <2>;
284	};
285
286	gpg7: gpg7-gpio-bank {
287		gpio-controller;
288		#gpio-cells = <2>;
289
290		interrupt-controller;
291		#interrupt-cells = <2>;
292	};
293
294	pwm0_out: pwm0-out-pins {
295		samsung,pins = "gpb6-1";
296		samsung,pin-function = <FSD_PIN_FUNC_2>;
297		samsung,pin-pud = <FSD_PIN_PULL_UP>;
298		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
299	};
300
301	pwm1_out: pwm1-out-pins {
302		samsung,pins = "gpb6-5";
303		samsung,pin-function = <FSD_PIN_FUNC_2>;
304		samsung,pin-pud = <FSD_PIN_PULL_UP>;
305		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
306	};
307
308	hs_i2c0_bus: hs-i2c0-bus-pins {
309		samsung,pins = "gpb0-0", "gpb0-1";
310		samsung,pin-function = <FSD_PIN_FUNC_2>;
311		samsung,pin-pud = <FSD_PIN_PULL_UP>;
312		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
313	};
314
315	hs_i2c1_bus: hs-i2c1-bus-pins {
316		samsung,pins = "gpb0-2", "gpb0-3";
317		samsung,pin-function = <FSD_PIN_FUNC_2>;
318		samsung,pin-pud = <FSD_PIN_PULL_UP>;
319		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
320	};
321
322	hs_i2c2_bus: hs-i2c2-bus-pins {
323		samsung,pins = "gpb0-4", "gpb0-5";
324		samsung,pin-function = <FSD_PIN_FUNC_2>;
325		samsung,pin-pud = <FSD_PIN_PULL_UP>;
326		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
327	};
328
329	hs_i2c3_bus: hs-i2c3-bus-pins {
330		samsung,pins = "gpb0-6", "gpb0-7";
331		samsung,pin-function = <FSD_PIN_FUNC_2>;
332		samsung,pin-pud = <FSD_PIN_PULL_UP>;
333		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
334	};
335
336	hs_i2c4_bus: hs-i2c4-bus-pins {
337		samsung,pins = "gpb1-0", "gpb1-1";
338		samsung,pin-function = <FSD_PIN_FUNC_2>;
339		samsung,pin-pud = <FSD_PIN_PULL_UP>;
340		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
341	};
342
343	hs_i2c5_bus: hs-i2c5-bus-pins {
344		samsung,pins = "gpb1-2", "gpb1-3";
345		samsung,pin-function = <FSD_PIN_FUNC_2>;
346		samsung,pin-pud = <FSD_PIN_PULL_UP>;
347		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
348	};
349
350	hs_i2c6_bus: hs-i2c6-bus-pins {
351		samsung,pins = "gpb1-4", "gpb1-5";
352		samsung,pin-function = <FSD_PIN_FUNC_2>;
353		samsung,pin-pud = <FSD_PIN_PULL_UP>;
354		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
355	};
356
357	hs_i2c7_bus: hs-i2c7-bus-pins {
358		samsung,pins = "gpb1-6", "gpb1-7";
359		samsung,pin-function = <FSD_PIN_FUNC_2>;
360		samsung,pin-pud = <FSD_PIN_PULL_UP>;
361		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
362	};
363
364	uart0_data: uart0-data-pins {
365		samsung,pins = "gpb7-0", "gpb7-1";
366		samsung,pin-function = <FSD_PIN_FUNC_2>;
367		samsung,pin-pud = <FSD_PIN_PULL_UP>;
368		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
369	};
370
371	uart1_data: uart1-data-pins {
372		samsung,pins = "gpb7-4", "gpb7-5";
373		samsung,pin-function = <FSD_PIN_FUNC_2>;
374		samsung,pin-pud = <FSD_PIN_PULL_UP>;
375		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
376	};
377
378	spi0_bus: spi0-bus-pins {
379		samsung,pins = "gpb4-0", "gpb4-2", "gpb4-3";
380		samsung,pin-function = <FSD_PIN_FUNC_2>;
381		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
382		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
383	};
384
385	spi1_bus: spi1-bus-pins {
386		samsung,pins = "gpb4-4", "gpb4-6", "gpb4-7";
387		samsung,pin-function = <FSD_PIN_FUNC_2>;
388		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
389		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
390	};
391
392	spi2_bus: spi2-bus-pins {
393		samsung,pins = "gpb5-0", "gpb5-2", "gpb5-3";
394		samsung,pin-function = <FSD_PIN_FUNC_2>;
395		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
396		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
397	};
398
399	m_can0_bus: m-can0-bus-pins {
400		samsung,pins = "gpd0-0", "gpd0-1";
401		samsung,pin-function = <FSD_PIN_FUNC_2>;
402		samsung,pin-pud = <FSD_PIN_PULL_UP>;
403		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
404	};
405
406	m_can1_bus: m-can1-bus-pins {
407		samsung,pins = "gpd0-2", "gpd0-3";
408		samsung,pin-function = <FSD_PIN_FUNC_2>;
409		samsung,pin-pud = <FSD_PIN_PULL_UP>;
410		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
411	};
412
413	m_can2_bus: m-can2-bus-pins {
414		samsung,pins = "gpd0-4", "gpd0-5";
415		samsung,pin-function = <FSD_PIN_FUNC_2>;
416		samsung,pin-pud = <FSD_PIN_PULL_UP>;
417		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
418	};
419
420	m_can3_bus: m-can3-bus-pins {
421		samsung,pins = "gpd0-6", "gpd0-7";
422		samsung,pin-function = <FSD_PIN_FUNC_2>;
423		samsung,pin-pud = <FSD_PIN_PULL_UP>;
424		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
425	};
426
427	i2s0_bus: i2s0-bus-pins {
428		samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2", "gpd1-3", "gpd1-4";
429		samsung,pin-function = <FSD_PIN_FUNC_2>;
430		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
431		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
432	};
433
434	i2s1_bus: i2s1-bus-pins {
435		samsung,pins = "gpd2-0", "gpd2-1", "gpd2-2", "gpd2-3", "gpd2-4";
436		samsung,pin-function = <FSD_PIN_FUNC_2>;
437		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
438		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
439	};
440
441	eth1_tx_clk: eth1-tx-clk-pins {
442		samsung,pins = "gpf2-0";
443		samsung,pin-function = <FSD_PIN_FUNC_2>;
444		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
445		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
446	};
447
448	eth1_tx_data: eth1-tx-data-pins {
449		samsung,pins = "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-4";
450		samsung,pin-function = <FSD_PIN_FUNC_2>;
451		samsung,pin-pud = <FSD_PIN_PULL_UP>;
452		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
453	};
454
455	eth1_tx_ctrl: eth1-tx-ctrl-pins {
456		samsung,pins = "gpf2-5";
457		samsung,pin-function = <FSD_PIN_FUNC_2>;
458		samsung,pin-pud = <FSD_PIN_PULL_UP>;
459		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
460	};
461
462	eth1_phy_intr: eth1-phy-intr-pins {
463		samsung,pins = "gpf2-6";
464		samsung,pin-function = <FSD_PIN_FUNC_2>;
465		samsung,pin-pud = <FSD_PIN_PULL_UP>;
466		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
467	};
468
469	eth1_rx_clk: eth1-rx-clk-pins {
470		samsung,pins = "gpf3-0";
471		samsung,pin-function = <FSD_PIN_FUNC_2>;
472		samsung,pin-pud = <FSD_PIN_PULL_UP>;
473		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
474	};
475
476	eth1_rx_data: eth1-rx-data-pins {
477		samsung,pins = "gpf3-1", "gpf3-2", "gpf3-3", "gpf3-4";
478		samsung,pin-function = <FSD_PIN_FUNC_2>;
479		samsung,pin-pud = <FSD_PIN_PULL_UP>;
480		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
481	};
482
483	eth1_rx_ctrl: eth1-rx-ctrl-pins {
484		samsung,pins = "gpf3-5";
485		samsung,pin-function = <FSD_PIN_FUNC_2>;
486		samsung,pin-pud = <FSD_PIN_PULL_UP>;
487		samsung,pin-drv = <FSD_PIN_DRV_LV6>;
488	};
489
490	eth1_mdio: eth1-mdio-pins {
491		samsung,pins = "gpf3-6", "gpf3-7";
492		samsung,pin-function = <FSD_PIN_FUNC_2>;
493		samsung,pin-pud = <FSD_PIN_PULL_UP>;
494		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
495	};
496};
497
498&pinctrl_pmu {
499	gpq0: gpq0-gpio-bank {
500		gpio-controller;
501		#gpio-cells = <2>;
502	};
503};
504