blob: 3fc3130f9defe4da6905870081d3bc661334a463 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0 OR X11
2/*
3 * Device Tree Include file for TQ-Systems TQMa7x boards with full mounted PCB.
4 *
5 * Copyright (C) 2016 TQ-Systems GmbH
6 * Author: Markus Niebel <Markus.Niebel@tq-group.com>
7 * Copyright (C) 2019 Bruno Thomsen <bruno.thomsen@gmail.com>
8 */
9
10/ {
11 memory@80000000 {
12 device_type = "memory";
13 /* 512 MB - default configuration */
14 reg = <0x80000000 0x20000000>;
15 };
16};
17
18&cpu0 {
19 cpu-supply = <&sw1a_reg>;
20};
21
22&gpio2 {
23 /* Configured as pullup by QSPI pin group */
24 qspi-reset-hog {
25 gpio-hog;
26 gpios = <4 GPIO_ACTIVE_LOW>;
27 input;
28 line-name = "qspi-reset";
29 };
30};
31
32&i2c1 {
33 pinctrl-names = "default";
34 pinctrl-0 = <&pinctrl_i2c1>;
35 clock-frequency = <100000>;
36 status = "okay";
37
38 pfuze3000: pmic@8 {
39 pinctrl-names = "default";
40 pinctrl-0 = <&pinctrl_pmic1>;
41 compatible = "fsl,pfuze3000";
42 reg = <0x08>;
43
44 regulators {
45 sw1a_reg: sw1a {
46 regulator-min-microvolt = <700000>;
47 regulator-max-microvolt = <3300000>;
48 regulator-boot-on;
49 regulator-always-on;
50 regulator-ramp-delay = <6250>;
51 };
52
53 /* use sw1c_reg to align with pfuze100/pfuze200 */
54 sw1c_reg: sw1b {
55 regulator-min-microvolt = <700000>;
56 regulator-max-microvolt = <1475000>;
57 regulator-boot-on;
58 regulator-always-on;
59 regulator-ramp-delay = <6250>;
60 };
61
62 sw2_reg: sw2 {
63 regulator-min-microvolt = <1500000>;
64 regulator-max-microvolt = <1850000>;
65 regulator-boot-on;
66 regulator-always-on;
67 };
68
69 sw3a_reg: sw3 {
70 regulator-min-microvolt = <900000>;
71 regulator-max-microvolt = <1650000>;
72 regulator-boot-on;
73 regulator-always-on;
74 };
75
76 swbst_reg: swbst {
77 regulator-min-microvolt = <5000000>;
78 regulator-max-microvolt = <5150000>;
79 };
80
81 snvs_reg: vsnvs {
82 regulator-min-microvolt = <1000000>;
83 regulator-max-microvolt = <3000000>;
84 regulator-boot-on;
85 regulator-always-on;
86 };
87
88 vref_reg: vrefddr {
89 regulator-boot-on;
90 regulator-always-on;
91 };
92
93 vgen1_reg: vldo1 {
94 regulator-min-microvolt = <1800000>;
95 regulator-max-microvolt = <3300000>;
96 regulator-always-on;
97 };
98
99 vgen2_reg: vldo2 {
100 regulator-min-microvolt = <800000>;
101 regulator-max-microvolt = <1550000>;
102 regulator-always-on;
103 };
104
105 vgen3_reg: vccsd {
106 regulator-min-microvolt = <2850000>;
107 regulator-max-microvolt = <3300000>;
108 regulator-always-on;
109 };
110
111 vgen4_reg: v33 {
112 regulator-min-microvolt = <2850000>;
113 regulator-max-microvolt = <3300000>;
114 regulator-always-on;
115 };
116
117 vgen5_reg: vldo3 {
118 regulator-min-microvolt = <1800000>;
119 regulator-max-microvolt = <3300000>;
120 regulator-always-on;
121 };
122
123 vgen6_reg: vldo4 {
124 regulator-min-microvolt = <1800000>;
125 regulator-max-microvolt = <3300000>;
126 regulator-always-on;
127 };
128 };
129 };
130
Tom Rini93743d22024-04-01 09:08:13 -0400131 /* LM75A temperature sensor, TQMa7x 01xx */
132 lm75a: temperature-sensor@48 {
133 compatible = "national,lm75a";
134 reg = <0x48>;
135 };
136
137 /* NXP SE97BTP with temperature sensor + eeprom, TQMa7x 02xx */
Tom Rini53633a82024-02-29 12:33:36 -0500138 se97b: temperature-sensor-eeprom@1e {
139 compatible = "nxp,se97b", "jedec,jc-42.4-temp";
140 reg = <0x1e>;
Tom Rini53633a82024-02-29 12:33:36 -0500141 };
142
143 /* ST M24C64 */
144 m24c64: eeprom@50 {
145 compatible = "atmel,24c64";
146 reg = <0x50>;
147 pagesize = <32>;
148 status = "okay";
149 };
150
151 at24c02: eeprom@56 {
152 compatible = "atmel,24c02";
153 reg = <0x56>;
154 pagesize = <16>;
155 status = "okay";
156 };
157
158 ds1339: rtc@68 {
159 compatible = "dallas,ds1339";
160 reg = <0x68>;
161 };
162};
163
164&iomuxc {
165 pinctrl_i2c1: i2c1grp {
166 fsl,pins = <
167 MX7D_PAD_I2C1_SDA__I2C1_SDA 0x40000078
168 MX7D_PAD_I2C1_SCL__I2C1_SCL 0x40000078
169 >;
170 };
171
172 pinctrl_pmic1: pmic1grp {
173 fsl,pins = <
174 MX7D_PAD_SD2_RESET_B__GPIO5_IO11 0x4000005C
175 >;
176 };
177
178 pinctrl_qspi: qspigrp {
179 fsl,pins = <
180 MX7D_PAD_EPDC_DATA00__QSPI_A_DATA0 0x5A
181 MX7D_PAD_EPDC_DATA01__QSPI_A_DATA1 0x5A
182 MX7D_PAD_EPDC_DATA02__QSPI_A_DATA2 0x5A
183 MX7D_PAD_EPDC_DATA03__QSPI_A_DATA3 0x5A
184 MX7D_PAD_EPDC_DATA05__QSPI_A_SCLK 0x11
185 MX7D_PAD_EPDC_DATA06__QSPI_A_SS0_B 0x54
186 MX7D_PAD_EPDC_DATA07__QSPI_A_SS1_B 0x54
187 >;
188 };
189
190 pinctrl_qspi_reset: qspi_resetgrp {
191 fsl,pins = <
192 /* #QSPI_RESET */
193 MX7D_PAD_EPDC_DATA04__GPIO2_IO4 0x52
194 >;
195 };
196
197 pinctrl_usdhc3: usdhc3grp {
198 fsl,pins = <
199 MX7D_PAD_SD3_CMD__SD3_CMD 0x59
200 MX7D_PAD_SD3_CLK__SD3_CLK 0x56
201 MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59
202 MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59
203 MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59
204 MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59
205 MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59
206 MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59
207 MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59
208 MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59
209 MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19
210 >;
211 };
212
213 pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
214 fsl,pins = <
215 MX7D_PAD_SD3_CMD__SD3_CMD 0x5a
216 MX7D_PAD_SD3_CLK__SD3_CLK 0x51
217 MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5a
218 MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5a
219 MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5a
220 MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5a
221 MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5a
222 MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5a
223 MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5a
224 MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5a
225 MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1a
226 >;
227 };
228
229 pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
230 fsl,pins = <
231 MX7D_PAD_SD3_CMD__SD3_CMD 0x5b
232 MX7D_PAD_SD3_CLK__SD3_CLK 0x51
233 MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5b
234 MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5b
235 MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5b
236 MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5b
237 MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5b
238 MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5b
239 MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5b
240 MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b
241 MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1b
242 >;
243 };
244};
245
246&iomuxc_lpsr {
247 pinctrl_wdog1: wdog1grp {
248 fsl,pins = <
249 MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B 0x30
250 >;
251 };
252};
253
254&qspi {
255 pinctrl-names = "default";
256 pinctrl-0 = <&pinctrl_qspi &pinctrl_qspi_reset>;
257 status = "okay";
258
259 flash0: flash@0 {
260 compatible = "jedec,spi-nor";
261 reg = <0>;
262 spi-max-frequency = <29000000>;
263 spi-rx-bus-width = <4>;
264 spi-tx-bus-width = <4>;
265 };
266};
267
268&sdma {
269 status = "okay";
270};
271
272&usdhc3 {
273 pinctrl-names = "default", "state_100mhz", "state_200mhz";
274 pinctrl-0 = <&pinctrl_usdhc3>;
275 pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
276 pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
277 assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
278 assigned-clock-rates = <400000000>;
279 bus-width = <8>;
280 non-removable;
281 vmmc-supply = <&vgen4_reg>;
282 vqmmc-supply = <&sw2_reg>;
283 status = "okay";
284};
285
286&wdog1 {
287 pinctrl-names = "default";
288 pinctrl-0 = <&pinctrl_wdog1>;
289 /*
290 * Errata e10574:
291 * WDOG reset needs to run with WDOG_RESET_B signal enabled.
292 * X1-51 (WDOG1#) signal needs carrier board handling to reset
293 * TQMa7 on X1-22 (RESET_IN#).
294 */
295 fsl,ext-reset-output;
296 status = "okay";
297};