1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2013 Sascha Hauer, Pengutronix
4 * Copyright 2013-2017 Markus Niebel <Markus.Niebel@tq-group.com>
5 */
6
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9
10/ {
11	reg_3p3v: regulator-3p3v {
12		compatible = "regulator-fixed";
13		regulator-name = "supply-3p3v";
14		regulator-min-microvolt = <3300000>;
15		regulator-max-microvolt = <3300000>;
16		regulator-always-on;
17	};
18};
19
20&ecspi1 {
21	pinctrl-names = "default";
22	pinctrl-0 = <&pinctrl_ecspi1>;
23	cs-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
24	status = "okay";
25
26	m25p80: flash@0 {
27		compatible = "jedec,spi-nor";
28		spi-max-frequency = <50000000>;
29		reg = <0>;
30		#address-cells = <1>;
31		#size-cells = <1>;
32		m25p,fast-read;
33	};
34};
35
36&iomuxc {
37	pinctrl_ecspi1: ecspi1grp {
38		fsl,pins = <
39			/* HYS, SPEED = MED, 100k up, DSE = 011, SRE_FAST */
40			MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x1b099
41			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0xb099
42			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0xb099
43			 /* eCSPI1 SS1 */
44			MX6QDL_PAD_EIM_D19__GPIO3_IO19 0xb099
45		>;
46	};
47
48	pinctrl_i2c1: i2c1grp {
49		fsl,pins = <
50			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b899
51			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b899
52		>;
53	};
54
55	pinctrl_i2c3: i2c3grp {
56		fsl,pins = <
57			MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b899
58			MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b899
59		>;
60	};
61
62	pinctrl_pmic: pmicgrp {
63		fsl,pins = <
64			MX6QDL_PAD_NANDF_RB0__GPIO6_IO10 0x1b099 /* PMIC irq */
65		>;
66	};
67
68	pinctrl_usdhc3: usdhc3grp {
69		fsl,pins = <
70			MX6QDL_PAD_SD3_CMD__SD3_CMD    0x17059
71			MX6QDL_PAD_SD3_CLK__SD3_CLK    0x10059
72			MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
73			MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
74			MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
75			MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
76			MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
77			MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
78			MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
79			MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
80		>;
81	};
82};
83
84&pmic {
85	pinctrl-names = "default";
86	pinctrl-0 = <&pinctrl_pmic>;
87	interrupt-parent = <&gpio6>;
88	interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
89
90	regulators {
91		reg_vddcore: sw1ab {
92			regulator-min-microvolt = <300000>;
93			regulator-max-microvolt = <1875000>;
94			regulator-always-on;
95		};
96
97		reg_vddsoc: sw1c {
98			regulator-min-microvolt = <300000>;
99			regulator-max-microvolt = <1875000>;
100			regulator-always-on;
101		};
102
103		reg_gen_3v3: sw2 {
104			regulator-min-microvolt = <800000>;
105			regulator-max-microvolt = <3300000>;
106			regulator-always-on;
107		};
108
109		reg_ddr_1v5a: sw3a {
110			regulator-min-microvolt = <400000>;
111			regulator-max-microvolt = <1975000>;
112			regulator-always-on;
113		};
114
115		reg_ddr_1v5b: sw3b {
116			regulator-min-microvolt = <400000>;
117			regulator-max-microvolt = <1975000>;
118			regulator-always-on;
119		};
120
121		sw4_reg: sw4 {
122			regulator-min-microvolt = <800000>;
123			regulator-max-microvolt = <3300000>;
124			regulator-always-on;
125		};
126
127		reg_5v_600mA: swbst {
128			regulator-min-microvolt = <5000000>;
129			regulator-max-microvolt = <5150000>;
130			regulator-always-on;
131		};
132
133		reg_snvs_3v: vsnvs {
134			regulator-min-microvolt = <1500000>;
135			regulator-max-microvolt = <3000000>;
136			regulator-always-on;
137		};
138
139		reg_vrefddr: vrefddr {
140			regulator-boot-on;
141			regulator-always-on;
142		};
143
144		reg_vgen1_1v5: vgen1 {
145			regulator-min-microvolt = <800000>;
146			regulator-max-microvolt = <1550000>;
147			/* not used */
148		};
149
150		reg_vgen2_1v2_eth: vgen2 {
151			regulator-min-microvolt = <800000>;
152			regulator-max-microvolt = <1550000>;
153			regulator-always-on;
154		};
155
156		reg_vgen3_2v8: vgen3 {
157			regulator-min-microvolt = <1800000>;
158			regulator-max-microvolt = <3300000>;
159			regulator-always-on;
160		};
161
162		reg_vgen4_1v8: vgen4 {
163			regulator-min-microvolt = <1800000>;
164			regulator-max-microvolt = <3300000>;
165			regulator-always-on;
166		};
167
168		reg_vgen5_1v8_eth: vgen5 {
169			regulator-min-microvolt = <1800000>;
170			regulator-max-microvolt = <3300000>;
171			regulator-always-on;
172		};
173
174		reg_vgen6_3v3: vgen6 {
175			regulator-min-microvolt = <1800000>;
176			regulator-max-microvolt = <3300000>;
177			regulator-always-on;
178		};
179	};
180};
181
182/* eMMC */
183&usdhc3 {
184	pinctrl-names = "default";
185	pinctrl-0 = <&pinctrl_usdhc3>;
186	vmmc-supply = <&reg_3p3v>;
187	non-removable;
188	disable-wp;
189	no-sd;
190	no-sdio;
191	bus-width = <8>;
192	#address-cells = <1>;
193	#size-cells = <0>;
194	status = "okay";
195
196	mmccard: mmccard@0 {
197		reg = <0>;
198		compatible = "mmc-card";
199		broken-hpi;
200	};
201};
202