.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0+ OR MIT |
---|
1 | 2 | /* |
---|
2 | | - * Copyright 2014-2016 Toradex AG |
---|
| 3 | + * Copyright 2014-2022 Toradex |
---|
3 | 4 | * Copyright 2012 Freescale Semiconductor, Inc. |
---|
4 | 5 | * 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. |
---|
42 | 6 | */ |
---|
43 | 7 | |
---|
44 | 8 | #include <dt-bindings/gpio/gpio.h> |
---|
.. | .. |
---|
130 | 94 | |
---|
131 | 95 | /* Colibri SSP */ |
---|
132 | 96 | &ecspi4 { |
---|
133 | | - cs-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; |
---|
| 97 | + cs-gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; |
---|
134 | 98 | pinctrl-names = "default"; |
---|
135 | 99 | pinctrl-0 = <&pinctrl_ecspi4>; |
---|
136 | 100 | status = "disabled"; |
---|
.. | .. |
---|
140 | 104 | pinctrl-names = "default"; |
---|
141 | 105 | pinctrl-0 = <&pinctrl_enet>; |
---|
142 | 106 | phy-mode = "rmii"; |
---|
| 107 | + phy-handle = <ðphy>; |
---|
143 | 108 | 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 | + }; |
---|
144 | 119 | }; |
---|
145 | 120 | |
---|
146 | 121 | &hdmi { |
---|
.. | .. |
---|
155 | 130 | */ |
---|
156 | 131 | &i2c2 { |
---|
157 | 132 | clock-frequency = <100000>; |
---|
158 | | - pinctrl-names = "default"; |
---|
| 133 | + pinctrl-names = "default", "gpio"; |
---|
159 | 134 | 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)>; |
---|
160 | 138 | status = "okay"; |
---|
161 | 139 | |
---|
162 | 140 | pmic: pfuze100@8 { |
---|
.. | .. |
---|
215 | 193 | regulator-always-on; |
---|
216 | 194 | }; |
---|
217 | 195 | |
---|
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 | + }; |
---|
219 | 206 | |
---|
220 | 207 | vgen4_reg: vgen4 { |
---|
221 | 208 | regulator-min-microvolt = <1800000>; |
---|
.. | .. |
---|
262 | 249 | id = <0>; |
---|
263 | 250 | blocks = <0x5>; |
---|
264 | 251 | 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>; |
---|
265 | 260 | |
---|
266 | 261 | stmpe_touchscreen { |
---|
267 | 262 | compatible = "st,stmpe-ts"; |
---|
268 | | - /* 3.25 MHz ADC clock speed */ |
---|
269 | | - st,adc-freq = <1>; |
---|
270 | 263 | /* 8 sample average control */ |
---|
271 | 264 | st,ave-ctrl = <3>; |
---|
272 | 265 | /* 7 length fractional part in z */ |
---|
.. | .. |
---|
276 | 269 | * current limit value |
---|
277 | 270 | */ |
---|
278 | 271 | 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>; |
---|
285 | 272 | /* 1 ms panel driver settling time */ |
---|
286 | 273 | st,settling = <3>; |
---|
287 | 274 | /* 5 ms touch detect interrupt delay */ |
---|
288 | 275 | 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>; |
---|
289 | 282 | }; |
---|
290 | 283 | }; |
---|
291 | 284 | }; |
---|
.. | .. |
---|
295 | 288 | */ |
---|
296 | 289 | &i2c3 { |
---|
297 | 290 | clock-frequency = <100000>; |
---|
298 | | - pinctrl-names = "default", "recovery"; |
---|
| 291 | + pinctrl-names = "default", "gpio"; |
---|
299 | 292 | 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)>; |
---|
303 | 296 | status = "disabled"; |
---|
304 | 297 | }; |
---|
305 | 298 | |
---|
.. | .. |
---|
319 | 312 | |
---|
320 | 313 | /* Colibri PWM<A> */ |
---|
321 | 314 | &pwm3 { |
---|
| 315 | + #pwm-cells = <2>; |
---|
322 | 316 | pinctrl-names = "default"; |
---|
323 | 317 | pinctrl-0 = <&pinctrl_pwm3>; |
---|
324 | 318 | status = "disabled"; |
---|
.. | .. |
---|
369 | 363 | }; |
---|
370 | 364 | |
---|
371 | 365 | &usbotg { |
---|
372 | | - pinctrl-names = "default"; |
---|
373 | 366 | disable-over-current; |
---|
374 | 367 | dr_mode = "peripheral"; |
---|
375 | 368 | status = "disabled"; |
---|
.. | .. |
---|
409 | 402 | }; |
---|
410 | 403 | |
---|
411 | 404 | &iomuxc { |
---|
| 405 | + pinctrl-names = "default"; |
---|
| 406 | + pinctrl-0 = <&pinctrl_usbh_oc_1>; |
---|
| 407 | + |
---|
412 | 408 | pinctrl_audmux: audmuxgrp { |
---|
413 | 409 | fsl,pins = < |
---|
414 | 410 | MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 |
---|
.. | .. |
---|
492 | 488 | >; |
---|
493 | 489 | }; |
---|
494 | 490 | |
---|
| 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 | + |
---|
495 | 498 | pinctrl_i2c3: i2c3grp { |
---|
496 | 499 | fsl,pins = < |
---|
497 | 500 | MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 |
---|
.. | .. |
---|
499 | 502 | >; |
---|
500 | 503 | }; |
---|
501 | 504 | |
---|
502 | | - pinctrl_i2c3_recovery: i2c3recoverygrp { |
---|
| 505 | + pinctrl_i2c3_gpio: i2c3gpiogrp { |
---|
503 | 506 | fsl,pins = < |
---|
504 | 507 | MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x4001b8b1 |
---|
505 | 508 | MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x4001b8b1 |
---|
.. | .. |
---|
598 | 601 | >; |
---|
599 | 602 | }; |
---|
600 | 603 | |
---|
| 604 | + pinctrl_usbh_oc_1: usbhoc1grp { |
---|
| 605 | + fsl,pins = < |
---|
| 606 | + /* USBH_OC */ |
---|
| 607 | + MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x1b0b0 |
---|
| 608 | + >; |
---|
| 609 | + }; |
---|
| 610 | + |
---|
601 | 611 | pinctrl_spdif: spdifgrp { |
---|
602 | 612 | fsl,pins = < |
---|
603 | 613 | MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x1b0b0 |
---|
.. | .. |
---|
664 | 674 | >; |
---|
665 | 675 | }; |
---|
666 | 676 | |
---|
| 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 | + |
---|
667 | 684 | pinctrl_usdhc1: usdhc1grp { |
---|
668 | 685 | fsl,pins = < |
---|
669 | 686 | MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17071 |
---|