xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/am335x-tqma335x.dtsi (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2014-2025 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany.
4 * Authors: Gregor Herburger, Matthias Schiffer
5 *
6 * Based on:
7 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
8 */
9
10#include <dt-bindings/interrupt-controller/irq.h>
11#include "am33xx.dtsi"
12
13/ {
14	compatible = "tq,tqma3359", "ti,am33xx";
15
16	aliases {
17		mmc0 = &mmc2;
18		mmc1 = &mmc1;
19		/delete-property/ mmc2;
20		rtc0 = &tps;
21		rtc1 = &ds1339;
22		rtc2 = &rtc;
23	};
24
25	memory@80000000 {
26		device_type = "memory";
27		reg = <0x80000000 0x10000000>; /* 256 MB */
28	};
29
30	/* SOM input voltage */
31	vcc3v3in: regulator-vcc3v3in {
32		compatible = "regulator-fixed";
33		regulator-name = "VCC3V3IN";
34		regulator-min-microvolt = <3300000>;
35		regulator-max-microvolt = <3300000>;
36		regulator-boot-on;
37	};
38
39	/*
40	 * Regulator is enabled by PMIC power sequence. The supplied voltage
41	 * rail is also usable on baseboard.
42	 */
43	vddshv: regulator-vddshv {
44		compatible = "regulator-fixed";
45		regulator-name = "VDDSHV";
46		regulator-min-microvolt = <3300000>;
47		regulator-max-microvolt = <3300000>;
48		regulator-boot-on;
49		vin-supply = <&vcc3v3in>;
50	};
51};
52
53&am33xx_pinmux {
54	i2c0_pins: i2c0-pins {
55		pinctrl-single,pins = <
56			/* i2c0_sda.i2c0_sda */
57			AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0)
58			/* i2c0_scl.i2c0_scl */
59			AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0)
60		>;
61	};
62
63	mmc2_pins: mmc2-pins {
64		pinctrl-single,pins = <
65			/* gpmc_ad0.mmc1_dat0 */
66			AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
67			/* gpmc_ad1.mmc1_dat1 */
68			AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
69			/* gpmc_ad2.mmc1_dat2 */
70			AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
71			/* gpmc_ad3.mmc1_dat3 */
72			AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
73			/* gpmc_ad4.mmc1_dat4 */
74			AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
75			/* gpmc_ad5.mmc1_dat5 */
76			AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
77			/* gpmc_ad6.mmc1_dat6 */
78			AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
79			/* gpmc_ad7.mmc1_dat7 */
80			AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE1)
81			/* gpmc_csn1.mmc1_clk */
82			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN1, PIN_INPUT_PULLUP, MUX_MODE2)
83			/* gpmc_csn2.mmc1_cmd */
84			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN2, SLEWCTRL_SLOW | PIN_INPUT_PULLUP, MUX_MODE2)
85		>;
86	};
87
88	spi0_pins: spi0-pins {
89		pinctrl-single,pins = <
90			/* spi0_sclk.spi0_sclk */
91			AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT, MUX_MODE0)
92			/* spi0_d0.spi0_d0 */
93			AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_INPUT_PULLDOWN, MUX_MODE0)
94			/* spi0_d1.spi0_d1 */
95			AM33XX_PADCONF(AM335X_PIN_SPI0_D1, PIN_OUTPUT, MUX_MODE0)
96			/* spi0_cs0.spi0_cs0 */
97			AM33XX_PADCONF(AM335X_PIN_SPI0_CS0, PIN_OUTPUT, MUX_MODE0)
98		>;
99	};
100};
101
102&cpu {
103	cpu0-supply = <&vdd1_reg>;
104};
105
106&elm {
107	status = "okay";
108};
109
110&i2c0 {
111	pinctrl-names = "default";
112	pinctrl-0 = <&i2c0_pins>;
113	clock-frequency = <100000>;
114	status = "okay";
115
116	/* optional, not on TQMa335xL */
117	jc42_1: temperature-sensor@1f {
118		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
119		reg = <0x1f>;
120	};
121
122	tps: pmic@2d {
123		reg = <0x2d>;
124		ti,en-ck32k-xtal;
125		/* Filled in by tps65910.dtsi */
126	};
127
128	/* optional, not on TQMa335xL */
129	eeprom: eeprom@50 {
130		compatible = "st,24c64", "atmel,24c64";
131		reg = <0x50>;
132		pagesize = <32>;
133		vcc-supply = <&vddshv>;
134	};
135
136	/* optional, not on TQMa335xL */
137	se97btp: eeprom@57 {
138		compatible = "nxp,se97b", "atmel,24c02";
139		reg = <0x57>;
140		pagesize = <16>;
141		vcc-supply = <&vddshv>;
142	};
143
144	/* optional, not on TQMa335xL */
145	ds1339: rtc@68 {
146		compatible = "dallas,ds1339";
147		reg = <0x68>;
148	};
149};
150
151#include "../../tps65910.dtsi"
152
153&mmc2 {
154	pinctrl-names = "default";
155	pinctrl-0 = <&mmc2_pins>;
156	bus-width = <8>;
157	no-1-8-v;
158	no-sd;
159	no-sdio;
160	vmmc-supply = <&vddshv>;
161	non-removable;
162	status = "okay";
163};
164
165&rtc {
166	status = "disabled";
167};
168
169&tps {
170	vcc1-supply = <&vcc3v3in>;
171	vcc2-supply = <&vcc3v3in>;
172	vcc3-supply = <&vcc3v3in>;
173	vcc4-supply = <&vcc3v3in>;
174	vcc5-supply = <&vcc3v3in>;
175	vcc6-supply = <&vcc3v3in>;
176	vcc7-supply = <&vcc3v3in>;
177	vccio-supply = <&vcc3v3in>;
178};
179
180/* TPS outputs */
181&vrtc_reg {
182	regulator-always-on;
183};
184
185&vio_reg {
186	regulator-always-on;
187};
188
189&vdd1_reg {
190	regulator-name = "vdd_mpu";
191	regulator-min-microvolt = <600000>;
192	regulator-max-microvolt = <1500000>;
193	regulator-boot-on;
194	regulator-always-on;
195};
196
197&vdd2_reg {
198	regulator-name = "vdd_core";
199	regulator-min-microvolt = <600000>;
200	regulator-max-microvolt = <1500000>;
201	regulator-boot-on;
202	regulator-always-on;
203};
204
205&vdd3_reg {
206	regulator-always-on;
207};
208
209&vdig1_reg {
210	regulator-always-on;
211};
212
213&vdig2_reg {
214	regulator-always-on;
215};
216
217&vpll_reg {
218	regulator-always-on;
219};
220
221&vdac_reg {
222	regulator-always-on;
223};
224
225&vaux1_reg {
226	regulator-always-on;
227};
228
229&vaux2_reg {
230	regulator-always-on;
231};
232
233&vaux33_reg {
234	regulator-always-on;
235};
236
237&vmmc_reg {
238	regulator-always-on;
239};
240
241&spi0 {
242	pinctrl-names = "default";
243	pinctrl-0 = <&spi0_pins>;
244	status = "okay";
245
246	flash@0 {
247		compatible = "jedec,spi-nor";
248		reg = <0x0>;
249		spi-max-frequency = <24000000>;
250		vcc-supply = <&vddshv>;
251
252		partitions {
253			compatible = "fixed-partitions";
254			#address-cells = <1>;
255			#size-cells = <1>;
256		};
257	};
258};
259
260&usb0_phy {
261	vcc-supply = <&vaux1_reg>;
262};
263
264&usb1_phy {
265	vcc-supply = <&vaux1_reg>;
266};
267
268&wkup_m3_ipc {
269	firmware-name = "am335x-evm-scale-data.bin";
270};
271