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
69&pinctrl_peric {
70	gpc8: gpc8-gpio-bank {
71		gpio-controller;
72		#gpio-cells = <2>;
73
74		interrupt-controller;
75		#interrupt-cells = <2>;
76	};
77
78	gpf2: gpf2-gpio-bank {
79		gpio-controller;
80		#gpio-cells = <2>;
81
82		interrupt-controller;
83		#interrupt-cells = <2>;
84	};
85
86	gpf3: gpf3-gpio-bank {
87		gpio-controller;
88		#gpio-cells = <2>;
89
90		interrupt-controller;
91		#interrupt-cells = <2>;
92	};
93
94	gpd0: gpd0-gpio-bank {
95		gpio-controller;
96		#gpio-cells = <2>;
97
98		interrupt-controller;
99		#interrupt-cells = <2>;
100	};
101
102	gpb0: gpb0-gpio-bank {
103		gpio-controller;
104		#gpio-cells = <2>;
105
106		interrupt-controller;
107		#interrupt-cells = <2>;
108	};
109
110	gpb1: gpb1-gpio-bank {
111		gpio-controller;
112		#gpio-cells = <2>;
113
114		interrupt-controller;
115		#interrupt-cells = <2>;
116	};
117
118	gpb4: gpb4-gpio-bank {
119		gpio-controller;
120		#gpio-cells = <2>;
121
122		interrupt-controller;
123		#interrupt-cells = <2>;
124	};
125
126	gpb5: gpb5-gpio-bank {
127		gpio-controller;
128		#gpio-cells = <2>;
129
130		interrupt-controller;
131		#interrupt-cells = <2>;
132	};
133
134	gpb6: gpb6-gpio-bank {
135		gpio-controller;
136		#gpio-cells = <2>;
137
138		interrupt-controller;
139		#interrupt-cells = <2>;
140	};
141
142	gpb7: gpb7-gpio-bank {
143		gpio-controller;
144		#gpio-cells = <2>;
145
146		interrupt-controller;
147		#interrupt-cells = <2>;
148	};
149
150	gpd1: gpd1-gpio-bank {
151		gpio-controller;
152		#gpio-cells = <2>;
153
154		interrupt-controller;
155		#interrupt-cells = <2>;
156	};
157
158	gpd2: gpd2-gpio-bank {
159		gpio-controller;
160		#gpio-cells = <2>;
161
162		interrupt-controller;
163		#interrupt-cells = <2>;
164	};
165
166	gpd3: gpd3-gpio-bank {
167		gpio-controller;
168		#gpio-cells = <2>;
169
170		interrupt-controller;
171		#interrupt-cells = <2>;
172	};
173
174	gpg0: gpg0-gpio-bank {
175		gpio-controller;
176		#gpio-cells = <2>;
177
178		interrupt-controller;
179		#interrupt-cells = <2>;
180	};
181
182	gpg1: gpg1-gpio-bank {
183		gpio-controller;
184		#gpio-cells = <2>;
185
186		interrupt-controller;
187		#interrupt-cells = <2>;
188	};
189
190	gpg2: gpg2-gpio-bank {
191		gpio-controller;
192		#gpio-cells = <2>;
193
194		interrupt-controller;
195		#interrupt-cells = <2>;
196	};
197
198	gpg3: gpg3-gpio-bank {
199		gpio-controller;
200		#gpio-cells = <2>;
201
202		interrupt-controller;
203		#interrupt-cells = <2>;
204	};
205
206	gpg4: gpg4-gpio-bank {
207		gpio-controller;
208		#gpio-cells = <2>;
209
210		interrupt-controller;
211		#interrupt-cells = <2>;
212	};
213
214	gpg5: gpg5-gpio-bank {
215		gpio-controller;
216		#gpio-cells = <2>;
217
218		interrupt-controller;
219		#interrupt-cells = <2>;
220	};
221
222	gpg6: gpg6-gpio-bank {
223		gpio-controller;
224		#gpio-cells = <2>;
225
226		interrupt-controller;
227		#interrupt-cells = <2>;
228	};
229
230	gpg7: gpg7-gpio-bank {
231		gpio-controller;
232		#gpio-cells = <2>;
233
234		interrupt-controller;
235		#interrupt-cells = <2>;
236	};
237
238	pwm0_out: pwm0-out-pins {
239		samsung,pins = "gpb6-1";
240		samsung,pin-function = <FSD_PIN_FUNC_2>;
241		samsung,pin-pud = <FSD_PIN_PULL_UP>;
242		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
243	};
244
245	pwm1_out: pwm1-out-pins {
246		samsung,pins = "gpb6-5";
247		samsung,pin-function = <FSD_PIN_FUNC_2>;
248		samsung,pin-pud = <FSD_PIN_PULL_UP>;
249		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
250	};
251
252	hs_i2c0_bus: hs-i2c0-bus-pins {
253		samsung,pins = "gpb0-0", "gpb0-1";
254		samsung,pin-function = <FSD_PIN_FUNC_2>;
255		samsung,pin-pud = <FSD_PIN_PULL_UP>;
256		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
257	};
258
259	hs_i2c1_bus: hs-i2c1-bus-pins {
260		samsung,pins = "gpb0-2", "gpb0-3";
261		samsung,pin-function = <FSD_PIN_FUNC_2>;
262		samsung,pin-pud = <FSD_PIN_PULL_UP>;
263		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
264	};
265
266	hs_i2c2_bus: hs-i2c2-bus-pins {
267		samsung,pins = "gpb0-4", "gpb0-5";
268		samsung,pin-function = <FSD_PIN_FUNC_2>;
269		samsung,pin-pud = <FSD_PIN_PULL_UP>;
270		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
271	};
272
273	hs_i2c3_bus: hs-i2c3-bus-pins {
274		samsung,pins = "gpb0-6", "gpb0-7";
275		samsung,pin-function = <FSD_PIN_FUNC_2>;
276		samsung,pin-pud = <FSD_PIN_PULL_UP>;
277		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
278	};
279
280	hs_i2c4_bus: hs-i2c4-bus-pins {
281		samsung,pins = "gpb1-0", "gpb1-1";
282		samsung,pin-function = <FSD_PIN_FUNC_2>;
283		samsung,pin-pud = <FSD_PIN_PULL_UP>;
284		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
285	};
286
287	hs_i2c5_bus: hs-i2c5-bus-pins {
288		samsung,pins = "gpb1-2", "gpb1-3";
289		samsung,pin-function = <FSD_PIN_FUNC_2>;
290		samsung,pin-pud = <FSD_PIN_PULL_UP>;
291		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
292	};
293
294	hs_i2c6_bus: hs-i2c6-bus-pins {
295		samsung,pins = "gpb1-4", "gpb1-5";
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	hs_i2c7_bus: hs-i2c7-bus-pins {
302		samsung,pins = "gpb1-6", "gpb1-7";
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	uart0_data: uart0-data-pins {
309		samsung,pins = "gpb7-0", "gpb7-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	uart1_data: uart1-data-pins {
316		samsung,pins = "gpb7-4", "gpb7-5";
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	spi0_bus: spi0-bus-pins {
323		samsung,pins = "gpb4-0", "gpb4-2", "gpb4-3";
324		samsung,pin-function = <FSD_PIN_FUNC_2>;
325		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
326		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
327	};
328
329	spi1_bus: spi1-bus-pins {
330		samsung,pins = "gpb4-4", "gpb4-6", "gpb4-7";
331		samsung,pin-function = <FSD_PIN_FUNC_2>;
332		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
333		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
334	};
335
336	spi2_bus: spi2-bus-pins {
337		samsung,pins = "gpb5-0", "gpb5-2", "gpb5-3";
338		samsung,pin-function = <FSD_PIN_FUNC_2>;
339		samsung,pin-pud = <FSD_PIN_PULL_DOWN>;
340		samsung,pin-drv = <FSD_PIN_DRV_LV4>;
341	};
342
343	m_can0_bus: m-can0-bus-pins {
344		samsung,pins = "gpd0-0", "gpd0-1";
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	m_can1_bus: m-can1-bus-pins {
351		samsung,pins = "gpd0-2", "gpd0-3";
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	m_can2_bus: m-can2-bus-pins {
358		samsung,pins = "gpd0-4", "gpd0-5";
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	m_can3_bus: m-can3-bus-pins {
365		samsung,pins = "gpd0-6", "gpd0-7";
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
372&pinctrl_pmu {
373	gpq0: gpq0-gpio-bank {
374		gpio-controller;
375		#gpio-cells = <2>;
376	};
377};
378