1 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
2 /*
3  * Copyright 2018-2022 TQ-Systems GmbH
4  * Author: Markus Niebel <Markus.Niebel@tq-group.com>
5  */
6 
7 /*
8  * Common for
9  * - TQMa6ULx
10  * - TQMa6ULxL
11  * - TQMa6ULLx
12  * - TQMa6ULLxL
13  */
14 
15 / {
16 	memory@80000000 {
17 		device_type = "memory";
18 		reg = <0x80000000 0x10000000>;
19 	};
20 };
21 
22 &i2c4 {
23 	clock-frequency = <100000>;
24 	pinctrl-names = "default", "gpio";
25 	pinctrl-0 = <&pinctrl_i2c4>;
26 	pinctrl-1 = <&pinctrl_i2c4_recovery>;
27 	scl-gpios = <&gpio1 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
28 	sda-gpios = <&gpio1 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
29 	status = "okay";
30 
31 	pfuze3000: pmic@8 {
32 		compatible = "fsl,pfuze3000";
33 		reg = <0x08>;
34 
35 		regulators {
36 			reg_sw1a: sw1a {
37 				regulator-min-microvolt = <700000>;
38 				regulator-max-microvolt = <3300000>;
39 				regulator-boot-on;
40 				regulator-ramp-delay = <6250>;
41 				/* not used */
42 			};
43 
44 			reg_sw1b_core: sw1b {
45 				regulator-min-microvolt = <700000>;
46 				regulator-max-microvolt = <1475000>;
47 				regulator-boot-on;
48 				regulator-always-on;
49 				regulator-ramp-delay = <6250>;
50 			};
51 
52 			reg_sw2: sw2 {
53 				regulator-min-microvolt = <2500000>;
54 				regulator-max-microvolt = <3300000>;
55 			};
56 
57 			reg_sw3_ddr: sw3 {
58 				regulator-min-microvolt = <900000>;
59 				regulator-max-microvolt = <1650000>;
60 				regulator-boot-on;
61 				regulator-always-on;
62 			};
63 
64 			reg_swbst: swbst {
65 				regulator-min-microvolt = <5000000>;
66 				regulator-max-microvolt = <5150000>;
67 				/* not used */
68 			};
69 
70 			reg_snvs_3v0: vsnvs {
71 				regulator-min-microvolt = <1000000>;
72 				regulator-max-microvolt = <3000000>;
73 				regulator-boot-on;
74 				regulator-always-on;
75 			};
76 
77 			reg_vrefddr: vrefddr {
78 				regulator-boot-on;
79 				regulator-always-on;
80 			};
81 
82 			reg_vccsd: vccsd {
83 				regulator-min-microvolt = <2850000>;
84 				regulator-max-microvolt = <3300000>;
85 			};
86 
87 			reg_v33_3v3: v33 {
88 				regulator-min-microvolt = <2850000>;
89 				regulator-max-microvolt = <3300000>;
90 				regulator-always-on;
91 			};
92 
93 			reg_vldo1_3v3: vldo1 {
94 				regulator-min-microvolt = <1800000>;
95 				regulator-max-microvolt = <3300000>;
96 				/* not used */
97 			};
98 
99 			reg_vldo2: vldo2 {
100 				regulator-min-microvolt = <800000>;
101 				regulator-max-microvolt = <1550000>;
102 				/* not used */
103 			};
104 
105 			reg_vldo3: vldo3 {
106 				regulator-min-microvolt = <1800000>;
107 				regulator-max-microvolt = <3300000>;
108 				/* not used */
109 			};
110 
111 			reg_vldo4: vldo4 {
112 				regulator-min-microvolt = <1800000>;
113 				regulator-max-microvolt = <1800000>;
114 				regulator-always-on;
115 			};
116 		};
117 	};
118 
119 	jc42_1a: eeprom-temperature@1a {
120 		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
121 		reg = <0x1a>;
122 	};
123 
124 	m24c64_50: eeprom@50 {
125 		compatible = "atmel,24c64";
126 		reg = <0x50>;
127 		pagesize = <32>;
128 	};
129 
130 	m24c02_52: eeprom@52 {
131 		compatible = "nxp,se97b", "atmel,24c02";
132 		reg = <0x52>;
133 		pagesize = <16>;
134 		read-only;
135 	};
136 
137 	rtc0: rtc@68 {
138 		compatible = "dallas,ds1339";
139 		reg = <0x68>;
140 	};
141 };
142 
143 &gpio4 {
144 	pinctrl-names = "default";
145 	pinctrl-0 = <&pinctrl_pmic>;
146 
147 	/*
148 	 * PMIC & temperature sensor IRQ
149 	 * Both do currently not use IRQ
150 	 * potentially dangerous if used on baseboard
151 	 */
152 	pmic-int-hog {
153 		gpio-hog;
154 		gpios = <24 0>;
155 		input;
156 	};
157 };
158 
159 &qspi {
160 	pinctrl-names = "default";
161 	pinctrl-0 = <&pinctrl_qspi>;
162 	status = "okay";
163 
164 	flash0: flash@0 {
165 		#address-cells = <1>;
166 		#size-cells = <1>;
167 		compatible = "jedec,spi-nor";
168 		spi-max-frequency = <33000000>;
169 		spi-rx-bus-width = <4>;
170 		spi-tx-bus-width = <1>;
171 		reg = <0>;
172 	};
173 };
174 
175 /* eMMC */
176 &usdhc2 {
177 	pinctrl-names = "default", "state_100mhz" , "state_200mhz";
178 	pinctrl-0 = <&pinctrl_usdhc2>;
179 	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
180 	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
181 
182 	bus-width = <8>;
183 	disable-wp;
184 	non-removable;
185 	no-sdio;
186 	no-sd;
187 	status = "okay";
188 };
189 
190 &iomuxc {
191 	pinctrl_i2c4: i2c4grp {
192 		fsl,pins = <
193 			MX6UL_PAD_UART2_TX_DATA__I2C4_SCL	0x4001b8b0
194 			MX6UL_PAD_UART2_RX_DATA__I2C4_SDA	0x4001b8b0
195 		>;
196 	};
197 
198 	pinctrl_i2c4_recovery: i2c4recoverygrp {
199 		fsl,pins = <
200 			MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20	0x4001b8b0
201 			MX6UL_PAD_UART2_RX_DATA__GPIO1_IO21	0x4001b8b0
202 		>;
203 	};
204 
205 	pinctrl_pmic: pmicgrp {
206 		fsl,pins = <
207 			/* PMIC irq */
208 			MX6UL_PAD_CSI_DATA03__GPIO4_IO24	0x1b099
209 		>;
210 	};
211 };
212