1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2aa1a8ff2SEmmanuel Vadot/*
3aa1a8ff2SEmmanuel Vadot * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
4aa1a8ff2SEmmanuel Vadot * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany.
5aa1a8ff2SEmmanuel Vadot */
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadot#include "k3-am642.dtsi"
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadot/ {
10aa1a8ff2SEmmanuel Vadot	aliases {
11aa1a8ff2SEmmanuel Vadot		i2c0 = &main_i2c0;
12aa1a8ff2SEmmanuel Vadot		mmc0 = &sdhci0;
13aa1a8ff2SEmmanuel Vadot		spi0 = &ospi0;
14aa1a8ff2SEmmanuel Vadot	};
15aa1a8ff2SEmmanuel Vadot
16aa1a8ff2SEmmanuel Vadot	memory@80000000 {
17aa1a8ff2SEmmanuel Vadot		device_type = "memory";
18aa1a8ff2SEmmanuel Vadot		/* 1G RAM - default variant */
19aa1a8ff2SEmmanuel Vadot		reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
20aa1a8ff2SEmmanuel Vadot
21aa1a8ff2SEmmanuel Vadot	};
22aa1a8ff2SEmmanuel Vadot
23aa1a8ff2SEmmanuel Vadot	reserved-memory {
24aa1a8ff2SEmmanuel Vadot		#address-cells = <2>;
25aa1a8ff2SEmmanuel Vadot		#size-cells = <2>;
26aa1a8ff2SEmmanuel Vadot		ranges;
27aa1a8ff2SEmmanuel Vadot
28aa1a8ff2SEmmanuel Vadot		secure_ddr: optee@9e800000 {
29aa1a8ff2SEmmanuel Vadot			reg = <0x00 0x9e800000 0x00 0x01800000>;
30aa1a8ff2SEmmanuel Vadot			alignment = <0x1000>;
31aa1a8ff2SEmmanuel Vadot			no-map;
32aa1a8ff2SEmmanuel Vadot		};
33aa1a8ff2SEmmanuel Vadot
34aa1a8ff2SEmmanuel Vadot		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
35aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
36aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa0000000 0x00 0x100000>;
37aa1a8ff2SEmmanuel Vadot			no-map;
38aa1a8ff2SEmmanuel Vadot		};
39aa1a8ff2SEmmanuel Vadot
40aa1a8ff2SEmmanuel Vadot		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
41aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
42aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa0100000 0x00 0xf00000>;
43aa1a8ff2SEmmanuel Vadot			no-map;
44aa1a8ff2SEmmanuel Vadot		};
45aa1a8ff2SEmmanuel Vadot
46aa1a8ff2SEmmanuel Vadot		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
47aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
48aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa1000000 0x00 0x100000>;
49aa1a8ff2SEmmanuel Vadot			no-map;
50aa1a8ff2SEmmanuel Vadot		};
51aa1a8ff2SEmmanuel Vadot
52aa1a8ff2SEmmanuel Vadot		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
53aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
54aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa1100000 0x00 0xf00000>;
55aa1a8ff2SEmmanuel Vadot			no-map;
56aa1a8ff2SEmmanuel Vadot		};
57aa1a8ff2SEmmanuel Vadot
58aa1a8ff2SEmmanuel Vadot		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
59aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
60aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa2000000 0x00 0x100000>;
61aa1a8ff2SEmmanuel Vadot			no-map;
62aa1a8ff2SEmmanuel Vadot		};
63aa1a8ff2SEmmanuel Vadot
64aa1a8ff2SEmmanuel Vadot		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
65aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
66aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa2100000 0x00 0xf00000>;
67aa1a8ff2SEmmanuel Vadot			no-map;
68aa1a8ff2SEmmanuel Vadot		};
69aa1a8ff2SEmmanuel Vadot
70aa1a8ff2SEmmanuel Vadot		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
71aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
72aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa3000000 0x00 0x100000>;
73aa1a8ff2SEmmanuel Vadot			no-map;
74aa1a8ff2SEmmanuel Vadot		};
75aa1a8ff2SEmmanuel Vadot
76aa1a8ff2SEmmanuel Vadot		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
77aa1a8ff2SEmmanuel Vadot			compatible = "shared-dma-pool";
78aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa3100000 0x00 0xf00000>;
79aa1a8ff2SEmmanuel Vadot			no-map;
80aa1a8ff2SEmmanuel Vadot		};
81aa1a8ff2SEmmanuel Vadot
82aa1a8ff2SEmmanuel Vadot		rtos_ipc_memory_region: ipc-memories@a5000000 {
83aa1a8ff2SEmmanuel Vadot			reg = <0x00 0xa5000000 0x00 0x00800000>;
84aa1a8ff2SEmmanuel Vadot			alignment = <0x1000>;
85aa1a8ff2SEmmanuel Vadot			no-map;
86aa1a8ff2SEmmanuel Vadot		};
87aa1a8ff2SEmmanuel Vadot	};
8884943d6fSEmmanuel Vadot
8984943d6fSEmmanuel Vadot	reg_1v8: regulator-1v8 {
9084943d6fSEmmanuel Vadot		compatible = "regulator-fixed";
9184943d6fSEmmanuel Vadot		regulator-name = "V_1V8";
9284943d6fSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
9384943d6fSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
9484943d6fSEmmanuel Vadot		regulator-always-on;
9584943d6fSEmmanuel Vadot		regulator-boot-on;
9684943d6fSEmmanuel Vadot	};
97aa1a8ff2SEmmanuel Vadot};
98aa1a8ff2SEmmanuel Vadot
99aa1a8ff2SEmmanuel Vadot&main_i2c0 {
100aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
101aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&main_i2c0_pins>;
102aa1a8ff2SEmmanuel Vadot	clock-frequency = <400000>;
103aa1a8ff2SEmmanuel Vadot	status = "okay";
104aa1a8ff2SEmmanuel Vadot
105aa1a8ff2SEmmanuel Vadot	tmp1075: temperature-sensor@4a {
106aa1a8ff2SEmmanuel Vadot		compatible = "ti,tmp1075";
107aa1a8ff2SEmmanuel Vadot		reg = <0x4a>;
10884943d6fSEmmanuel Vadot		vs-supply = <&reg_1v8>;
109aa1a8ff2SEmmanuel Vadot	};
110aa1a8ff2SEmmanuel Vadot
111aa1a8ff2SEmmanuel Vadot	eeprom0: eeprom@50 {
112aa1a8ff2SEmmanuel Vadot		compatible = "st,24c02", "atmel,24c02";
113aa1a8ff2SEmmanuel Vadot		reg = <0x50>;
11484943d6fSEmmanuel Vadot		vcc-supply = <&reg_1v8>;
115aa1a8ff2SEmmanuel Vadot		pagesize = <16>;
116aa1a8ff2SEmmanuel Vadot		read-only;
117aa1a8ff2SEmmanuel Vadot	};
118aa1a8ff2SEmmanuel Vadot
119aa1a8ff2SEmmanuel Vadot	pcf85063: rtc@51 {
120aa1a8ff2SEmmanuel Vadot		compatible = "nxp,pcf85063a";
121aa1a8ff2SEmmanuel Vadot		reg = <0x51>;
122aa1a8ff2SEmmanuel Vadot		quartz-load-femtofarads = <12500>;
123aa1a8ff2SEmmanuel Vadot	};
124aa1a8ff2SEmmanuel Vadot
125aa1a8ff2SEmmanuel Vadot	eeprom1: eeprom@54 {
126aa1a8ff2SEmmanuel Vadot		compatible = "st,24c64", "atmel,24c64";
127aa1a8ff2SEmmanuel Vadot		reg = <0x54>;
12884943d6fSEmmanuel Vadot		vcc-supply = <&reg_1v8>;
129aa1a8ff2SEmmanuel Vadot		pagesize = <32>;
130aa1a8ff2SEmmanuel Vadot	};
131aa1a8ff2SEmmanuel Vadot};
132aa1a8ff2SEmmanuel Vadot
133aa1a8ff2SEmmanuel Vadot&mailbox0_cluster2 {
134aa1a8ff2SEmmanuel Vadot	status = "okay";
135aa1a8ff2SEmmanuel Vadot
136aa1a8ff2SEmmanuel Vadot	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
137aa1a8ff2SEmmanuel Vadot		ti,mbox-rx = <0 0 2>;
138aa1a8ff2SEmmanuel Vadot		ti,mbox-tx = <1 0 2>;
139aa1a8ff2SEmmanuel Vadot	};
140aa1a8ff2SEmmanuel Vadot
141aa1a8ff2SEmmanuel Vadot	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
142aa1a8ff2SEmmanuel Vadot		ti,mbox-rx = <2 0 2>;
143aa1a8ff2SEmmanuel Vadot		ti,mbox-tx = <3 0 2>;
144aa1a8ff2SEmmanuel Vadot	};
145aa1a8ff2SEmmanuel Vadot};
146aa1a8ff2SEmmanuel Vadot
147aa1a8ff2SEmmanuel Vadot&mailbox0_cluster4 {
148aa1a8ff2SEmmanuel Vadot	status = "okay";
149aa1a8ff2SEmmanuel Vadot
150aa1a8ff2SEmmanuel Vadot	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
151aa1a8ff2SEmmanuel Vadot		ti,mbox-rx = <0 0 2>;
152aa1a8ff2SEmmanuel Vadot		ti,mbox-tx = <1 0 2>;
153aa1a8ff2SEmmanuel Vadot	};
154aa1a8ff2SEmmanuel Vadot
155aa1a8ff2SEmmanuel Vadot	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
156aa1a8ff2SEmmanuel Vadot		ti,mbox-rx = <2 0 2>;
157aa1a8ff2SEmmanuel Vadot		ti,mbox-tx = <3 0 2>;
158aa1a8ff2SEmmanuel Vadot	};
159aa1a8ff2SEmmanuel Vadot};
160aa1a8ff2SEmmanuel Vadot
161aa1a8ff2SEmmanuel Vadot&mailbox0_cluster6 {
162aa1a8ff2SEmmanuel Vadot	status = "okay";
163aa1a8ff2SEmmanuel Vadot
164aa1a8ff2SEmmanuel Vadot	mbox_m4_0: mbox-m4-0 {
165aa1a8ff2SEmmanuel Vadot		ti,mbox-rx = <0 0 2>;
166aa1a8ff2SEmmanuel Vadot		ti,mbox-tx = <1 0 2>;
167aa1a8ff2SEmmanuel Vadot	};
168aa1a8ff2SEmmanuel Vadot};
169aa1a8ff2SEmmanuel Vadot
170aa1a8ff2SEmmanuel Vadot&main_r5fss0_core0 {
171aa1a8ff2SEmmanuel Vadot	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
172aa1a8ff2SEmmanuel Vadot	memory-region = <&main_r5fss0_core0_dma_memory_region>,
173aa1a8ff2SEmmanuel Vadot			<&main_r5fss0_core0_memory_region>;
174aa1a8ff2SEmmanuel Vadot};
175aa1a8ff2SEmmanuel Vadot
176aa1a8ff2SEmmanuel Vadot&main_r5fss0_core1 {
177aa1a8ff2SEmmanuel Vadot	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
178aa1a8ff2SEmmanuel Vadot	memory-region = <&main_r5fss0_core1_dma_memory_region>,
179aa1a8ff2SEmmanuel Vadot			<&main_r5fss0_core1_memory_region>;
180aa1a8ff2SEmmanuel Vadot};
181aa1a8ff2SEmmanuel Vadot
182aa1a8ff2SEmmanuel Vadot&main_r5fss1_core0 {
183aa1a8ff2SEmmanuel Vadot	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
184aa1a8ff2SEmmanuel Vadot	memory-region = <&main_r5fss1_core0_dma_memory_region>,
185aa1a8ff2SEmmanuel Vadot			<&main_r5fss1_core0_memory_region>;
186aa1a8ff2SEmmanuel Vadot};
187aa1a8ff2SEmmanuel Vadot
188aa1a8ff2SEmmanuel Vadot&main_r5fss1_core1 {
189aa1a8ff2SEmmanuel Vadot	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
190aa1a8ff2SEmmanuel Vadot	memory-region = <&main_r5fss1_core1_dma_memory_region>,
191aa1a8ff2SEmmanuel Vadot			<&main_r5fss1_core1_memory_region>;
192aa1a8ff2SEmmanuel Vadot};
193aa1a8ff2SEmmanuel Vadot
194aa1a8ff2SEmmanuel Vadot&ospi0 {
195aa1a8ff2SEmmanuel Vadot	status = "okay";
196aa1a8ff2SEmmanuel Vadot	pinctrl-names = "default";
197aa1a8ff2SEmmanuel Vadot	pinctrl-0 = <&ospi0_pins>;
198aa1a8ff2SEmmanuel Vadot
199aa1a8ff2SEmmanuel Vadot	flash@0 {
200aa1a8ff2SEmmanuel Vadot		compatible = "jedec,spi-nor";
201aa1a8ff2SEmmanuel Vadot		reg = <0>;
202aa1a8ff2SEmmanuel Vadot		spi-tx-bus-width = <8>;
203aa1a8ff2SEmmanuel Vadot		spi-rx-bus-width = <8>;
204aa1a8ff2SEmmanuel Vadot		spi-max-frequency = <84000000>;
205aa1a8ff2SEmmanuel Vadot		cdns,tshsl-ns = <60>;
206aa1a8ff2SEmmanuel Vadot		cdns,tsd2d-ns = <60>;
207aa1a8ff2SEmmanuel Vadot		cdns,tchsh-ns = <60>;
208aa1a8ff2SEmmanuel Vadot		cdns,tslch-ns = <60>;
209aa1a8ff2SEmmanuel Vadot		cdns,read-delay = <2>;
210aa1a8ff2SEmmanuel Vadot
211aa1a8ff2SEmmanuel Vadot		partitions {
212aa1a8ff2SEmmanuel Vadot			compatible = "fixed-partitions";
213aa1a8ff2SEmmanuel Vadot			#address-cells = <1>;
214aa1a8ff2SEmmanuel Vadot			#size-cells = <1>;
215aa1a8ff2SEmmanuel Vadot
216aa1a8ff2SEmmanuel Vadot			/* Filled by bootloader */
217aa1a8ff2SEmmanuel Vadot		};
218aa1a8ff2SEmmanuel Vadot	};
219aa1a8ff2SEmmanuel Vadot};
220aa1a8ff2SEmmanuel Vadot
221aa1a8ff2SEmmanuel Vadot&sdhci0 {
222*8d13bc63SEmmanuel Vadot	status = "okay";
223aa1a8ff2SEmmanuel Vadot	non-removable;
224aa1a8ff2SEmmanuel Vadot	disable-wp;
225aa1a8ff2SEmmanuel Vadot	no-sdio;
226aa1a8ff2SEmmanuel Vadot	no-sd;
227aa1a8ff2SEmmanuel Vadot	ti,driver-strength-ohm = <50>;
228aa1a8ff2SEmmanuel Vadot};
229aa1a8ff2SEmmanuel Vadot
230aa1a8ff2SEmmanuel Vadot&main_pmx0 {
231aa1a8ff2SEmmanuel Vadot	main_i2c0_pins: main-i2c0-pins {
232aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
233aa1a8ff2SEmmanuel Vadot			/* (A18) I2C0_SCL */
234aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0)
235aa1a8ff2SEmmanuel Vadot			/* (B18) I2C0_SDA */
236aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0)
237aa1a8ff2SEmmanuel Vadot		>;
238aa1a8ff2SEmmanuel Vadot	};
239aa1a8ff2SEmmanuel Vadot
240aa1a8ff2SEmmanuel Vadot	ospi0_pins: ospi0-pins {
241aa1a8ff2SEmmanuel Vadot		pinctrl-single,pins = <
242aa1a8ff2SEmmanuel Vadot			/* (N20) OSPI0_CLK */
243aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0)
244aa1a8ff2SEmmanuel Vadot			/* (L19) OSPI0_CSn0 */
245aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0)
246aa1a8ff2SEmmanuel Vadot			/* (M19) OSPI0_D0 */
247aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x000c, PIN_INPUT, 0)
248aa1a8ff2SEmmanuel Vadot			/* (M18) OSPI0_D1 */
249aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0010, PIN_INPUT, 0)
250aa1a8ff2SEmmanuel Vadot			/* (M20) OSPI0_D2 */
251aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0014, PIN_INPUT, 0)
252aa1a8ff2SEmmanuel Vadot			/* (M21) OSPI0_D3 */
253aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0018, PIN_INPUT, 0)
254aa1a8ff2SEmmanuel Vadot			/* (P21) OSPI0_D4 */
255aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x001c, PIN_INPUT, 0)
256aa1a8ff2SEmmanuel Vadot			/* (P20) OSPI0_D5 */
257aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0020, PIN_INPUT, 0)
258aa1a8ff2SEmmanuel Vadot			/* (N18) OSPI0_D6 */
259aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0024, PIN_INPUT, 0)
260aa1a8ff2SEmmanuel Vadot			/* (M17) OSPI0_D7 */
261aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0028, PIN_INPUT, 0)
262aa1a8ff2SEmmanuel Vadot			/* (N19) OSPI0_DQS */
263aa1a8ff2SEmmanuel Vadot			AM64X_IOPAD(0x0008, PIN_INPUT, 0)
264aa1a8ff2SEmmanuel Vadot		>;
265aa1a8ff2SEmmanuel Vadot	};
266aa1a8ff2SEmmanuel Vadot};
267