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