Skip to content

Commit 6df1128

Browse files
openedevShawn Guo
authored andcommitted
ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual initial support
i.CoreM6 Quad/Dual modules are system on module solutions manufactured by Engicam with following characteristics: CPU NXP i.MX6 DQ, 800MHz RAM 1GB, 32, 64 bit, DDR3-800/1066 NAND SLC,512MB Power supply Single 5V MAX LCD RES FULLHD and more info at http://www.engicam.com/en/products/embedded/som/sodimm/i-core-m6s-dl-d-q Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
1 parent a16fe2c commit 6df1128

File tree

3 files changed

+294
-0
lines changed

3 files changed

+294
-0
lines changed

arch/arm/boot/dts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
382382
imx6q-gw553x.dtb \
383383
imx6q-h100.dtb \
384384
imx6q-hummingboard.dtb \
385+
imx6q-icore.dtb \
385386
imx6q-icore-rqs.dtb \
386387
imx6q-marsboard.dtb \
387388
imx6q-nitrogen6x.dtb \

arch/arm/boot/dts/imx6q-icore.dts

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright (C) 2016 Amarula Solutions B.V.
3+
* Copyright (C) 2016 Engicam S.r.l.
4+
*
5+
* This file is dual-licensed: you can use it either under the terms
6+
* of the GPL or the X11 license, at your option. Note that this dual
7+
* licensing only applies to this file, and not this project as a
8+
* whole.
9+
*
10+
* a) This file is free software; you can redistribute it and/or
11+
* modify it under the terms of the GNU General Public License
12+
* version 2 as published by the Free Software Foundation.
13+
*
14+
* This file is distributed in the hope that it will be useful
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU General Public License for more details.
18+
*
19+
* Or, alternatively
20+
*
21+
* b) Permission is hereby granted, free of charge, to any person
22+
* obtaining a copy of this software and associated documentation
23+
* files (the "Software"), to deal in the Software without
24+
* restriction, including without limitation the rights to use
25+
* copy, modify, merge, publish, distribute, sublicense, and/or
26+
* sell copies of the Software, and to permit persons to whom the
27+
* Software is furnished to do so, subject to the following
28+
* conditions:
29+
*
30+
* The above copyright notice and this permission notice shall be
31+
* included in all copies or substantial portions of the Software.
32+
*
33+
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
34+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
38+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40+
* OTHER DEALINGS IN THE SOFTWARE.
41+
*/
42+
43+
/dts-v1/;
44+
45+
#include "imx6q.dtsi"
46+
#include "imx6qdl-icore.dtsi"
47+
48+
/ {
49+
model = "Engicam i.CoreM6 Quad/Dual Starter Kit";
50+
compatible = "engicam,imx6-icore", "fsl,imx6q";
51+
};
52+
53+
&can1 {
54+
status = "okay";
55+
};
56+
57+
&can2 {
58+
status = "okay";
59+
};
Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
/*
2+
* Copyright (C) 2016 Amarula Solutions B.V.
3+
* Copyright (C) 2016 Engicam S.r.l.
4+
*
5+
* This file is dual-licensed: you can use it either under the terms
6+
* of the GPL or the X11 license, at your option. Note that this dual
7+
* licensing only applies to this file, and not this project as a
8+
* whole.
9+
*
10+
* a) This file is free software; you can redistribute it and/or
11+
* modify it under the terms of the GNU General Public License
12+
* version 2 as published by the Free Software Foundation.
13+
*
14+
* This file is distributed in the hope that it will be useful
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU General Public License for more details.
18+
*
19+
* Or, alternatively
20+
*
21+
* b) Permission is hereby granted, free of charge, to any person
22+
* obtaining a copy of this software and associated documentation
23+
* files (the "Software"), to deal in the Software without
24+
* restriction, including without limitation the rights to use
25+
* copy, modify, merge, publish, distribute, sublicense, and/or
26+
* sell copies of the Software, and to permit persons to whom the
27+
* Software is furnished to do so, subject to the following
28+
* conditions:
29+
*
30+
* The above copyright notice and this permission notice shall be
31+
* included in all copies or substantial portions of the Software.
32+
*
33+
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
34+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
38+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40+
* OTHER DEALINGS IN THE SOFTWARE.
41+
*/
42+
43+
#include <dt-bindings/gpio/gpio.h>
44+
#include <dt-bindings/input/input.h>
45+
46+
/ {
47+
memory {
48+
reg = <0x10000000 0x80000000>;
49+
};
50+
51+
reg_3p3v: regulator-3p3v {
52+
compatible = "regulator-fixed";
53+
regulator-name = "3P3V";
54+
regulator-min-microvolt = <3300000>;
55+
regulator-max-microvolt = <3300000>;
56+
regulator-boot-on;
57+
regulator-always-on;
58+
};
59+
60+
reg_usb_h1_vbus: regulator-usb-h1-vbus {
61+
compatible = "regulator-fixed";
62+
regulator-name = "usb_h1_vbus";
63+
regulator-min-microvolt = <5000000>;
64+
regulator-max-microvolt = <5000000>;
65+
regulator-boot-on;
66+
regulator-always-on;
67+
};
68+
69+
reg_usb_otg_vbus: regulator-usb-otg-vbus {
70+
compatible = "regulator-fixed";
71+
regulator-name = "usb_otg_vbus";
72+
regulator-min-microvolt = <5000000>;
73+
regulator-max-microvolt = <5000000>;
74+
regulator-boot-on;
75+
regulator-always-on;
76+
};
77+
};
78+
79+
&can1 {
80+
pinctrl-names = "default";
81+
pinctrl-0 = <&pinctrl_flexcan1>;
82+
xceiver-supply = <&reg_3p3v>;
83+
};
84+
85+
&can2 {
86+
pinctrl-names = "default";
87+
pinctrl-0 = <&pinctrl_flexcan2>;
88+
xceiver-supply = <&reg_3p3v>;
89+
};
90+
91+
&clks {
92+
assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
93+
assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
94+
};
95+
96+
&gpmi {
97+
pinctrl-names = "default";
98+
pinctrl-0 = <&pinctrl_gpmi_nand>;
99+
nand-on-flash-bbt;
100+
status = "okay";
101+
};
102+
103+
&i2c1 {
104+
clock-frequency = <100000>;
105+
pinctrl-names = "default";
106+
pinctrl-0 = <&pinctrl_i2c1>;
107+
status = "okay";
108+
};
109+
110+
&i2c2 {
111+
clock-frequency = <100000>;
112+
pinctrl-names = "default";
113+
pinctrl-0 = <&pinctrl_i2c2>;
114+
status = "okay";
115+
};
116+
117+
&i2c3 {
118+
clock-frequency = <100000>;
119+
pinctrl-names = "default";
120+
pinctrl-0 = <&pinctrl_i2c3>;
121+
status = "okay";
122+
};
123+
124+
&uart4 {
125+
pinctrl-names = "default";
126+
pinctrl-0 = <&pinctrl_uart4>;
127+
status = "okay";
128+
};
129+
130+
&usbh1 {
131+
vbus-supply = <&reg_usb_h1_vbus>;
132+
disable-over-current;
133+
status = "okay";
134+
};
135+
136+
&usbotg {
137+
vbus-supply = <&reg_usb_otg_vbus>;
138+
pinctrl-names = "default";
139+
pinctrl-0 = <&pinctrl_usbotg>;
140+
disable-over-current;
141+
status = "okay";
142+
};
143+
144+
&usdhc1 {
145+
pinctrl-names = "default";
146+
pinctrl-0 = <&pinctrl_usdhc1>;
147+
cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
148+
no-1-8-v;
149+
status = "okay";
150+
};
151+
152+
&iomuxc {
153+
pinctrl_flexcan1: flexcan1grp {
154+
fsl,pins = <
155+
MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b020
156+
MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b020
157+
>;
158+
};
159+
160+
pinctrl_flexcan2: flexcan2grp {
161+
fsl,pins = <
162+
MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b020
163+
MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b020
164+
>;
165+
};
166+
167+
pinctrl_gpmi_nand: gpmi-nand {
168+
fsl,pins = <
169+
MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
170+
MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
171+
MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
172+
MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
173+
MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
174+
MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
175+
MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
176+
MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
177+
MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
178+
MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
179+
MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
180+
MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
181+
MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
182+
MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
183+
MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
184+
MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
185+
MX6QDL_PAD_SD4_DAT0__NAND_DQS 0x00b1
186+
>;
187+
};
188+
189+
pinctrl_i2c1: i2c1grp {
190+
fsl,pins = <
191+
MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
192+
MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
193+
>;
194+
};
195+
196+
pinctrl_i2c2: i2c2grp {
197+
fsl,pins = <
198+
MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
199+
MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
200+
>;
201+
};
202+
203+
pinctrl_i2c3: i2c3grp {
204+
fsl,pins = <
205+
MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
206+
MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
207+
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
208+
>;
209+
};
210+
211+
pinctrl_uart4: uart4grp {
212+
fsl,pins = <
213+
MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
214+
MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
215+
>;
216+
};
217+
218+
pinctrl_usbotg: usbotggrp {
219+
fsl,pins = <
220+
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
221+
>;
222+
};
223+
224+
pinctrl_usdhc1: usdhc1grp {
225+
fsl,pins = <
226+
MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17070
227+
MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10070
228+
MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17070
229+
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17070
230+
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17070
231+
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070
232+
>;
233+
};
234+
};

0 commit comments

Comments
 (0)