1// SPDX-License-Identifier: (GPL-2.0) 2/* 3 * support for the imx6 based aristainetos2 boards 4 * parts common to all versions 5 * 6 * Copyright (C) 2019 Heiko Schocher <hs@denx.de> 7 * Copyright (C) 2015 Heiko Schocher <hs@denx.de> 8 * 9 */ 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/clock/imx6qdl-clock.h> 12 13/ { 14 aliases { 15 eeprom0 = &i2c_eeprom0; 16 eeprom1 = &i2c_eeprom1; 17 eeprom2 = &i2c_eeprom2; 18 pmic0 = &i2c_pmic0; 19 }; 20 21 memory@10000000 { 22 device_type = "memory"; 23 reg = <0x10000000 0x40000000>; 24 }; 25 26 backlight: backlight { 27 compatible = "pwm-backlight"; 28 pwms = <&pwm1 0 5000000>; 29 brightness-levels = <0 4 8 16 32 64 128 255>; 30 default-brightness-level = <7>; 31 enable-gpios = <&gpio6 31 GPIO_ACTIVE_HIGH>; 32 }; 33 34 reg_2p5v: regulator-2p5v { 35 compatible = "regulator-fixed"; 36 regulator-name = "2P5V"; 37 regulator-min-microvolt = <2500000>; 38 regulator-max-microvolt = <2500000>; 39 regulator-always-on; 40 }; 41 42 reg_3p3v: regulator-3p3v { 43 compatible = "regulator-fixed"; 44 regulator-name = "3P3V"; 45 regulator-min-microvolt = <3300000>; 46 regulator-max-microvolt = <3300000>; 47 regulator-always-on; 48 }; 49 50 reg_usbh1_vbus: regulator-usbh1-vbus { 51 compatible = "regulator-fixed"; 52 enable-active-high; 53 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 54 pinctrl-names = "default"; 55 pinctrl-0 = <&pinctrl_aristainetos2_usbh1_vbus>; 56 regulator-name = "usb_h1_vbus"; 57 regulator-min-microvolt = <5000000>; 58 regulator-max-microvolt = <5000000>; 59 }; 60 61 reg_usbotg_vbus: regulator-usbotg-vbus { 62 compatible = "regulator-fixed"; 63 enable-active-high; 64 gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>; 65 pinctrl-names = "default"; 66 pinctrl-0 = <&pinctrl_aristainetos2_usbotg_vbus>; 67 regulator-name = "usb_otg_vbus"; 68 regulator-min-microvolt = <5000000>; 69 regulator-max-microvolt = <5000000>; 70 }; 71}; 72 73&audmux { 74 pinctrl-names = "default"; 75 pinctrl-0 = <&pinctrl_audmux>; 76 status = "okay"; 77}; 78 79&ecspi2 { 80 cs-gpios = <&gpio2 26 GPIO_ACTIVE_HIGH &gpio2 27 GPIO_ACTIVE_HIGH>; 81 pinctrl-names = "default"; 82 pinctrl-0 = <&pinctrl_ecspi2>; 83 status = "okay"; 84}; 85 86&i2c1 { 87 pinctrl-names = "default"; 88 pinctrl-0 = <&pinctrl_i2c1>; 89 status = "okay"; 90 91 i2c_pmic0: pmic@58 { 92 compatible = "dlg,da9063"; 93 /* the pmic uses addr 0x58 and 0x59 */ 94 reg = <0x58>; 95 interrupt-parent = <&gpio1>; 96 interrupts = <04 0x8>; 97 98 regulators { 99 bcore1 { 100 regulator-name = "bcore1"; 101 regulator-always-on = <1>; 102 regulator-min-microvolt = <300000>; 103 regulator-max-microvolt = <3300000>; 104 }; 105 106 bcore2 { 107 regulator-name = "bcore2"; 108 regulator-always-on = <1>; 109 regulator-min-microvolt = <300000>; 110 regulator-max-microvolt = <3300000>; 111 }; 112 113 bpro { 114 regulator-name = "bpro"; 115 regulator-always-on = <1>; 116 regulator-min-microvolt = <1200000>; 117 regulator-max-microvolt = <1200000>; 118 }; 119 120 bprob { 121 regulator-name = "bprob"; 122 regulator-always-on = <1>; 123 regulator-min-microvolt = <1200000>; 124 regulator-max-microvolt = <1200000>; 125 }; 126 127 bperi { 128 regulator-name = "bperi"; 129 regulator-always-on = <1>; 130 regulator-min-microvolt = <300000>; 131 regulator-max-microvolt = <3300000>; 132 }; 133 134 bmem { 135 regulator-name = "bmem"; 136 regulator-always-on = <1>; 137 regulator-min-microvolt = <300000>; 138 regulator-max-microvolt = <3300000>; 139 }; 140 141 ldo2 { 142 regulator-name = "ldo2"; 143 regulator-always-on = <1>; 144 regulator-min-microvolt = <300000>; 145 regulator-max-microvolt = <1800000>; 146 }; 147 148 ldo3 { 149 regulator-name = "ldo3"; 150 regulator-always-on = <1>; 151 regulator-min-microvolt = <300000>; 152 regulator-max-microvolt = <3300000>; 153 }; 154 155 ldo4 { 156 regulator-name = "ldo4"; 157 regulator-always-on = <1>; 158 regulator-min-microvolt = <300000>; 159 regulator-max-microvolt = <3300000>; 160 }; 161 162 ldo5 { 163 regulator-name = "ldo5"; 164 regulator-always-on = <1>; 165 regulator-min-microvolt = <300000>; 166 regulator-max-microvolt = <3300000>; 167 }; 168 169 ldo6 { 170 regulator-name = "ldo6"; 171 regulator-always-on = <1>; 172 regulator-min-microvolt = <300000>; 173 regulator-max-microvolt = <3300000>; 174 }; 175 176 ldo7 { 177 regulator-name = "ldo7"; 178 regulator-always-on = <1>; 179 regulator-min-microvolt = <300000>; 180 regulator-max-microvolt = <3300000>; 181 }; 182 183 ldo8 { 184 regulator-name = "ldo8"; 185 regulator-always-on = <1>; 186 regulator-min-microvolt = <300000>; 187 regulator-max-microvolt = <3300000>; 188 }; 189 190 ldo9 { 191 regulator-name = "ldo9"; 192 regulator-always-on = <1>; 193 regulator-min-microvolt = <300000>; 194 regulator-max-microvolt = <3300000>; 195 }; 196 197 ldo10 { 198 regulator-name = "ldo10"; 199 regulator-always-on = <1>; 200 regulator-min-microvolt = <300000>; 201 regulator-max-microvolt = <3300000>; 202 }; 203 204 ldo11 { 205 regulator-name = "ldo11"; 206 regulator-always-on = <1>; 207 regulator-min-microvolt = <300000>; 208 regulator-max-microvolt = <3300000>; 209 }; 210 211 bio { 212 regulator-name = "bio"; 213 regulator-always-on = <1>; 214 regulator-min-microvolt = <1800000>; 215 regulator-max-microvolt = <1800000>; 216 }; 217 }; 218 }; 219 220 tmp103: tmp103@71 { 221 compatible = "ti,tmp103"; 222 reg = <0x71>; 223 }; 224}; 225 226&i2c2 { 227 pinctrl-names = "default"; 228 pinctrl-0 = <&pinctrl_i2c2>; 229 status = "okay"; 230}; 231 232&i2c3 { 233 pinctrl-names = "default"; 234 pinctrl-0 = <&pinctrl_i2c3>; 235 status = "okay"; 236 237 expander: tca6416@20 { 238 compatible = "ti,tca6416"; 239 reg = <0x20>; 240 #gpio-cells = <2>; 241 gpio-controller; 242 243 env_reset { 244 gpio-hog; 245 input; 246 gpios = <6 GPIO_ACTIVE_LOW>; 247 }; 248 boot_rescue { 249 gpio-hog; 250 input; 251 gpios = <7 GPIO_ACTIVE_LOW>; 252 }; 253 }; 254 255 i2c_eeprom2: eeprom@57{ 256 compatible = "atmel,24c64"; 257 reg = <0x57>; 258 pagesize = <32>; 259 }; 260 261 rtc@68 { 262 compatible = "st,m41t11"; 263 reg = <0x68>; 264 }; 265}; 266 267&i2c4 { 268 pinctrl-names = "default"; 269 pinctrl-0 = <&pinctrl_i2c4>; 270 status = "okay"; 271 272 i2c_eeprom0: eeprom@50{ 273 compatible = "atmel,24c64"; 274 reg = <0x50>; 275 pagesize = <32>; 276 }; 277 278 i2c_eeprom1: eeprom@57{ 279 compatible = "atmel,24c64"; 280 reg = <0x57>; 281 pagesize = <32>; 282 }; 283}; 284 285&gpio2 { 286 tpm_pp { 287 gpio-hog; 288 output-low; 289 gpios = <17 GPIO_ACTIVE_HIGH>; 290 }; 291 tpm_reset { 292 gpio-hog; 293 output-high; 294 gpios = <18 GPIO_ACTIVE_HIGH>; 295 }; 296}; 297 298&gpio6 { 299 spi_bus_ena { 300 gpio-hog; 301 output-high; 302 gpios = <6 GPIO_ACTIVE_HIGH>; 303 }; 304}; 305 306&gpio7 { 307 bootsel0 { 308 gpio-hog; 309 input; 310 gpios = <6 GPIO_ACTIVE_HIGH>; 311 }; 312 bootsel1 { 313 gpio-hog; 314 input; 315 gpios = <7 GPIO_ACTIVE_HIGH>; 316 }; 317 bootsel2 { 318 gpio-hog; 319 input; 320 gpios = <1 GPIO_ACTIVE_HIGH>; 321 }; 322 323 soft_reset { 324 gpio-hog; 325 output-high; 326 gpios = <13 GPIO_ACTIVE_HIGH>; 327 }; 328}; 329 330&fec { 331 pinctrl-names = "default"; 332 pinctrl-0 = <&pinctrl_enet>; 333 phy-mode = "rgmii"; 334 txd0-skew-ps = <0>; 335 txd1-skew-ps = <0>; 336 txd2-skew-ps = <0>; 337 txd3-skew-ps = <0>; 338 status = "okay"; 339}; 340 341&pcie { 342 reset-gpio = <&gpio2 16 GPIO_ACTIVE_LOW>; 343 status = "okay"; 344}; 345 346&pwm1 { 347 pinctrl-names = "default"; 348 pinctrl-0 = <&pinctrl_pwm1>; 349 status = "okay"; 350}; 351 352&uart1 { 353 pinctrl-names = "default"; 354 pinctrl-0 = <&pinctrl_uart1>; 355 uart-has-rtscts; 356 status = "okay"; 357}; 358 359&uart2 { 360 pinctrl-names = "default"; 361 pinctrl-0 = <&pinctrl_uart2>; 362 status = "okay"; 363}; 364 365&uart3 { 366 pinctrl-names = "default"; 367 pinctrl-0 = <&pinctrl_uart3>; 368 uart-has-rtscts; 369 status = "okay"; 370}; 371 372&uart4 { 373 pinctrl-names = "default"; 374 pinctrl-0 = <&pinctrl_uart4>; 375 status = "okay"; 376}; 377 378&usbh1 { 379 vbus-supply = <®_usbh1_vbus>; 380 dr_mode = "host"; 381 status = "okay"; 382}; 383 384&usbotg { 385 vbus-supply = <®_usbotg_vbus>; 386 pinctrl-names = "default"; 387 pinctrl-0 = <&pinctrl_usbotg>; 388 disable-over-current; 389 dr_mode = "host"; /* fixed configuration, ID pin not checked */ 390 status = "okay"; 391}; 392 393&iomuxc { 394 pinctrl-names = "default"; 395 pinctrl-0 = <&pinctrl_gpio>; 396 397 pinctrl_audmux: audmux { 398 fsl,pins = < 399 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x1b0b0 400 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x1b0b0 401 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x1b0b0 402 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x1b0b0 403 >; 404 }; 405 406 pinctrl_ecspi2: ecspi2grp { 407 fsl,pins = < 408 MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 409 MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 410 MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 411 MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x100b1 /* SS0# */ 412 MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x100b1 /* SS1# */ 413 >; 414 }; 415 416 pinctrl_enet: enetgrp { 417 fsl,pins = < 418 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 419 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 420 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 421 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 422 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 423 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 424 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 425 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 426 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x400100b0 427 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 428 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 429 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 430 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 431 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 432 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 433 /* make sure pin is GPIO and not ENET_REF_CLK */ 434 MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x1a0b0 435 >; 436 }; 437 438 pinctrl_i2c1: i2c1grp { 439 fsl,pins = < 440 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 441 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1 442 >; 443 }; 444 445 pinctrl_i2c2: i2c2grp { 446 fsl,pins = < 447 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 448 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 449 >; 450 }; 451 452 pinctrl_i2c3: i2c3grp { 453 fsl,pins = < 454 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 455 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 456 >; 457 }; 458 459 pinctrl_i2c4: i2c4grp { 460 fsl,pins = < 461 MX6QDL_PAD_GPIO_7__I2C4_SCL 0x4001b8b1 462 MX6QDL_PAD_GPIO_8__I2C4_SDA 0x4001b8b1 463 >; 464 }; 465 466 pinctrl_pwm1: pwm1grp { 467 fsl,pins = < 468 MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b0 469 /* backlight enable */ 470 MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0x1b0b0 471 >; 472 }; 473 474 pinctrl_uart1: uart1grp { 475 fsl,pins = < 476 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 477 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 478 MX6QDL_PAD_EIM_D20__UART1_RTS_B 0x1b0b1 479 MX6QDL_PAD_EIM_D19__UART1_CTS_B 0x1b0b1 480 >; 481 }; 482 483 pinctrl_uart2: uart2grp { 484 fsl,pins = < 485 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 486 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 487 >; 488 }; 489 490 pinctrl_uart3: uart3grp { 491 fsl,pins = < 492 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 493 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 494 MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1 495 MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1 496 >; 497 }; 498 499 pinctrl_uart4: uart4grp { 500 fsl,pins = < 501 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 502 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 503 >; 504 }; 505 506 pinctrl_aristainetos2_usbh1_vbus: aristainetos-usbh1-vbus { 507 fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x400130b0>; 508 }; 509 510 pinctrl_aristainetos2_usbotg_vbus: aristainetos-usbotg-vbus { 511 fsl,pins = <MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x400130b0>; 512 }; 513}; 514