xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mp-tqma8mpql.dtsi (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1b97ee269SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2b97ee269SEmmanuel Vadot/*
3b97ee269SEmmanuel Vadot * Copyright 2021-2022 TQ-Systems GmbH
4b97ee269SEmmanuel Vadot * Author: Alexander Stein <alexander.stein@tq-group.com>
5b97ee269SEmmanuel Vadot */
6b97ee269SEmmanuel Vadot
7b97ee269SEmmanuel Vadot#include "imx8mp.dtsi"
8b97ee269SEmmanuel Vadot
9b97ee269SEmmanuel Vadot/ {
10b97ee269SEmmanuel Vadot	model = "TQ-Systems i.MX8MPlus TQMa8MPxL";
11b97ee269SEmmanuel Vadot	compatible = "tq,imx8mp-tqma8mpql", "fsl,imx8mp";
12b97ee269SEmmanuel Vadot
13b97ee269SEmmanuel Vadot	memory@40000000 {
14b97ee269SEmmanuel Vadot		device_type = "memory";
15b97ee269SEmmanuel Vadot		reg = <0x0 0x40000000 0 0x80000000>;
16b97ee269SEmmanuel Vadot	};
17b97ee269SEmmanuel Vadot
18b97ee269SEmmanuel Vadot	/* identical to buck4_reg, but should never change */
19b97ee269SEmmanuel Vadot	reg_vcc3v3: regulator-vcc3v3 {
20b97ee269SEmmanuel Vadot		compatible = "regulator-fixed";
21b97ee269SEmmanuel Vadot		regulator-name = "VCC3V3";
22b97ee269SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
23b97ee269SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
24b97ee269SEmmanuel Vadot		regulator-always-on;
25b97ee269SEmmanuel Vadot	};
26b97ee269SEmmanuel Vadot
27b97ee269SEmmanuel Vadot	/* e-MMC IO, needed for HS modes */
28b97ee269SEmmanuel Vadot	reg_vcc1v8: regulator-vcc1v8 {
29b97ee269SEmmanuel Vadot		compatible = "regulator-fixed";
30b97ee269SEmmanuel Vadot		regulator-name = "VCC1V8";
31b97ee269SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
32b97ee269SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
33b97ee269SEmmanuel Vadot		regulator-always-on;
34b97ee269SEmmanuel Vadot	};
35b97ee269SEmmanuel Vadot};
36b97ee269SEmmanuel Vadot
37b97ee269SEmmanuel Vadot&A53_0 {
38b97ee269SEmmanuel Vadot	cpu-supply = <&buck2_reg>;
39b97ee269SEmmanuel Vadot};
40b97ee269SEmmanuel Vadot
41b97ee269SEmmanuel Vadot&flexspi {
42b97ee269SEmmanuel Vadot	pinctrl-names = "default";
43b97ee269SEmmanuel Vadot	pinctrl-0 = <&pinctrl_flexspi0>;
44b97ee269SEmmanuel Vadot	status = "okay";
45b97ee269SEmmanuel Vadot
46b97ee269SEmmanuel Vadot	flash0: flash@0 {
47b97ee269SEmmanuel Vadot		reg = <0>;
48b97ee269SEmmanuel Vadot		#address-cells = <1>;
49b97ee269SEmmanuel Vadot		#size-cells = <1>;
50b97ee269SEmmanuel Vadot		compatible = "jedec,spi-nor";
51b97ee269SEmmanuel Vadot		spi-max-frequency = <80000000>;
52b97ee269SEmmanuel Vadot		spi-tx-bus-width = <1>;
53b97ee269SEmmanuel Vadot		spi-rx-bus-width = <4>;
54b97ee269SEmmanuel Vadot	};
55b97ee269SEmmanuel Vadot};
56b97ee269SEmmanuel Vadot
57b97ee269SEmmanuel Vadot&i2c1 {
58b97ee269SEmmanuel Vadot	clock-frequency = <384000>;
59b97ee269SEmmanuel Vadot	pinctrl-names = "default", "gpio";
60b97ee269SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1>;
61b97ee269SEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c1_gpio>;
62b97ee269SEmmanuel Vadot	scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
63b97ee269SEmmanuel Vadot	sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
64b97ee269SEmmanuel Vadot	status = "okay";
65b97ee269SEmmanuel Vadot
66*cb7aa33aSEmmanuel Vadot	se97: temperature-sensor@1b {
67*cb7aa33aSEmmanuel Vadot		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
68b97ee269SEmmanuel Vadot		reg = <0x1b>;
69b97ee269SEmmanuel Vadot	};
70b97ee269SEmmanuel Vadot
71b97ee269SEmmanuel Vadot	pmic: pmic@25 {
72b97ee269SEmmanuel Vadot		reg = <0x25>;
73b97ee269SEmmanuel Vadot		compatible = "nxp,pca9450c";
74b97ee269SEmmanuel Vadot
75b97ee269SEmmanuel Vadot		/* PMIC PCA9450 PMIC_nINT GPIO1_IO08 */
76b97ee269SEmmanuel Vadot		pinctrl-0 = <&pinctrl_pmic>;
77b97ee269SEmmanuel Vadot		pinctrl-names = "default";
78b97ee269SEmmanuel Vadot		interrupt-parent = <&gpio1>;
79b97ee269SEmmanuel Vadot		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
80b97ee269SEmmanuel Vadot
81b97ee269SEmmanuel Vadot		regulators {
82b97ee269SEmmanuel Vadot			/* V_0V85_SOC: 0.85 .. 0.95 */
83b97ee269SEmmanuel Vadot			buck1_reg: BUCK1 {
84b97ee269SEmmanuel Vadot				regulator-name = "BUCK1";
85b97ee269SEmmanuel Vadot				regulator-min-microvolt = <850000>;
86b97ee269SEmmanuel Vadot				regulator-max-microvolt = <950000>;
87b97ee269SEmmanuel Vadot				regulator-boot-on;
88b97ee269SEmmanuel Vadot				regulator-always-on;
89b97ee269SEmmanuel Vadot				regulator-ramp-delay = <3125>;
90b97ee269SEmmanuel Vadot			};
91b97ee269SEmmanuel Vadot
92b97ee269SEmmanuel Vadot			/* VDD_ARM */
93b97ee269SEmmanuel Vadot			buck2_reg: BUCK2 {
94b97ee269SEmmanuel Vadot				regulator-name = "BUCK2";
95b97ee269SEmmanuel Vadot				regulator-min-microvolt = <850000>;
96b97ee269SEmmanuel Vadot				regulator-max-microvolt = <1000000>;
97b97ee269SEmmanuel Vadot				regulator-boot-on;
98b97ee269SEmmanuel Vadot				regulator-always-on;
99b97ee269SEmmanuel Vadot				nxp,dvs-run-voltage = <950000>;
100b97ee269SEmmanuel Vadot				nxp,dvs-standby-voltage = <850000>;
101b97ee269SEmmanuel Vadot				regulator-ramp-delay = <3125>;
102b97ee269SEmmanuel Vadot			};
103b97ee269SEmmanuel Vadot
104b97ee269SEmmanuel Vadot			/* VCC3V3 -> VMMC, ... must not be changed */
105b97ee269SEmmanuel Vadot			buck4_reg: BUCK4 {
106b97ee269SEmmanuel Vadot				regulator-name = "BUCK4";
107b97ee269SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
108b97ee269SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
109b97ee269SEmmanuel Vadot				regulator-boot-on;
110b97ee269SEmmanuel Vadot				regulator-always-on;
111b97ee269SEmmanuel Vadot			};
112b97ee269SEmmanuel Vadot
113b97ee269SEmmanuel Vadot			/* V_1V8 -> VQMMC, SPI-NOR, ... must not be changed */
114b97ee269SEmmanuel Vadot			buck5_reg: BUCK5 {
115b97ee269SEmmanuel Vadot				regulator-name = "BUCK5";
116b97ee269SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
117b97ee269SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
118b97ee269SEmmanuel Vadot				regulator-boot-on;
119b97ee269SEmmanuel Vadot				regulator-always-on;
120b97ee269SEmmanuel Vadot			};
121b97ee269SEmmanuel Vadot
122b97ee269SEmmanuel Vadot			/* V_1V1 -> RAM, ... must not be changed */
123b97ee269SEmmanuel Vadot			buck6_reg: BUCK6 {
124b97ee269SEmmanuel Vadot				regulator-name = "BUCK6";
125b97ee269SEmmanuel Vadot				regulator-min-microvolt = <1100000>;
126b97ee269SEmmanuel Vadot				regulator-max-microvolt = <1100000>;
127b97ee269SEmmanuel Vadot				regulator-boot-on;
128b97ee269SEmmanuel Vadot				regulator-always-on;
129b97ee269SEmmanuel Vadot			};
130b97ee269SEmmanuel Vadot
131b97ee269SEmmanuel Vadot			/* V_1V8_SNVS */
132b97ee269SEmmanuel Vadot			ldo1_reg: LDO1 {
133b97ee269SEmmanuel Vadot				regulator-name = "LDO1";
134b97ee269SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
135b97ee269SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
136b97ee269SEmmanuel Vadot				regulator-boot-on;
137b97ee269SEmmanuel Vadot				regulator-always-on;
138b97ee269SEmmanuel Vadot			};
139b97ee269SEmmanuel Vadot
140b97ee269SEmmanuel Vadot			/* V_1V8_ANA */
141b97ee269SEmmanuel Vadot			ldo3_reg: LDO3 {
142b97ee269SEmmanuel Vadot				regulator-name = "LDO3";
143b97ee269SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
144b97ee269SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
145b97ee269SEmmanuel Vadot				regulator-boot-on;
146b97ee269SEmmanuel Vadot				regulator-always-on;
147b97ee269SEmmanuel Vadot			};
148b97ee269SEmmanuel Vadot
149b97ee269SEmmanuel Vadot			/* unused */
150b97ee269SEmmanuel Vadot			ldo4_reg: LDO4 {
151b97ee269SEmmanuel Vadot				regulator-name = "LDO4";
152b97ee269SEmmanuel Vadot				regulator-min-microvolt = <800000>;
153b97ee269SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
154b97ee269SEmmanuel Vadot			};
155b97ee269SEmmanuel Vadot
156b97ee269SEmmanuel Vadot			/* VCC SD IO - switched using SD2 VSELECT */
157b97ee269SEmmanuel Vadot			ldo5_reg: LDO5 {
158b97ee269SEmmanuel Vadot				regulator-name = "LDO5";
159b97ee269SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
160b97ee269SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
161b97ee269SEmmanuel Vadot			};
162b97ee269SEmmanuel Vadot		};
163b97ee269SEmmanuel Vadot	};
164b97ee269SEmmanuel Vadot
165b97ee269SEmmanuel Vadot	pcf85063: rtc@51 {
166b97ee269SEmmanuel Vadot		compatible = "nxp,pcf85063a";
167b97ee269SEmmanuel Vadot		reg = <0x51>;
168b97ee269SEmmanuel Vadot	};
169b97ee269SEmmanuel Vadot
170b97ee269SEmmanuel Vadot	at24c02: eeprom@53 {
171b97ee269SEmmanuel Vadot		compatible = "nxp,se97b", "atmel,24c02";
172b97ee269SEmmanuel Vadot		read-only;
173b97ee269SEmmanuel Vadot		reg = <0x53>;
174b97ee269SEmmanuel Vadot		pagesize = <16>;
175b97ee269SEmmanuel Vadot		vcc-supply = <&reg_vcc3v3>;
176b97ee269SEmmanuel Vadot	};
177b97ee269SEmmanuel Vadot
178b97ee269SEmmanuel Vadot	m24c64: eeprom@57 {
179b97ee269SEmmanuel Vadot		compatible = "atmel,24c64";
180b97ee269SEmmanuel Vadot		reg = <0x57>;
181b97ee269SEmmanuel Vadot		pagesize = <32>;
182b97ee269SEmmanuel Vadot		vcc-supply = <&reg_vcc3v3>;
183b97ee269SEmmanuel Vadot	};
184b97ee269SEmmanuel Vadot};
185b97ee269SEmmanuel Vadot
186b97ee269SEmmanuel Vadot&usdhc3 {
187b97ee269SEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz";
188b97ee269SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc3>;
189b97ee269SEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
190b97ee269SEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
191b97ee269SEmmanuel Vadot	bus-width = <8>;
192b97ee269SEmmanuel Vadot	non-removable;
193b97ee269SEmmanuel Vadot	no-sd;
194b97ee269SEmmanuel Vadot	no-sdio;
195b97ee269SEmmanuel Vadot	vmmc-supply = <&reg_vcc3v3>;
196b97ee269SEmmanuel Vadot	vqmmc-supply = <&reg_vcc1v8>;
197b97ee269SEmmanuel Vadot	status = "okay";
198b97ee269SEmmanuel Vadot};
199b97ee269SEmmanuel Vadot
200b97ee269SEmmanuel Vadot&wdog1 {
201b97ee269SEmmanuel Vadot	pinctrl-names = "default";
202b97ee269SEmmanuel Vadot	pinctrl-0 = <&pinctrl_wdog>;
203b97ee269SEmmanuel Vadot	fsl,ext-reset-output;
204b97ee269SEmmanuel Vadot	status = "okay";
205b97ee269SEmmanuel Vadot};
206b97ee269SEmmanuel Vadot
207b97ee269SEmmanuel Vadot&iomuxc {
208b97ee269SEmmanuel Vadot	pinctrl_flexspi0: flexspi0grp {
209b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK	0x142>,
210b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B	0x82>,
211b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00	0x82>,
212b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01	0x82>,
213b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02	0x82>,
214b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03	0x82>;
215b97ee269SEmmanuel Vadot	};
216b97ee269SEmmanuel Vadot
217b97ee269SEmmanuel Vadot	pinctrl_i2c1: i2c1grp {
218b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL		0x400001e2>,
219b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA		0x400001e2>;
220b97ee269SEmmanuel Vadot	};
221b97ee269SEmmanuel Vadot
222b97ee269SEmmanuel Vadot	pinctrl_i2c1_gpio: i2c1-gpiogrp {
223b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14		0x400001e2>,
224b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15		0x400001e2>;
225b97ee269SEmmanuel Vadot	};
226b97ee269SEmmanuel Vadot
227b97ee269SEmmanuel Vadot	pinctrl_pmic: pmicirqgrp {
228b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08		0x1c0>;
229b97ee269SEmmanuel Vadot	};
230b97ee269SEmmanuel Vadot
231b97ee269SEmmanuel Vadot	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
232b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19	0x10>;
233b97ee269SEmmanuel Vadot	};
234b97ee269SEmmanuel Vadot
235b97ee269SEmmanuel Vadot	pinctrl_usdhc3: usdhc3grp {
236b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x194>,
237b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d4>,
238b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d4>,
239b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d4>,
240b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d4>,
241b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d4>,
242b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d4>,
243b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d4>,
244b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d4>,
245b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d4>,
246b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x84>,
247b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B	0x84>;
248b97ee269SEmmanuel Vadot	};
249b97ee269SEmmanuel Vadot
250b97ee269SEmmanuel Vadot	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
251b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x194>,
252b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d4>,
253b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d4>,
254b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d4>,
255b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d4>,
256b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d4>,
257b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d4>,
258b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d4>,
259b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d4>,
260b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d4>,
261b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x84>,
262b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B	0x84>;
263b97ee269SEmmanuel Vadot	};
264b97ee269SEmmanuel Vadot
265b97ee269SEmmanuel Vadot	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
266b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x194>,
267b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d4>,
268b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0	0x1d4>,
269b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1	0x1d4>,
270b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2	0x1d4>,
271b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3	0x1d4>,
272b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4	0x1d4>,
273b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5	0x1d4>,
274b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6	0x1d4>,
275b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d4>,
276b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE	0x84>,
277b97ee269SEmmanuel Vadot			   <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B	0x84>;
278b97ee269SEmmanuel Vadot	};
279b97ee269SEmmanuel Vadot
280b97ee269SEmmanuel Vadot	pinctrl_wdog: wdoggrp {
281b97ee269SEmmanuel Vadot		fsl,pins = <MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B	0x1c4>;
282b97ee269SEmmanuel Vadot	};
283b97ee269SEmmanuel Vadot};
284