| .. | .. |
|---|
| 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 |
|---|