xref: /linux/arch/arm/boot/dts/nxp/imx/imx7-tqma7.dtsi (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR X11
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree Include file for TQ-Systems TQMa7x boards with full mounted PCB.
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2016 TQ-Systems GmbH
6724ba675SRob Herring * Author: Markus Niebel <Markus.Niebel@tq-group.com>
7724ba675SRob Herring * Copyright (C) 2019 Bruno Thomsen <bruno.thomsen@gmail.com>
8724ba675SRob Herring */
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	memory@80000000 {
12724ba675SRob Herring		device_type = "memory";
13724ba675SRob Herring		/* 512 MB - default configuration */
14724ba675SRob Herring		reg = <0x80000000 0x20000000>;
15724ba675SRob Herring	};
16724ba675SRob Herring};
17724ba675SRob Herring
18724ba675SRob Herring&cpu0 {
19724ba675SRob Herring	cpu-supply = <&sw1a_reg>;
20724ba675SRob Herring};
21724ba675SRob Herring
22724ba675SRob Herring&gpio2 {
23724ba675SRob Herring	/* Configured as pullup by QSPI pin group */
24724ba675SRob Herring	qspi-reset-hog {
25724ba675SRob Herring		gpio-hog;
26724ba675SRob Herring		gpios = <4 GPIO_ACTIVE_LOW>;
27724ba675SRob Herring		input;
28724ba675SRob Herring		line-name = "qspi-reset";
29724ba675SRob Herring	};
30724ba675SRob Herring};
31724ba675SRob Herring
32724ba675SRob Herring&i2c1 {
33908bfeb6SAlexander Stein	pinctrl-names = "default", "gpio";
34724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c1>;
35908bfeb6SAlexander Stein	pinctrl-1 = <&pinctrl_i2c1_recovery>;
36908bfeb6SAlexander Stein	scl-gpios = <&gpio4 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
37908bfeb6SAlexander Stein	sda-gpios = <&gpio4 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
38724ba675SRob Herring	clock-frequency = <100000>;
39724ba675SRob Herring	status = "okay";
40724ba675SRob Herring
41724ba675SRob Herring	pfuze3000: pmic@8 {
42724ba675SRob Herring		pinctrl-names = "default";
43724ba675SRob Herring		pinctrl-0 = <&pinctrl_pmic1>;
44724ba675SRob Herring		compatible = "fsl,pfuze3000";
45724ba675SRob Herring		reg = <0x08>;
46724ba675SRob Herring
47724ba675SRob Herring		regulators {
48724ba675SRob Herring			sw1a_reg: sw1a {
49724ba675SRob Herring				regulator-min-microvolt = <700000>;
50724ba675SRob Herring				regulator-max-microvolt = <3300000>;
51724ba675SRob Herring				regulator-boot-on;
52724ba675SRob Herring				regulator-always-on;
53724ba675SRob Herring				regulator-ramp-delay = <6250>;
54724ba675SRob Herring			};
55724ba675SRob Herring
56724ba675SRob Herring			/* use sw1c_reg to align with pfuze100/pfuze200 */
57724ba675SRob Herring			sw1c_reg: sw1b {
58724ba675SRob Herring				regulator-min-microvolt = <700000>;
59724ba675SRob Herring				regulator-max-microvolt = <1475000>;
60724ba675SRob Herring				regulator-boot-on;
61724ba675SRob Herring				regulator-always-on;
62724ba675SRob Herring				regulator-ramp-delay = <6250>;
63724ba675SRob Herring			};
64724ba675SRob Herring
65724ba675SRob Herring			sw2_reg: sw2 {
66724ba675SRob Herring				regulator-min-microvolt = <1500000>;
67724ba675SRob Herring				regulator-max-microvolt = <1850000>;
68724ba675SRob Herring				regulator-boot-on;
69724ba675SRob Herring				regulator-always-on;
70724ba675SRob Herring			};
71724ba675SRob Herring
72724ba675SRob Herring			sw3a_reg: sw3 {
73724ba675SRob Herring				regulator-min-microvolt = <900000>;
74724ba675SRob Herring				regulator-max-microvolt = <1650000>;
75724ba675SRob Herring				regulator-boot-on;
76724ba675SRob Herring				regulator-always-on;
77724ba675SRob Herring			};
78724ba675SRob Herring
79724ba675SRob Herring			swbst_reg: swbst {
80724ba675SRob Herring				regulator-min-microvolt = <5000000>;
81724ba675SRob Herring				regulator-max-microvolt = <5150000>;
82724ba675SRob Herring			};
83724ba675SRob Herring
84724ba675SRob Herring			snvs_reg: vsnvs {
85724ba675SRob Herring				regulator-min-microvolt = <1000000>;
86724ba675SRob Herring				regulator-max-microvolt = <3000000>;
87724ba675SRob Herring				regulator-boot-on;
88724ba675SRob Herring				regulator-always-on;
89724ba675SRob Herring			};
90724ba675SRob Herring
91724ba675SRob Herring			vref_reg: vrefddr {
92724ba675SRob Herring				regulator-boot-on;
93724ba675SRob Herring				regulator-always-on;
94724ba675SRob Herring			};
95724ba675SRob Herring
96724ba675SRob Herring			vgen1_reg: vldo1 {
97724ba675SRob Herring				regulator-min-microvolt = <1800000>;
98724ba675SRob Herring				regulator-max-microvolt = <3300000>;
99724ba675SRob Herring				regulator-always-on;
100724ba675SRob Herring			};
101724ba675SRob Herring
102724ba675SRob Herring			vgen2_reg: vldo2 {
103724ba675SRob Herring				regulator-min-microvolt = <800000>;
104724ba675SRob Herring				regulator-max-microvolt = <1550000>;
105724ba675SRob Herring				regulator-always-on;
106724ba675SRob Herring			};
107724ba675SRob Herring
108724ba675SRob Herring			vgen3_reg: vccsd {
109724ba675SRob Herring				regulator-min-microvolt = <2850000>;
110724ba675SRob Herring				regulator-max-microvolt = <3300000>;
111724ba675SRob Herring				regulator-always-on;
112724ba675SRob Herring			};
113724ba675SRob Herring
114724ba675SRob Herring			vgen4_reg: v33 {
115*1263f35eSAlexander Stein				regulator-min-microvolt = <3300000>;
116724ba675SRob Herring				regulator-max-microvolt = <3300000>;
117724ba675SRob Herring				regulator-always-on;
118724ba675SRob Herring			};
119724ba675SRob Herring
120724ba675SRob Herring			vgen5_reg: vldo3 {
121724ba675SRob Herring				regulator-min-microvolt = <1800000>;
122724ba675SRob Herring				regulator-max-microvolt = <3300000>;
123724ba675SRob Herring				regulator-always-on;
124724ba675SRob Herring			};
125724ba675SRob Herring
126724ba675SRob Herring			vgen6_reg: vldo4 {
127724ba675SRob Herring				regulator-min-microvolt = <1800000>;
128724ba675SRob Herring				regulator-max-microvolt = <3300000>;
129724ba675SRob Herring				regulator-always-on;
130724ba675SRob Herring			};
131724ba675SRob Herring		};
132724ba675SRob Herring	};
133724ba675SRob Herring
134c9d4affbSJoão Rodrigues	/* LM75A temperature sensor, TQMa7x 01xx */
135c9d4affbSJoão Rodrigues	lm75a: temperature-sensor@48 {
136c9d4affbSJoão Rodrigues		compatible = "national,lm75a";
137c9d4affbSJoão Rodrigues		reg = <0x48>;
138c9d4affbSJoão Rodrigues	};
139c9d4affbSJoão Rodrigues
140c9d4affbSJoão Rodrigues	/* NXP SE97BTP with temperature sensor + eeprom, TQMa7x 02xx */
1415ec4722fSAlexander Stein	se97b: temperature-sensor@1e {
142724ba675SRob Herring		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
143724ba675SRob Herring		reg = <0x1e>;
144724ba675SRob Herring	};
145724ba675SRob Herring
146724ba675SRob Herring	/* ST M24C64 */
147724ba675SRob Herring	m24c64: eeprom@50 {
148724ba675SRob Herring		compatible = "atmel,24c64";
149c3daa651SAlexander Stein		read-only;
150724ba675SRob Herring		reg = <0x50>;
151724ba675SRob Herring		pagesize = <32>;
152cf22d879SAlexander Stein		vcc-supply = <&vgen4_reg>;
153724ba675SRob Herring		status = "okay";
154724ba675SRob Herring	};
155724ba675SRob Herring
156724ba675SRob Herring	at24c02: eeprom@56 {
157c4d9a26bSAlexander Stein		compatible = "nxp,se97b", "atmel,24c02";
158724ba675SRob Herring		reg = <0x56>;
159724ba675SRob Herring		pagesize = <16>;
160cf22d879SAlexander Stein		vcc-supply = <&vgen4_reg>;
161724ba675SRob Herring		status = "okay";
162724ba675SRob Herring	};
163724ba675SRob Herring
164724ba675SRob Herring	ds1339: rtc@68 {
165724ba675SRob Herring		compatible = "dallas,ds1339";
166724ba675SRob Herring		reg = <0x68>;
167724ba675SRob Herring	};
168724ba675SRob Herring};
169724ba675SRob Herring
170724ba675SRob Herring&iomuxc {
171724ba675SRob Herring	pinctrl_i2c1: i2c1grp {
172e67e40cfSAlexander Stein		fsl,pins =
173e67e40cfSAlexander Stein			<MX7D_PAD_I2C1_SDA__I2C1_SDA	0x40000078>,
174e67e40cfSAlexander Stein			<MX7D_PAD_I2C1_SCL__I2C1_SCL	0x40000078>;
175724ba675SRob Herring	};
176724ba675SRob Herring
177908bfeb6SAlexander Stein	pinctrl_i2c1_recovery: i2c1recoverygrp {
178908bfeb6SAlexander Stein		fsl,pins =
179908bfeb6SAlexander Stein			<MX7D_PAD_I2C1_SDA__GPIO4_IO9	0x40000078>,
180908bfeb6SAlexander Stein			<MX7D_PAD_I2C1_SCL__GPIO4_IO8	0x40000078>;
181908bfeb6SAlexander Stein	};
182908bfeb6SAlexander Stein
183724ba675SRob Herring	pinctrl_pmic1: pmic1grp {
184e67e40cfSAlexander Stein		fsl,pins =
185e67e40cfSAlexander Stein			<MX7D_PAD_SD2_RESET_B__GPIO5_IO11	0x4000005C>;
186724ba675SRob Herring	};
187724ba675SRob Herring
188724ba675SRob Herring	pinctrl_qspi: qspigrp {
189e67e40cfSAlexander Stein		fsl,pins =
190e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA00__QSPI_A_DATA0	0x5A>,
191e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA01__QSPI_A_DATA1	0x5A>,
192e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA02__QSPI_A_DATA2	0x5A>,
193e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA03__QSPI_A_DATA3	0x5A>,
194e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA05__QSPI_A_SCLK	0x11>,
195e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA06__QSPI_A_SS0_B	0x54>,
196e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA07__QSPI_A_SS1_B	0x54>;
197724ba675SRob Herring	};
198724ba675SRob Herring
199724ba675SRob Herring	pinctrl_qspi_reset: qspi_resetgrp {
200e67e40cfSAlexander Stein		fsl,pins =
201724ba675SRob Herring			/* #QSPI_RESET */
202e67e40cfSAlexander Stein			<MX7D_PAD_EPDC_DATA04__GPIO2_IO4	0x52>;
203724ba675SRob Herring	};
204724ba675SRob Herring
205724ba675SRob Herring	pinctrl_usdhc3: usdhc3grp {
206e67e40cfSAlexander Stein		fsl,pins =
207e67e40cfSAlexander Stein			<MX7D_PAD_SD3_CMD__SD3_CMD		0x59>,
208e67e40cfSAlexander Stein			<MX7D_PAD_SD3_CLK__SD3_CLK		0x56>,
209e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59>,
210e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59>,
211e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59>,
212e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59>,
213e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59>,
214e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59>,
215e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59>,
216e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59>,
217e67e40cfSAlexander Stein			<MX7D_PAD_SD3_STROBE__SD3_STROBE	0x19>;
218724ba675SRob Herring	};
219724ba675SRob Herring
220e7073f96SAlexander Stein	pinctrl_usdhc3_100mhz: usdhc3_100mhzgrp {
221e67e40cfSAlexander Stein		fsl,pins =
222e67e40cfSAlexander Stein			<MX7D_PAD_SD3_CMD__SD3_CMD               0x5a>,
223e67e40cfSAlexander Stein			<MX7D_PAD_SD3_CLK__SD3_CLK               0x51>,
224e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5a>,
225e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5a>,
226e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5a>,
227e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5a>,
228e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5a>,
229e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5a>,
230e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5a>,
231e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5a>,
232e67e40cfSAlexander Stein			<MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1a>;
233724ba675SRob Herring	};
234724ba675SRob Herring
235e7073f96SAlexander Stein	pinctrl_usdhc3_200mhz: usdhc3_200mhzgrp {
236e67e40cfSAlexander Stein		fsl,pins =
237e67e40cfSAlexander Stein			<MX7D_PAD_SD3_CMD__SD3_CMD               0x5b>,
238e67e40cfSAlexander Stein			<MX7D_PAD_SD3_CLK__SD3_CLK               0x51>,
239e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5b>,
240e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5b>,
241e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5b>,
242e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5b>,
243e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5b>,
244e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5b>,
245e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5b>,
246e67e40cfSAlexander Stein			<MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5b>,
247e67e40cfSAlexander Stein			<MX7D_PAD_SD3_STROBE__SD3_STROBE         0x1b>;
248724ba675SRob Herring	};
249724ba675SRob Herring};
250724ba675SRob Herring
251724ba675SRob Herring&iomuxc_lpsr {
252724ba675SRob Herring	pinctrl_wdog1: wdog1grp {
253e67e40cfSAlexander Stein		fsl,pins =
254e67e40cfSAlexander Stein			<MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B	0x30>;
255724ba675SRob Herring	};
256724ba675SRob Herring};
257724ba675SRob Herring
258724ba675SRob Herring&qspi {
259724ba675SRob Herring	pinctrl-names = "default";
260724ba675SRob Herring	pinctrl-0 = <&pinctrl_qspi &pinctrl_qspi_reset>;
261724ba675SRob Herring	status = "okay";
262724ba675SRob Herring
263724ba675SRob Herring	flash0: flash@0 {
264724ba675SRob Herring		compatible = "jedec,spi-nor";
265724ba675SRob Herring		reg = <0>;
266724ba675SRob Herring		spi-max-frequency = <29000000>;
267724ba675SRob Herring		spi-rx-bus-width = <4>;
268724ba675SRob Herring		spi-tx-bus-width = <4>;
269724ba675SRob Herring	};
270724ba675SRob Herring};
271724ba675SRob Herring
272724ba675SRob Herring&usdhc3 {
273724ba675SRob Herring	pinctrl-names = "default", "state_100mhz", "state_200mhz";
274724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
275724ba675SRob Herring	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
276724ba675SRob Herring	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
277724ba675SRob Herring	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
278724ba675SRob Herring	assigned-clock-rates = <400000000>;
279724ba675SRob Herring	bus-width = <8>;
280724ba675SRob Herring	non-removable;
281e498d366SAlexander Stein	no-sd;
282e498d366SAlexander Stein	no-sdio;
283724ba675SRob Herring	vmmc-supply = <&vgen4_reg>;
284724ba675SRob Herring	vqmmc-supply = <&sw2_reg>;
285724ba675SRob Herring	status = "okay";
286724ba675SRob Herring};
287724ba675SRob Herring
288724ba675SRob Herring&wdog1 {
289724ba675SRob Herring	pinctrl-names = "default";
290724ba675SRob Herring	pinctrl-0 = <&pinctrl_wdog1>;
291724ba675SRob Herring	/*
292724ba675SRob Herring	 * Errata e10574:
293724ba675SRob Herring	 * WDOG reset needs to run with WDOG_RESET_B signal enabled.
294724ba675SRob Herring	 * X1-51 (WDOG1#) signal needs carrier board handling to reset
295724ba675SRob Herring	 * TQMa7 on X1-22 (RESET_IN#).
296724ba675SRob Herring	 */
297724ba675SRob Herring	fsl,ext-reset-output;
298724ba675SRob Herring	status = "okay";
299724ba675SRob Herring};
300