1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright (c) 2016 Protonic Holland 4 */ 5 6/dts-v1/; 7#include "imx6dl.dtsi" 8#include "imx6qdl-prti6q.dtsi" 9#include <dt-bindings/input/input.h> 10#include <dt-bindings/leds/common.h> 11#include <dt-bindings/sound/fsl-imx-audmux.h> 12 13/ { 14 model = "Protonic VT7"; 15 compatible = "prt,prtvt7", "fsl,imx6dl"; 16 17 memory@10000000 { 18 device_type = "memory"; 19 reg = <0x10000000 0x20000000>; 20 }; 21 22 backlight_lcd: backlight-lcd { 23 compatible = "pwm-backlight"; 24 pwms = <&pwm1 0 500000 0>; 25 brightness-levels = <0 20 81 248 1000>; 26 default-brightness-level = <20>; 27 num-interpolated-steps = <21>; 28 power-supply = <®_bl_12v0>; 29 }; 30 31 keys { 32 compatible = "gpio-keys"; 33 autorepeat; 34 35 esc { 36 label = "GPIO Key ESC"; 37 linux,code = <KEY_ESC>; 38 gpios = <&gpio_pca 0 GPIO_ACTIVE_LOW>; 39 }; 40 41 up { 42 label = "GPIO Key UP"; 43 linux,code = <KEY_UP>; 44 gpios = <&gpio_pca 1 GPIO_ACTIVE_LOW>; 45 }; 46 47 down { 48 label = "GPIO Key DOWN"; 49 linux,code = <KEY_DOWN>; 50 gpios = <&gpio_pca 4 GPIO_ACTIVE_LOW>; 51 }; 52 53 enter { 54 label = "GPIO Key Enter"; 55 linux,code = <KEY_ENTER>; 56 gpios = <&gpio_pca 3 GPIO_ACTIVE_LOW>; 57 }; 58 59 cycle { 60 label = "GPIO Key CYCLE"; 61 linux,code = <KEY_CYCLEWINDOWS>; 62 gpios = <&gpio_pca 2 GPIO_ACTIVE_LOW>; 63 }; 64 65 f1 { 66 label = "GPIO Key F1"; 67 linux,code = <KEY_F1>; 68 gpios = <&gpio_pca 14 GPIO_ACTIVE_LOW>; 69 }; 70 71 f2 { 72 label = "GPIO Key F2"; 73 linux,code = <KEY_F2>; 74 gpios = <&gpio_pca 13 GPIO_ACTIVE_LOW>; 75 }; 76 77 f3 { 78 label = "GPIO Key F3"; 79 linux,code = <KEY_F3>; 80 gpios = <&gpio_pca 12 GPIO_ACTIVE_LOW>; 81 }; 82 83 f4 { 84 label = "GPIO Key F4"; 85 linux,code = <KEY_F4>; 86 gpios = <&gpio_pca 11 GPIO_ACTIVE_LOW>; 87 }; 88 89 f5 { 90 label = "GPIO Key F5"; 91 linux,code = <KEY_F5>; 92 gpios = <&gpio_pca 10 GPIO_ACTIVE_LOW>; 93 }; 94 95 f6 { 96 label = "GPIO Key F6"; 97 linux,code = <KEY_F6>; 98 gpios = <&gpio_pca 5 GPIO_ACTIVE_LOW>; 99 }; 100 101 f7 { 102 label = "GPIO Key F7"; 103 linux,code = <KEY_F7>; 104 gpios = <&gpio_pca 6 GPIO_ACTIVE_LOW>; 105 }; 106 107 f8 { 108 label = "GPIO Key F8"; 109 linux,code = <KEY_F8>; 110 gpios = <&gpio_pca 7 GPIO_ACTIVE_LOW>; 111 }; 112 113 f9 { 114 label = "GPIO Key F9"; 115 linux,code = <KEY_F9>; 116 gpios = <&gpio_pca 8 GPIO_ACTIVE_LOW>; 117 }; 118 119 f10 { 120 label = "GPIO Key F10"; 121 linux,code = <KEY_F10>; 122 gpios = <&gpio_pca 9 GPIO_ACTIVE_LOW>; 123 }; 124 }; 125 126 leds { 127 compatible = "gpio-leds"; 128 pinctrl-names = "default"; 129 pinctrl-0 = <&pinctrl_leds>; 130 131 led-debug0 { 132 function = LED_FUNCTION_STATUS; 133 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 134 linux,default-trigger = "heartbeat"; 135 }; 136 }; 137 138 reg_bl_12v0: regulator-bl-12v0 { 139 compatible = "regulator-fixed"; 140 pinctrl-names = "default"; 141 pinctrl-0 = <&pinctrl_reg_bl_12v0>; 142 regulator-name = "bl-12v0"; 143 regulator-min-microvolt = <12000000>; 144 regulator-max-microvolt = <12000000>; 145 gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; 146 enable-active-high; 147 }; 148 149 reg_1v8: regulator-1v8 { 150 compatible = "regulator-fixed"; 151 regulator-name = "1v8"; 152 regulator-min-microvolt = <1800000>; 153 regulator-max-microvolt = <1800000>; 154 }; 155 156 sound { 157 compatible = "simple-audio-card"; 158 simple-audio-card,name = "prti6q-sgtl5000"; 159 simple-audio-card,format = "i2s"; 160 simple-audio-card,widgets = 161 "Microphone", "Microphone Jack", 162 "Line", "Line In Jack", 163 "Headphone", "Headphone Jack", 164 "Speaker", "External Speaker"; 165 simple-audio-card,routing = 166 "MIC_IN", "Microphone Jack", 167 "LINE_IN", "Line In Jack", 168 "Headphone Jack", "HP_OUT", 169 "External Speaker", "LINE_OUT"; 170 171 simple-audio-card,cpu { 172 sound-dai = <&ssi1>; 173 system-clock-frequency = <0>; 174 }; 175 176 simple-audio-card,codec { 177 sound-dai = <&sgtl5000>; 178 bitclock-master; 179 frame-master; 180 }; 181 }; 182}; 183 184&audmux { 185 pinctrl-names = "default"; 186 pinctrl-0 = <&pinctrl_audmux>; 187 status = "okay"; 188 189 mux-ssi1 { 190 fsl,audmux-port = <0>; 191 fsl,port-config = < 192 IMX_AUDMUX_V2_PTCR_SYN 0 193 IMX_AUDMUX_V2_PTCR_TFSEL(2) 0 194 IMX_AUDMUX_V2_PTCR_TCSEL(2) 0 195 IMX_AUDMUX_V2_PTCR_TFSDIR 0 196 IMX_AUDMUX_V2_PTCR_TCLKDIR IMX_AUDMUX_V2_PDCR_RXDSEL(2) 197 >; 198 }; 199 200 mux-pins3 { 201 fsl,audmux-port = <2>; 202 fsl,port-config = < 203 IMX_AUDMUX_V2_PTCR_SYN IMX_AUDMUX_V2_PDCR_RXDSEL(0) 204 0 IMX_AUDMUX_V2_PDCR_TXRXEN 205 >; 206 }; 207}; 208 209&can1 { 210 pinctrl-0 = <&pinctrl_can1 &pinctrl_can1phy>; 211}; 212 213&clks { 214 assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>; 215 assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>; 216}; 217 218&ecspi2 { 219 cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>; 220 pinctrl-names = "default"; 221 pinctrl-0 = <&pinctrl_ecspi2>; 222 status = "okay"; 223 224 touchscreen@0 { 225 compatible = "ti,tsc2046"; 226 reg = <0>; 227 pinctrl-0 = <&pinctrl_tsc>; 228 pinctrl-names ="default"; 229 spi-max-frequency = <100000>; 230 interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>; 231 pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; 232 touchscreen-max-pressure = <4095>; 233 ti,vref-delay-usecs = /bits/ 16 <100>; 234 ti,x-plate-ohms = /bits/ 16 <800>; 235 ti,y-plate-ohms = /bits/ 16 <300>; 236 ti,debounce-max = /bits/ 16 <3>; 237 ti,debounce-tol = /bits/ 16 <70>; 238 ti,debounce-rep = /bits/ 16 <3>; 239 wakeup-source; 240 }; 241}; 242 243&i2c1 { 244 sgtl5000: audio-codec@a { 245 compatible = "fsl,sgtl5000"; 246 reg = <0xa>; 247 pinctrl-names = "default"; 248 pinctrl-0 = <&pinctrl_codec>; 249 #sound-dai-cells = <0>; 250 clocks = <&clks 201>; 251 VDDA-supply = <®_3v3>; 252 VDDIO-supply = <®_3v3>; 253 VDDD-supply = <®_1v8>; 254 }; 255}; 256 257&i2c3 { 258 rtc@51 { 259 compatible = "nxp,pcf8563"; 260 reg = <0x51>; 261 }; 262 263 gpio_pca: gpio@74 { 264 compatible = "nxp,pca9539"; 265 reg = <0x74>; 266 interrupts-extended = <&gpio4 5 IRQ_TYPE_LEVEL_LOW>; 267 #gpio-cells = <2>; 268 gpio-controller; 269 }; 270}; 271 272&ipu1 { 273 pinctrl-names = "default"; 274 pinctrl-0 = <&pinctrl_ipu1_csi0>; 275 status = "okay"; 276}; 277 278&pwm1 { 279 pinctrl-names = "default"; 280 pinctrl-0 = <&pinctrl_pwm1>; 281 status = "okay"; 282}; 283 284&snvs_poweroff { 285 status = "okay"; 286}; 287 288&snvs_pwrkey { 289 status = "okay"; 290}; 291 292&ssi1 { 293 status = "okay"; 294}; 295 296&usbh1 { 297 status = "disabled"; 298}; 299 300&iomuxc { 301 pinctrl_audmux: audmuxgrp { 302 fsl,pins = < 303 MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1 0x030b0 304 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 305 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 306 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 307 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 308 >; 309 }; 310 311 pinctrl_can1phy: can1phy { 312 fsl,pins = < 313 /* CAN1_SR */ 314 MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x13070 315 /* CAN1_TERM */ 316 MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0 317 >; 318 }; 319 320 pinctrl_codec: codecgrp { 321 fsl,pins = < 322 /* AUDIO_nRESET */ 323 MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x1f0b0 324 >; 325 }; 326 327 pinctrl_ecspi2: ecspi2grp { 328 fsl,pins = < 329 MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 330 MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 331 MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 332 MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 333 >; 334 }; 335 336 pinctrl_ipu1_csi0: ipu1csi0grp { 337 fsl,pins = < 338 MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12 0x1b0b0 339 MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13 0x1b0b0 340 MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14 0x1b0b0 341 MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15 0x1b0b0 342 MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16 0x1b0b0 343 MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17 0x1b0b0 344 MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18 0x1b0b0 345 MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19 0x1b0b0 346 MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK 0x1b0b0 347 /* ITU656_nRESET */ 348 MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0 349 /* ITU656_nPDN */ 350 MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x1b0b0 351 >; 352 }; 353 354 pinctrl_ipu1_disp: ipudisp1grp { 355 fsl,pins = < 356 MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0xb0 357 MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0xb0 358 359 MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0xb0 360 MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0xb0 361 MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0xb0 362 MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0xb0 363 MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0xb0 364 MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0xb0 365 MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0xb0 366 MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0xb0 367 368 MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0xb0 369 MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0xb0 370 MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0xb0 371 MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0xb0 372 MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0xb0 373 MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0xb0 374 MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0xb0 375 MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0xb0 376 377 MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0xb0 378 MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0xb0 379 MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0xb0 380 MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0xb0 381 MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0xb0 382 MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0xb0 383 MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0xb0 384 MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0xb0 385 >; 386 }; 387 388 pinctrl_leds: ledsgrp { 389 fsl,pins = < 390 MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x1b0b0 391 >; 392 }; 393 394 pinctrl_pwm1: pwm1grp { 395 fsl,pins = < 396 MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b0 397 >; 398 }; 399 400 pinctrl_reg_bl_12v0: 12blgrp { 401 fsl,pins = < 402 MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0 403 >; 404 }; 405 406 pinctrl_tsc: tscgrp { 407 408 fsl,pins = < 409 MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x1b0b0 410 MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0 411 >; 412 }; 413}; 414