1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Digi International's ConnectCore 6UL System-On-Module device tree source
4 *
5 * Copyright 2018 Digi International, Inc.
6 *
7 */
8
9/ {
10	memory@80000000 {
11		device_type = "memory";
12		reg = <0x80000000 0>; /* will be filled by U-Boot */
13	};
14
15	reserved-memory {
16		#address-cells = <1>;
17		#size-cells = <1>;
18		ranges;
19
20		linux,cma {
21			compatible = "shared-dma-pool";
22			reusable;
23			size = <0x4000000>;
24			linux,cma-default;
25		};
26	};
27};
28
29&adc1 {
30	vref-supply = <&vdda_adc_3v3>;
31};
32
33&gpmi {
34	pinctrl-names = "default";
35	pinctrl-0 = <&pinctrl_gpmi_nand>;
36	status = "okay";
37};
38
39&i2c1 {
40	clock-frequency = <100000>;
41	pinctrl-names = "default";
42	pinctrl-0 = <&pinctrl_i2c1>;
43	status = "okay";
44
45	pfuze3000: pmic@8 {
46		compatible = "fsl,pfuze3000";
47		reg = <0x08>;
48
49		regulators {
50			int_3v3: sw1a {
51				regulator-min-microvolt = <700000>;
52				regulator-max-microvolt = <3300000>;
53				regulator-ramp-delay = <6250>;
54				regulator-boot-on;
55				regulator-always-on;
56
57				regulator-state-mem {
58					regulator-off-in-suspend;
59				};
60			};
61
62			vdd_arm_soc_in: sw1b {
63				regulator-min-microvolt = <700000>;
64				regulator-max-microvolt = <1475000>;
65				regulator-ramp-delay = <6250>;
66				regulator-boot-on;
67				regulator-always-on;
68
69				regulator-state-mem {
70					regulator-on-in-suspend;
71					regulator-suspend-microvolt = <925000>;
72				};
73			};
74
75			ext_3v3: sw2 {
76				regulator-min-microvolt = <2500000>;
77				regulator-max-microvolt = <3300000>;
78				regulator-ramp-delay = <6250>;
79				regulator-always-on;
80				regulator-boot-on;
81
82				regulator-state-mem {
83					regulator-off-in-suspend;
84				};
85			};
86
87			vcc_ddr3: sw3 {
88				regulator-min-microvolt = <900000>;
89				regulator-max-microvolt = <1650000>;
90				regulator-always-on;
91				regulator-boot-on;
92
93				regulator-state-mem {
94					regulator-on-in-suspend;
95					regulator-suspend-microvolt = <1300000>;
96				};
97			};
98
99			swbst_reg: swbst {
100				regulator-min-microvolt = <5000000>;
101				regulator-max-microvolt = <5150000>;
102			};
103
104			vdd_snvs_3v3: vsnvs {
105				regulator-min-microvolt = <1000000>;
106				regulator-max-microvolt = <3000000>;
107				regulator-boot-on;
108				regulator-always-on;
109			};
110
111			vrefddr: vrefddr {
112				regulator-boot-on;
113				regulator-always-on;
114			};
115
116			vdda_adc_3v3: vldo1 {
117				compatible = "regulator-fixed";
118				regulator-name = "vref-adc-3v3";
119				regulator-min-microvolt = <3300000>;
120				regulator-max-microvolt = <3300000>;
121				regulator-always-on;
122
123				regulator-state-mem {
124					regulator-off-in-suspend;
125				};
126			};
127
128			ldo2_ext: vldo2 {
129				regulator-min-microvolt = <800000>;
130				regulator-max-microvolt = <1550000>;
131			};
132
133			vdda_wlan: vccsd {
134				regulator-min-microvolt = <2850000>;
135				regulator-max-microvolt = <3300000>;
136				regulator-always-on;
137				regulator-boot-on;
138
139				regulator-state-mem {
140					regulator-off-in-suspend;
141				};
142			};
143
144			vdd_high_in: v33 {
145				regulator-min-microvolt = <2850000>;
146				regulator-max-microvolt = <3300000>;
147				regulator-boot-on;
148				regulator-always-on;
149			};
150
151			ldo3_int: vldo3 {
152				regulator-min-microvolt = <1800000>;
153				regulator-max-microvolt = <3300000>;
154			};
155
156			ldo4_ext: vldo4 {
157				regulator-min-microvolt = <1800000>;
158				regulator-max-microvolt = <3300000>;
159			};
160
161			vcoin_chg: coin {
162				regulator-min-microvolt = <2500000>;
163				regulator-max-microvolt = <3300000>;
164			};
165		};
166	};
167};
168
169/* UART1 (Bluetooth) */
170&uart1 {
171	pinctrl-names = "default";
172	pinctrl-0 = <&pinctrl_uart1>;
173	uart-has-rtscts;
174	status = "okay";
175};
176
177/* USDHC1 (Wireless) */
178&usdhc1 {
179	pinctrl-names = "default", "sleep";
180	pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_wifibt_ctrl>;
181	pinctrl-1 = <&pinctrl_usdhc1_sleep &pinctrl_wifibt_ctrl_sleep>;
182	non-removable;
183	no-1-8-v;
184	bus-width = <4>;
185	status = "okay";
186};
187
188&iomuxc {
189	pinctrl_gpmi_nand: gpmigrp {
190		fsl,pins = <
191			MX6UL_PAD_NAND_CE0_B__RAWNAND_CE0_B	0xb0b1
192			MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B	0xb0b1
193			MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B	0xb0b1
194			MX6UL_PAD_NAND_WP_B__RAWNAND_WP_B	0xb0b1
195			MX6UL_PAD_NAND_ALE__RAWNAND_ALE		0xb0b1
196			MX6UL_PAD_NAND_CLE__RAWNAND_CLE		0xb0b1
197			MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00	0xb0b1
198			MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01	0xb0b1
199			MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02	0xb0b1
200			MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03	0xb0b1
201			MX6UL_PAD_NAND_DATA04__RAWNAND_DATA04	0xb0b1
202			MX6UL_PAD_NAND_DATA05__RAWNAND_DATA05	0xb0b1
203			MX6UL_PAD_NAND_DATA06__RAWNAND_DATA06	0xb0b1
204			MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07	0xb0b1
205			MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B	0xb0b1
206		>;
207	};
208
209	pinctrl_i2c1: i2c1grp {
210		fsl,pins = <
211			MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
212			MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
213		>;
214	};
215
216	pinctrl_uart1: uart1grp {
217		fsl,pins = <
218			MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX   0x1b0b1
219			MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX   0x1b0b1
220			MX6UL_PAD_UART1_RTS_B__UART1_DCE_RTS    0x1b0b1
221			MX6UL_PAD_UART1_CTS_B__UART1_DCE_CTS    0x1b0b1
222		>;
223	};
224
225	pinctrl_usdhc1: usdhc1grp {
226		fsl,pins = <
227			MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x17059
228			MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x17051
229			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x17059
230			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x17059
231			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x17059
232			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x17059
233		>;
234	};
235
236	pinctrl_usdhc1_sleep: usdhc1grp-sleep {
237		fsl,pins = <
238			MX6UL_PAD_SD1_CMD__GPIO2_IO16           0x3000
239			MX6UL_PAD_SD1_CLK__GPIO2_IO17           0x3000
240			MX6UL_PAD_SD1_DATA0__GPIO2_IO18         0x3000
241			MX6UL_PAD_SD1_DATA1__GPIO2_IO19         0x3000
242			MX6UL_PAD_SD1_DATA2__GPIO2_IO20         0x3000
243			MX6UL_PAD_SD1_DATA3__GPIO2_IO21         0x3000
244		>;
245	};
246
247	pinctrl_wifibt_ctrl: wifibt-ctrl-grp {
248		fsl,pins = <
249			MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00      0x08a0
250			MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09      0x08a0
251		>;
252	};
253
254	pinctrl_wifibt_ctrl_sleep: wifibt-ctrl-grp-sleep {
255		fsl,pins = <
256			MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00      0x3000
257			MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09      0x3000
258		>;
259	};
260};
261
262&reg_arm {
263	vin-supply = <&vdd_arm_soc_in>;
264	regulator-allow-bypass;
265};
266
267&reg_soc {
268	vin-supply = <&vdd_arm_soc_in>;
269	regulator-allow-bypass;
270};
271