1/*
2 * Copyright (c) 2018, Cypress
3 * Copyright (c) 2020-2021, ATL Electronics
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8#include <mem.h>
9#include <zephyr/dt-bindings/gpio/gpio.h>
10
11#include "psoc6-pinctrl.dtsi"
12
13/ {
14	cpus {
15		#address-cells = <1>;
16		#size-cells = <0>;
17
18		cpu@0 {
19			device_type = "cpu";
20			compatible = "arm,cortex-m0+";
21			reg = <0>;
22		};
23		cpu@1 {
24			device_type = "cpu";
25			compatible = "arm,cortex-m4f";
26			reg = <1>;
27		};
28	};
29
30	flash-controller@40250000 {
31			compatible = "cypress,psoc6-flash-controller";
32			reg = <0x40250000 0x10000>;
33
34			#address-cells = <1>;
35			#size-cells = <1>;
36
37
38			flash0: flash@10000000 {
39				compatible = "soc-nv-flash";
40				reg = <0x10000000 DT_SIZE_K(384)>;
41				write-block-size = <4>;
42			};
43
44			flash1: flash@10060000 {
45				compatible = "soc-nv-flash";
46				reg = <0x10060000 DT_SIZE_K(640)>;
47				write-block-size = <4>;
48			};
49	};
50
51	sram0: memory@8000000 {
52		compatible = "mmio-sram";
53		reg = <0x08000000 DT_SIZE_K(140)>;
54	};
55
56	sram1: memory@8023000 {
57		compatible = "zephyr,memory-region", "mmio-sram";
58		reg = <0x08023000 DT_SIZE_K(4)>;
59		zephyr,memory-region = "SRAM1";
60	};
61
62	sram2: memory@8024000 {
63		compatible = "zephyr,memory-region", "mmio-sram";
64		reg = <0x08024000 DT_SIZE_K(112)>;
65		zephyr,memory-region = "SRAM2";
66	};
67
68	soc {
69		pinctrl@40310000 {
70			compatible = "infineon,cat1-pinctrl";
71			#address-cells = <1>;
72			#size-cells = <1>;
73			ranges = <0x40310000 0x40310000 0x2024>;
74		};
75
76		hsiom: hsiom@40310000 {
77			compatible = "cypress,psoc6-hsiom";
78			reg = <0x40310000 0x2024>;
79			interrupts = <15 1>, <16 1>;
80			status = "disabled";
81		};
82
83		gpio_prt0: gpio@40320000 {
84			compatible = "cypress,psoc6-gpio";
85			reg = <0x40320000 0x80>;
86			interrupts = <0 1>;
87			gpio-controller;
88			ngpios = <6>;
89			#gpio-cells = <2>;
90			#cypress,pin-cells = <2>;
91			status = "disabled";
92		};
93		gpio_prt1: gpio@40320080 {
94			compatible = "cypress,psoc6-gpio";
95			reg = <0x40320080 0x80>;
96			interrupts = <1 1>;
97			gpio-controller;
98			ngpios = <6>;
99			#gpio-cells = <2>;
100			#cypress,pin-cells = <2>;
101			status = "disabled";
102		};
103		gpio_prt2: gpio@40320100 {
104			compatible = "cypress,psoc6-gpio";
105			reg = <0x40320100 0x80>;
106			interrupts = <2 1>;
107			gpio-controller;
108			ngpios = <8>;
109			#gpio-cells = <2>;
110			#cypress,pin-cells = <2>;
111			status = "disabled";
112		};
113		gpio_prt3: gpio@40320180 {
114			compatible = "cypress,psoc6-gpio";
115			reg = <0x40320180 0x80>;
116			interrupts = <3 1>;
117			gpio-controller;
118			ngpios = <6>;
119			#gpio-cells = <2>;
120			#cypress,pin-cells = <2>;
121			status = "disabled";
122		};
123		gpio_prt4: gpio@40320200 {
124			compatible = "cypress,psoc6-gpio";
125			reg = <0x40320200 0x80>;
126			interrupts = <4 1>;
127			gpio-controller;
128			ngpios = <4>;
129			#gpio-cells = <2>;
130			#cypress,pin-cells = <2>;
131			status = "disabled";
132		};
133		gpio_prt5: gpio@40320280 {
134			compatible = "cypress,psoc6-gpio";
135			reg = <0x40320280 0x80>;
136			interrupts = <5 1>;
137			gpio-controller;
138			ngpios = <8>;
139			#gpio-cells = <2>;
140			#cypress,pin-cells = <2>;
141			status = "disabled";
142		};
143		gpio_prt6: gpio@40320300 {
144			compatible = "cypress,psoc6-gpio";
145			reg = <0x40320300 0x80>;
146			interrupts = <6 1>;
147			gpio-controller;
148			ngpios = <8>;
149			#gpio-cells = <2>;
150			#cypress,pin-cells = <2>;
151			status = "disabled";
152		};
153		gpio_prt7: gpio@40320380 {
154			compatible = "cypress,psoc6-gpio";
155			reg = <0x40320380 0x80>;
156			interrupts = <7 1>;
157			gpio-controller;
158			ngpios = <8>;
159			#gpio-cells = <2>;
160			#cypress,pin-cells = <2>;
161			status = "disabled";
162		};
163		gpio_prt8: gpio@40320400 {
164			compatible = "cypress,psoc6-gpio";
165			reg = <0x40320400 0x80>;
166			interrupts = <8 1>;
167			gpio-controller;
168			ngpios = <8>;
169			#gpio-cells = <2>;
170			#cypress,pin-cells = <2>;
171			status = "disabled";
172		};
173		gpio_prt9: gpio@40320480 {
174			compatible = "cypress,psoc6-gpio";
175			reg = <0x40320480 0x80>;
176			interrupts = <9 1>;
177			gpio-controller;
178			ngpios = <8>;
179			#gpio-cells = <2>;
180			#cypress,pin-cells = <2>;
181			status = "disabled";
182		};
183		gpio_prt10: gpio@40320500 {
184			compatible = "cypress,psoc6-gpio";
185			reg = <0x40320500 0x80>;
186			interrupts = <10 1>;
187			gpio-controller;
188			ngpios = <8>;
189			#gpio-cells = <2>;
190			#cypress,pin-cells = <2>;
191			status = "disabled";
192		};
193		gpio_prt11: gpio@40320580 {
194			compatible = "cypress,psoc6-gpio";
195			reg = <0x40320580 0x80>;
196			interrupts = <11 1>;
197			gpio-controller;
198			ngpios = <8>;
199			#gpio-cells = <2>;
200			#cypress,pin-cells = <2>;
201			status = "disabled";
202		};
203		gpio_prt12: gpio@40320600 {
204			compatible = "cypress,psoc6-gpio";
205			reg = <0x40320600 0x80>;
206			interrupts = <12 1>;
207			gpio-controller;
208			ngpios = <8>;
209			#gpio-cells = <2>;
210			#cypress,pin-cells = <2>;
211			status = "disabled";
212		};
213		gpio_prt13: gpio@40320680 {
214			compatible = "cypress,psoc6-gpio";
215			reg = <0x40320680 0x80>;
216			interrupts = <13 1>;
217			gpio-controller;
218			ngpios = <8>;
219			#gpio-cells = <2>;
220			#cypress,pin-cells = <2>;
221			status = "disabled";
222		};
223		gpio_prt14: gpio@40320700 {
224			compatible = "cypress,psoc6-gpio";
225			reg = <0x40320700 0x80>;
226			interrupts = <14 1>;
227			gpio-controller;
228			ngpios = <2>;
229			#gpio-cells = <2>;
230			#cypress,pin-cells = <2>;
231			status = "disabled";
232		};
233
234		spi0: spi@40610000 {
235			compatible = "cypress,psoc6-spi";
236			reg = <0x40610000 0x10000>;
237			interrupts = <41 6>;
238			peripheral-id = <0>;
239			status = "disabled";
240			#address-cells = <1>;
241			#size-cells = <0>;
242		};
243		spi1: spi@40620000 {
244			compatible = "cypress,psoc6-spi";
245			reg = <0x40620000 0x10000>;
246			interrupts = <42 6>;
247			peripheral-id = <1>;
248			status = "disabled";
249			#address-cells = <1>;
250			#size-cells = <0>;
251		};
252		spi2: spi@40630000 {
253			compatible = "cypress,psoc6-spi";
254			reg = <0x40630000 0x10000>;
255			interrupts = <43 6>;
256			peripheral-id = <2>;
257			status = "disabled";
258			#address-cells = <1>;
259			#size-cells = <0>;
260		};
261		spi3: spi@40640000 {
262			compatible = "cypress,psoc6-spi";
263			reg = <0x40640000 0x10000>;
264			interrupts = <44 6>;
265			peripheral-id = <3>;
266			status = "disabled";
267			#address-cells = <1>;
268			#size-cells = <0>;
269		};
270		spi4: spi@40650000 {
271			compatible = "cypress,psoc6-spi";
272			reg = <0x40650000 0x10000>;
273			interrupts = <45 6>;
274			peripheral-id = <4>;
275			status = "disabled";
276			#address-cells = <1>;
277			#size-cells = <0>;
278		};
279		spi5: spi@40660000 {
280			compatible = "cypress,psoc6-spi";
281			reg = <0x40660000 0x10000>;
282			interrupts = <46 6>;
283			peripheral-id = <5>;
284			status = "disabled";
285			#address-cells = <1>;
286			#size-cells = <0>;
287		};
288		spi6: spi@40670000 {
289			compatible = "cypress,psoc6-spi";
290			reg = <0x40670000 0x10000>;
291			interrupts = <47 6>;
292			peripheral-id = <6>;
293			status = "disabled";
294			#address-cells = <1>;
295			#size-cells = <0>;
296		};
297		spi7: spi@40680000 {
298			compatible = "cypress,psoc6-spi";
299			reg = <0x40680000 0x10000>;
300			interrupts = <48 6>;
301			peripheral-id = <7>;
302			status = "disabled";
303			#address-cells = <1>;
304			#size-cells = <0>;
305		};
306		spi8: spi@40690000 {
307			compatible = "cypress,psoc6-spi";
308			reg = <0x40690000 0x10000>;
309			interrupts = <18 6>;
310			peripheral-id = <8>;
311			status = "disabled";
312			#address-cells = <1>;
313			#size-cells = <0>;
314		};
315
316		uart0: uart@40610000 {
317			compatible = "cypress,psoc6-uart";
318			reg = <0x40610000 0x10000>;
319			interrupts = <41 6>;
320			peripheral-id = <0>;
321			status = "disabled";
322		};
323		uart1: uart@40620000 {
324			compatible = "cypress,psoc6-uart";
325			reg = <0x40620000 0x10000>;
326			interrupts = <42 6>;
327			peripheral-id = <1>;
328			status = "disabled";
329		};
330		uart2: uart@40630000 {
331			compatible = "cypress,psoc6-uart";
332			reg = <0x40630000 0x10000>;
333			interrupts = <43 6>;
334			peripheral-id = <2>;
335			status = "disabled";
336		};
337		uart3: uart@40640000 {
338			compatible = "cypress,psoc6-uart";
339			reg = <0x40640000 0x10000>;
340			interrupts = <44 6>;
341			peripheral-id = <3>;
342			status = "disabled";
343		};
344		uart4: uart@40650000 {
345			compatible = "cypress,psoc6-uart";
346			reg = <0x40650000 0x10000>;
347			interrupts = <45 6>;
348			peripheral-id = <4>;
349			status = "disabled";
350		};
351		uart5: uart@40660000 {
352			compatible = "cypress,psoc6-uart";
353			reg = <0x40660000 0x10000>;
354			interrupts = <46 6>;
355			peripheral-id = <5>;
356			status = "disabled";
357		};
358		uart6: uart@40670000 {
359			compatible = "cypress,psoc6-uart";
360			reg = <0x40670000 0x10000>;
361			interrupts = <47 6>;
362			peripheral-id = <6>;
363			status = "disabled";
364		};
365		uart7: uart@40680000 {
366			compatible = "cypress,psoc6-uart";
367			reg = <0x40680000 0x10000>;
368			interrupts = <48 6>;
369			peripheral-id = <7>;
370			status = "disabled";
371		};
372		uart8: uart@40690000 {
373			compatible = "cypress,psoc6-uart";
374			reg = <0x40690000 0x10000>;
375			interrupts = <18 6>;
376			peripheral-id = <8>;
377			status = "disabled";
378		};
379
380		uid: device_uid@16000600 {
381			compatible = "cypress,psoc6-uid";
382			reg = <0x16000600 0xb>;
383			status = "okay";
384		};
385	};
386};
387