hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/arm/boot/dts/imx6qdl-colibri.dtsi
....@@ -1,44 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
12 /*
2
- * Copyright 2014-2016 Toradex AG
3
+ * Copyright 2014-2022 Toradex
34 * Copyright 2012 Freescale Semiconductor, Inc.
45 * Copyright 2011 Linaro Ltd.
5
- *
6
- * This file is dual-licensed: you can use it either under the terms
7
- * of the GPL or the X11 license, at your option. Note that this dual
8
- * licensing only applies to this file, and not this project as a
9
- * whole.
10
- *
11
- * a) This file is free software; you can redistribute it and/or
12
- * modify it under the terms of the GNU General Public License
13
- * version 2 as published by the Free Software Foundation.
14
- *
15
- * This file is distributed in the hope that it will be useful,
16
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
- * GNU General Public License for more details.
19
- *
20
- * Or, alternatively,
21
- *
22
- * b) Permission is hereby granted, free of charge, to any person
23
- * obtaining a copy of this software and associated documentation
24
- * files (the "Software"), to deal in the Software without
25
- * restriction, including without limitation the rights to use,
26
- * copy, modify, merge, publish, distribute, sublicense, and/or
27
- * sell copies of the Software, and to permit persons to whom the
28
- * Software is furnished to do so, subject to the following
29
- * conditions:
30
- *
31
- * The above copyright notice and this permission notice shall be
32
- * included in all copies or substantial portions of the Software.
33
- *
34
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41
- * OTHER DEALINGS IN THE SOFTWARE.
426 */
437
448 #include <dt-bindings/gpio/gpio.h>
....@@ -130,7 +94,7 @@
13094
13195 /* Colibri SSP */
13296 &ecspi4 {
133
- cs-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;
97
+ cs-gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
13498 pinctrl-names = "default";
13599 pinctrl-0 = <&pinctrl_ecspi4>;
136100 status = "disabled";
....@@ -140,7 +104,18 @@
140104 pinctrl-names = "default";
141105 pinctrl-0 = <&pinctrl_enet>;
142106 phy-mode = "rmii";
107
+ phy-handle = <&ethphy>;
143108 status = "okay";
109
+
110
+ mdio {
111
+ #address-cells = <1>;
112
+ #size-cells = <0>;
113
+
114
+ ethphy: ethernet-phy@0 {
115
+ reg = <0>;
116
+ micrel,led-mode = <0>;
117
+ };
118
+ };
144119 };
145120
146121 &hdmi {
....@@ -155,8 +130,11 @@
155130 */
156131 &i2c2 {
157132 clock-frequency = <100000>;
158
- pinctrl-names = "default";
133
+ pinctrl-names = "default", "gpio";
159134 pinctrl-0 = <&pinctrl_i2c2>;
135
+ pinctrl-1 = <&pinctrl_i2c2_gpio>;
136
+ scl-gpios = <&gpio2 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
137
+ sda-gpios = <&gpio3 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
160138 status = "okay";
161139
162140 pmic: pfuze100@8 {
....@@ -215,7 +193,16 @@
215193 regulator-always-on;
216194 };
217195
218
- /* vgen3: unused */
196
+ /*
197
+ * +V3.3_1.8_SD1 coming off VGEN3 and supplying
198
+ * the i.MX 6 NVCC_SD1.
199
+ */
200
+ vgen3_reg: vgen3 {
201
+ regulator-min-microvolt = <1800000>;
202
+ regulator-max-microvolt = <3300000>;
203
+ regulator-boot-on;
204
+ regulator-always-on;
205
+ };
219206
220207 vgen4_reg: vgen4 {
221208 regulator-min-microvolt = <1800000>;
....@@ -262,11 +249,17 @@
262249 id = <0>;
263250 blocks = <0x5>;
264251 irq-trigger = <0x1>;
252
+ /* 3.25 MHz ADC clock speed */
253
+ st,adc-freq = <1>;
254
+ /* 12-bit ADC */
255
+ st,mod-12b = <1>;
256
+ /* internal ADC reference */
257
+ st,ref-sel = <0>;
258
+ /* ADC converstion time: 80 clocks */
259
+ st,sample-time = <4>;
265260
266261 stmpe_touchscreen {
267262 compatible = "st,stmpe-ts";
268
- /* 3.25 MHz ADC clock speed */
269
- st,adc-freq = <1>;
270263 /* 8 sample average control */
271264 st,ave-ctrl = <3>;
272265 /* 7 length fractional part in z */
....@@ -276,16 +269,16 @@
276269 * current limit value
277270 */
278271 st,i-drive = <1>;
279
- /* 12-bit ADC */
280
- st,mod-12b = <1>;
281
- /* internal ADC reference */
282
- st,ref-sel = <0>;
283
- /* ADC converstion time: 80 clocks */
284
- st,sample-time = <4>;
285272 /* 1 ms panel driver settling time */
286273 st,settling = <3>;
287274 /* 5 ms touch detect interrupt delay */
288275 st,touch-det-delay = <5>;
276
+ };
277
+
278
+ stmpe_adc {
279
+ compatible = "st,stmpe-adc";
280
+ /* forbid to use ADC channels 3-0 (touch) */
281
+ st,norequest-mask = <0x0F>;
289282 };
290283 };
291284 };
....@@ -295,11 +288,11 @@
295288 */
296289 &i2c3 {
297290 clock-frequency = <100000>;
298
- pinctrl-names = "default", "recovery";
291
+ pinctrl-names = "default", "gpio";
299292 pinctrl-0 = <&pinctrl_i2c3>;
300
- pinctrl-1 = <&pinctrl_i2c3_recovery>;
301
- scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
302
- sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
293
+ pinctrl-1 = <&pinctrl_i2c3_gpio>;
294
+ scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
295
+ sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
303296 status = "disabled";
304297 };
305298
....@@ -319,6 +312,7 @@
319312
320313 /* Colibri PWM<A> */
321314 &pwm3 {
315
+ #pwm-cells = <2>;
322316 pinctrl-names = "default";
323317 pinctrl-0 = <&pinctrl_pwm3>;
324318 status = "disabled";
....@@ -369,7 +363,6 @@
369363 };
370364
371365 &usbotg {
372
- pinctrl-names = "default";
373366 disable-over-current;
374367 dr_mode = "peripheral";
375368 status = "disabled";
....@@ -409,6 +402,9 @@
409402 };
410403
411404 &iomuxc {
405
+ pinctrl-names = "default";
406
+ pinctrl-0 = <&pinctrl_usbh_oc_1>;
407
+
412408 pinctrl_audmux: audmuxgrp {
413409 fsl,pins = <
414410 MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
....@@ -492,6 +488,13 @@
492488 >;
493489 };
494490
491
+ pinctrl_i2c2_gpio: i2c2gpiogrp {
492
+ fsl,pins = <
493
+ MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x4001b8b1
494
+ MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x4001b8b1
495
+ >;
496
+ };
497
+
495498 pinctrl_i2c3: i2c3grp {
496499 fsl,pins = <
497500 MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
....@@ -499,7 +502,7 @@
499502 >;
500503 };
501504
502
- pinctrl_i2c3_recovery: i2c3recoverygrp {
505
+ pinctrl_i2c3_gpio: i2c3gpiogrp {
503506 fsl,pins = <
504507 MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x4001b8b1
505508 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x4001b8b1
....@@ -598,6 +601,13 @@
598601 >;
599602 };
600603
604
+ pinctrl_usbh_oc_1: usbhoc1grp {
605
+ fsl,pins = <
606
+ /* USBH_OC */
607
+ MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x1b0b0
608
+ >;
609
+ };
610
+
601611 pinctrl_spdif: spdifgrp {
602612 fsl,pins = <
603613 MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x1b0b0
....@@ -664,6 +674,13 @@
664674 >;
665675 };
666676
677
+ pinctrl_usbc_id_1: usbc_id-1 {
678
+ fsl,pins = <
679
+ /* USBC_ID */
680
+ MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
681
+ >;
682
+ };
683
+
667684 pinctrl_usdhc1: usdhc1grp {
668685 fsl,pins = <
669686 MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17071