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