xref: /openbmc/u-boot/arch/arm/dts/imx6qdl-icore.dtsi (revision 5f78786499593592bbd435445bd2d667de90fc5b)
1e88edc7bSJagan Teki/*
2e88edc7bSJagan Teki * Copyright (C) 2016 Amarula Solutions B.V.
3e88edc7bSJagan Teki * Copyright (C) 2016 Engicam S.r.l.
4e88edc7bSJagan Teki *
5e88edc7bSJagan Teki * This file is dual-licensed: you can use it either under the terms
6e88edc7bSJagan Teki * of the GPL or the X11 license, at your option. Note that this dual
7e88edc7bSJagan Teki * licensing only applies to this file, and not this project as a
8e88edc7bSJagan Teki * whole.
9e88edc7bSJagan Teki *
10e88edc7bSJagan Teki *  a) This file is free software; you can redistribute it and/or
11e88edc7bSJagan Teki *     modify it under the terms of the GNU General Public License
12e88edc7bSJagan Teki *     version 2 as published by the Free Software Foundation.
13e88edc7bSJagan Teki *
14e88edc7bSJagan Teki *     This file is distributed in the hope that it will be useful
15e88edc7bSJagan Teki *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16e88edc7bSJagan Teki *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17e88edc7bSJagan Teki *     GNU General Public License for more details.
18e88edc7bSJagan Teki *
19e88edc7bSJagan Teki * Or, alternatively
20e88edc7bSJagan Teki *
21e88edc7bSJagan Teki *  b) Permission is hereby granted, free of charge, to any person
22e88edc7bSJagan Teki *     obtaining a copy of this software and associated documentation
23e88edc7bSJagan Teki *     files (the "Software"), to deal in the Software without
24e88edc7bSJagan Teki *     restriction, including without limitation the rights to use
25e88edc7bSJagan Teki *     copy, modify, merge, publish, distribute, sublicense, and/or
26e88edc7bSJagan Teki *     sell copies of the Software, and to permit persons to whom the
27e88edc7bSJagan Teki *     Software is furnished to do so, subject to the following
28e88edc7bSJagan Teki *     conditions:
29e88edc7bSJagan Teki *
30e88edc7bSJagan Teki *     The above copyright notice and this permission notice shall be
31e88edc7bSJagan Teki *     included in all copies or substantial portions of the Software.
32e88edc7bSJagan Teki *
33e88edc7bSJagan Teki *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
34e88edc7bSJagan Teki *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35e88edc7bSJagan Teki *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36e88edc7bSJagan Teki *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37e88edc7bSJagan Teki *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
38e88edc7bSJagan Teki *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39e88edc7bSJagan Teki *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40e88edc7bSJagan Teki *     OTHER DEALINGS IN THE SOFTWARE.
41e88edc7bSJagan Teki */
42e88edc7bSJagan Teki
43e88edc7bSJagan Teki#include <dt-bindings/gpio/gpio.h>
44e88edc7bSJagan Teki#include <dt-bindings/input/input.h>
45e88edc7bSJagan Teki
46e88edc7bSJagan Teki/ {
47*04c28a78SJagan Teki	aliases {
48*04c28a78SJagan Teki		mmc1 = &usdhc3;
49*04c28a78SJagan Teki	};
50*04c28a78SJagan Teki
51e88edc7bSJagan Teki	memory {
52e88edc7bSJagan Teki		reg = <0x10000000 0x80000000>;
53e88edc7bSJagan Teki	};
54e88edc7bSJagan Teki
55e88edc7bSJagan Teki	reg_3p3v: regulator-3p3v {
56e88edc7bSJagan Teki		compatible = "regulator-fixed";
57e88edc7bSJagan Teki		regulator-name = "3P3V";
58e88edc7bSJagan Teki		regulator-min-microvolt = <3300000>;
59e88edc7bSJagan Teki		regulator-max-microvolt = <3300000>;
60e88edc7bSJagan Teki		regulator-boot-on;
61e88edc7bSJagan Teki		regulator-always-on;
62e88edc7bSJagan Teki	};
63e88edc7bSJagan Teki};
64e88edc7bSJagan Teki
65e88edc7bSJagan Teki&can1 {
66e88edc7bSJagan Teki	pinctrl-names = "default";
67e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_flexcan1>;
68e88edc7bSJagan Teki	xceiver-supply = <&reg_3p3v>;
69e88edc7bSJagan Teki};
70e88edc7bSJagan Teki
71e88edc7bSJagan Teki&can2 {
72e88edc7bSJagan Teki	pinctrl-names = "default";
73e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_flexcan2>;
74e88edc7bSJagan Teki	xceiver-supply = <&reg_3p3v>;
75e88edc7bSJagan Teki};
76e88edc7bSJagan Teki
77e88edc7bSJagan Teki&clks {
78e88edc7bSJagan Teki	assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
79e88edc7bSJagan Teki	assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
80e88edc7bSJagan Teki};
81e88edc7bSJagan Teki
8265613cadSJagan Teki&fec {
8365613cadSJagan Teki	pinctrl-names = "default";
8465613cadSJagan Teki	pinctrl-0 = <&pinctrl_enet>;
8565613cadSJagan Teki	phy-reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
8665613cadSJagan Teki	phy-mode = "rmii";
8765613cadSJagan Teki	status = "okay";
8865613cadSJagan Teki};
8965613cadSJagan Teki
90e88edc7bSJagan Teki&gpmi {
91e88edc7bSJagan Teki	pinctrl-names = "default";
92e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_gpmi_nand>;
93e88edc7bSJagan Teki	nand-on-flash-bbt;
94e88edc7bSJagan Teki	status = "okay";
95e88edc7bSJagan Teki};
96e88edc7bSJagan Teki
97e88edc7bSJagan Teki&i2c1 {
98e88edc7bSJagan Teki	clock-frequency = <100000>;
99e88edc7bSJagan Teki	pinctrl-names = "default";
100e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_i2c1>;
101e88edc7bSJagan Teki	status = "okay";
102e88edc7bSJagan Teki};
103e88edc7bSJagan Teki
104e88edc7bSJagan Teki&i2c2 {
105e88edc7bSJagan Teki	clock-frequency = <100000>;
106e88edc7bSJagan Teki	pinctrl-names = "default";
107e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_i2c2>;
108e88edc7bSJagan Teki	status = "okay";
109e88edc7bSJagan Teki};
110e88edc7bSJagan Teki
111e88edc7bSJagan Teki&i2c3 {
112e88edc7bSJagan Teki	clock-frequency = <100000>;
113e88edc7bSJagan Teki	pinctrl-names = "default";
114e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_i2c3>;
115e88edc7bSJagan Teki	status = "okay";
116e88edc7bSJagan Teki};
117e88edc7bSJagan Teki
118e88edc7bSJagan Teki&uart4 {
119e88edc7bSJagan Teki	pinctrl-names = "default";
120e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_uart4>;
121e88edc7bSJagan Teki	status = "okay";
122e88edc7bSJagan Teki};
123e88edc7bSJagan Teki
124e88edc7bSJagan Teki&usdhc1 {
125e88edc7bSJagan Teki	pinctrl-names = "default";
126e88edc7bSJagan Teki	pinctrl-0 = <&pinctrl_usdhc1>;
127e88edc7bSJagan Teki	cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
128e88edc7bSJagan Teki	no-1-8-v;
129e88edc7bSJagan Teki	status = "okay";
130e88edc7bSJagan Teki};
131e88edc7bSJagan Teki
132*04c28a78SJagan Teki&usdhc3 {
133*04c28a78SJagan Teki	pinctrl-names = "default";
134*04c28a78SJagan Teki	pinctrl-0 = <&pinctrl_usdhc3>;
135*04c28a78SJagan Teki	no-1-8-v;
136*04c28a78SJagan Teki	non-removable;
137*04c28a78SJagan Teki	status = "disabled";
138*04c28a78SJagan Teki};
139*04c28a78SJagan Teki
140e88edc7bSJagan Teki&iomuxc {
14165613cadSJagan Teki	pinctrl_enet: enetgrp {
14265613cadSJagan Teki		fsl,pins = <
14365613cadSJagan Teki			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0
14465613cadSJagan Teki			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x1b0b1
14565613cadSJagan Teki			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x1b0b0
14665613cadSJagan Teki			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0
14765613cadSJagan Teki			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0
14865613cadSJagan Teki			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x1b0b0
14965613cadSJagan Teki			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x1b0b0
15065613cadSJagan Teki			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
15165613cadSJagan Teki			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
15265613cadSJagan Teki			MX6QDL_PAD_ENET_REF_CLK__GPIO1_IO23	0x1b0b0
15365613cadSJagan Teki			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x1b0b0
15465613cadSJagan Teki		>;
15565613cadSJagan Teki	};
15665613cadSJagan Teki
157e88edc7bSJagan Teki	pinctrl_flexcan1: flexcan1grp {
158e88edc7bSJagan Teki		fsl,pins = <
159e88edc7bSJagan Teki			MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b020
160e88edc7bSJagan Teki			MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b020
161e88edc7bSJagan Teki		>;
162e88edc7bSJagan Teki	};
163e88edc7bSJagan Teki
164e88edc7bSJagan Teki	pinctrl_flexcan2: flexcan2grp {
165e88edc7bSJagan Teki		fsl,pins = <
166e88edc7bSJagan Teki			MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b020
167e88edc7bSJagan Teki			MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b020
168e88edc7bSJagan Teki		>;
169e88edc7bSJagan Teki	};
170e88edc7bSJagan Teki
171e88edc7bSJagan Teki	pinctrl_gpmi_nand: gpmi-nand {
172e88edc7bSJagan Teki		fsl,pins = <
173e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_CLE__NAND_CLE     0xb0b1
174e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_ALE__NAND_ALE     0xb0b1
175e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_WP_B__NAND_WP_B   0xb0b1
176e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
177e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_CS0__NAND_CE0_B   0xb0b1
178e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_CS1__NAND_CE1_B   0xb0b1
179e88edc7bSJagan Teki			MX6QDL_PAD_SD4_CMD__NAND_RE_B      0xb0b1
180e88edc7bSJagan Teki			MX6QDL_PAD_SD4_CLK__NAND_WE_B      0xb0b1
181e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D0__NAND_DATA00   0xb0b1
182e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D1__NAND_DATA01   0xb0b1
183e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D2__NAND_DATA02   0xb0b1
184e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D3__NAND_DATA03   0xb0b1
185e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D4__NAND_DATA04   0xb0b1
186e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D5__NAND_DATA05   0xb0b1
187e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D6__NAND_DATA06   0xb0b1
188e88edc7bSJagan Teki			MX6QDL_PAD_NANDF_D7__NAND_DATA07   0xb0b1
189e88edc7bSJagan Teki			MX6QDL_PAD_SD4_DAT0__NAND_DQS      0x00b1
190e88edc7bSJagan Teki		>;
191e88edc7bSJagan Teki	};
192e88edc7bSJagan Teki
193e88edc7bSJagan Teki	pinctrl_i2c1: i2c1grp {
194e88edc7bSJagan Teki		fsl,pins = <
195e88edc7bSJagan Teki			MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
196e88edc7bSJagan Teki			MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
197e88edc7bSJagan Teki		>;
198e88edc7bSJagan Teki	};
199e88edc7bSJagan Teki
200e88edc7bSJagan Teki	pinctrl_i2c2: i2c2grp {
201e88edc7bSJagan Teki		fsl,pins = <
202e88edc7bSJagan Teki			MX6QDL_PAD_EIM_EB2__I2C2_SCL  0x4001b8b1
203e88edc7bSJagan Teki			MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
204e88edc7bSJagan Teki		>;
205e88edc7bSJagan Teki	};
206e88edc7bSJagan Teki
207e88edc7bSJagan Teki	pinctrl_i2c3: i2c3grp {
208e88edc7bSJagan Teki		fsl,pins = <
209e88edc7bSJagan Teki			MX6QDL_PAD_GPIO_5__I2C3_SCL  0x4001b8b1
210e88edc7bSJagan Teki			MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
211e88edc7bSJagan Teki			MX6QDL_PAD_GPIO_0__CCM_CLKO1	0x130b0
212e88edc7bSJagan Teki		>;
213e88edc7bSJagan Teki	};
214e88edc7bSJagan Teki
215e88edc7bSJagan Teki	pinctrl_uart4: uart4grp {
216e88edc7bSJagan Teki		fsl,pins = <
217e88edc7bSJagan Teki			MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
218e88edc7bSJagan Teki			MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
219e88edc7bSJagan Teki		>;
220e88edc7bSJagan Teki	};
221e88edc7bSJagan Teki
222e88edc7bSJagan Teki	pinctrl_usdhc1: usdhc1grp {
223e88edc7bSJagan Teki		fsl,pins = <
224e88edc7bSJagan Teki			MX6QDL_PAD_SD1_CMD__SD1_CMD    0x17070
225e88edc7bSJagan Teki			MX6QDL_PAD_SD1_CLK__SD1_CLK    0x10070
226e88edc7bSJagan Teki			MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17070
227e88edc7bSJagan Teki			MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17070
228e88edc7bSJagan Teki			MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17070
229e88edc7bSJagan Teki			MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070
230e88edc7bSJagan Teki		>;
231e88edc7bSJagan Teki	};
232*04c28a78SJagan Teki
233*04c28a78SJagan Teki	pinctrl_usdhc3: usdhc3grp {
234*04c28a78SJagan Teki		fsl,pins = <
235*04c28a78SJagan Teki			MX6QDL_PAD_SD3_CMD__SD3_CMD    0x17059
236*04c28a78SJagan Teki			MX6QDL_PAD_SD3_CLK__SD3_CLK    0x10059
237*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
238*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
239*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
240*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
241*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
242*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
243*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
244*04c28a78SJagan Teki			MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
245*04c28a78SJagan Teki		>;
246*04c28a78SJagan Teki	};
247e88edc7bSJagan Teki};
248