summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/ti/k3-am69-aquila-dev.dts
blob: 4925051e8258e68a296c92a7a7354041e71a996c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2024 Toradex
 *
 * Device tree for Toradex Aquila AM69 SoM on Aquila development carrier board
 *
 * https://www.toradex.com/computer-on-modules/aquila-arm-family/ti-am69
 * https://www.toradex.com/products/carrier-board/aquila-development-board-kit
 */

/dts-v1/;

#include "k3-j784s4.dtsi"
#include "k3-am69-aquila.dtsi"

/ {
	model = "Toradex Aquila AM69 on Aquila Development Board";
	compatible = "toradex,aquila-am69-dev",
		     "toradex,aquila-am69",
		     "ti,j784s4";
};

/* On-module ETH_1 MDIO */
&davinci_mdio {
	status = "okay";
};

/* Aquila ETH_2 MDIO */
&main_cpsw0_mdio {
	status = "okay";

	cpsw0_port2_phy4: ethernet-phy@4 {
		reg = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_eth2_int>;
		interrupt-parent = <&main_gpio0>;
		interrupts = <44 IRQ_TYPE_EDGE_FALLING>;
	};
};

/* Aquila ETH_2 SGMII PHY */
&main_cpsw0_port2 {
	phy-handle = <&cpsw0_port2_phy4>;
	status = "okay";
};

/* Aquila PWM_1 */
&main_ehrpwm0 {
	status = "okay";
};

/* Aquila PWM_4_DP */
&main_ehrpwm2 {
	status = "okay";
};

/* Aquila PWM_2 */
&main_ehrpwm3 {
	status = "okay";
};

/* Aquila PWM_3_DSI */
&main_ehrpwm5 {
	status = "okay";
};

/* Aquila I2C_3_DSI1 */
&main_i2c0 {
	status = "okay";
};

/* Aquila I2C_4_CSI1 */
&main_i2c1 {
	status = "okay";
};

/* Aquila I2C_5_CSI2 */
&main_i2c2 {
	status = "okay";
};

/* Aquila I2C_6 */
&main_i2c5 {
	status = "okay";
};

/* Aquila CAN_1 */
&main_mcan10 {
	status = "okay";
};

/* Aquila CAN_3 */
&main_mcan13 {
	status = "okay";
};

/* Aquila SD_1 */
&main_sdhci1 {
	status = "okay";
};

/* Aquila SPI_2 */
&main_spi0 {
	status = "okay";
};

/* Aquila SPI_1 */
&main_spi2 {
	status = "okay";
};

/* Aquila UART_1 */
&main_uart1 {
	status = "okay";
};

/* Aquila UART_3, used as the Linux console */
&main_uart8 {
	status = "okay";
};

&mcu_cpsw {
	status = "okay";
};

/* On-module ETH_1 RGMII */
&mcu_cpsw_port1 {
	status = "okay";
};

/* Aquila I2C_1 */
&mcu_i2c0 {
	status = "okay";

	/* Fan controller */
	fan@18 {
		compatible = "ti,amc6821";
		reg = <0x18>;
	};

	/* Current measurement into module VCC */
	hwmon@41 {
		compatible = "ti,ina226";
		reg = <0x41>;
		shunt-resistor = <5000>;
	};

	/* Temperature sensor */
	sensor@4f {
		compatible = "ti,tmp1075";
		reg = <0x4f>;
	};

	/* EEPROM */
	eeprom@57 {
		compatible = "st,24c02", "atmel,24c02";
		reg = <0x57>;
		pagesize = <16>;
	};
};

/* Aquila I2C_2 */
&mcu_i2c1 {
	status = "okay";
};

/* Aquila CAN_2 */
&mcu_mcan0 {
	status = "okay";
};

/* Aquila CAN_4 */
&mcu_mcan1 {
	status = "okay";
};

/* Aquila UART_4 */
&mcu_uart0 {
	status = "okay";
};

/* Aquila QSPI_1 */
&ospi0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mcu_ospi0_4bit>, <&pinctrl_mcu_ospi0_cs0>;
	status = "okay";

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-max-frequency = <50000000>;
		spi-rx-bus-width = <4>;
		spi-tx-bus-width = <4>;
	};
};

/* Aquila PCIE_1 */
&pcie0_rc {
	status = "okay";
};

/* Aquila PCIE_2 */
&pcie1_rc {
	status = "okay";
};

/* Aquila ADC_[1-4] */
&tscadc0 {
	status = "okay";
};

&wkup_gpio0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wkup_gpio23>,
		    <&pinctrl_wkup_gpio24>,
		    <&pinctrl_wkup_gpio25>,
		    <&pinctrl_wkup_gpio26>,
		    <&pinctrl_wkup_gpio28>;
};

/* Aquila UART_2, through RS485 transceiver */
&wkup_uart0 {
	linux,rs485-enabled-at-boot-time;
	rs485-rx-during-tx;
	status = "reserved"; /* TODO: set to 'okay' after bring-up */
};