1724ba675SRob Herring/* 2724ba675SRob Herring * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de> 3724ba675SRob Herring * 4724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms 5724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual 6724ba675SRob Herring * licensing only applies to this file, and not this project as a 7724ba675SRob Herring * whole. 8724ba675SRob Herring * 9724ba675SRob Herring * a) This file is free software; you can redistribute it and/or 10724ba675SRob Herring * modify it under the terms of the GNU General Public License 11724ba675SRob Herring * version 2 as published by the Free Software Foundation. 12724ba675SRob Herring * 13724ba675SRob Herring * This file is distributed in the hope that it will be useful, 14724ba675SRob Herring * but WITHOUT ANY WARRANTY; without even the implied warranty of 15724ba675SRob Herring * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16724ba675SRob Herring * GNU General Public License for more details. 17724ba675SRob Herring * 18724ba675SRob Herring * Or, alternatively, 19724ba675SRob Herring * 20724ba675SRob Herring * b) Permission is hereby granted, free of charge, to any person 21724ba675SRob Herring * obtaining a copy of this software and associated documentation 22724ba675SRob Herring * files (the "Software"), to deal in the Software without 23724ba675SRob Herring * restriction, including without limitation the rights to use, 24724ba675SRob Herring * copy, modify, merge, publish, distribute, sublicense, and/or 25724ba675SRob Herring * sell copies of the Software, and to permit persons to whom the 26724ba675SRob Herring * Software is furnished to do so, subject to the following 27724ba675SRob Herring * conditions: 28724ba675SRob Herring * 29724ba675SRob Herring * The above copyright notice and this permission notice shall be 30724ba675SRob Herring * included in all copies or substantial portions of the Software. 31724ba675SRob Herring * 32724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33724ba675SRob Herring * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34724ba675SRob Herring * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35724ba675SRob Herring * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36724ba675SRob Herring * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37724ba675SRob Herring * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38724ba675SRob Herring * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39724ba675SRob Herring * OTHER DEALINGS IN THE SOFTWARE. 40724ba675SRob Herring */ 41724ba675SRob Herring 42724ba675SRob Herring/dts-v1/; 43724ba675SRob Herring#include "imx53-tx53.dtsi" 44724ba675SRob Herring#include <dt-bindings/input/input.h> 45724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 46724ba675SRob Herring#include <dt-bindings/pwm/pwm.h> 47724ba675SRob Herring 48724ba675SRob Herring/ { 49724ba675SRob Herring model = "Ka-Ro electronics TX53 module (LCD)"; 50724ba675SRob Herring compatible = "karo,tx53", "fsl,imx53"; 51724ba675SRob Herring 52724ba675SRob Herring aliases { 53724ba675SRob Herring display = &display; 54724ba675SRob Herring }; 55724ba675SRob Herring 56724ba675SRob Herring display: disp0 { 57724ba675SRob Herring compatible = "fsl,imx-parallel-display"; 58724ba675SRob Herring interface-pix-fmt = "rgb24"; 59724ba675SRob Herring pinctrl-names = "default"; 60724ba675SRob Herring pinctrl-0 = <&pinctrl_rgb24_vga1>; 61724ba675SRob Herring status = "okay"; 62724ba675SRob Herring 63724ba675SRob Herring port { 64724ba675SRob Herring display0_in: endpoint { 65724ba675SRob Herring remote-endpoint = <&ipu_di0_disp0>; 66724ba675SRob Herring }; 67724ba675SRob Herring }; 68724ba675SRob Herring 69724ba675SRob Herring display-timings { 7024583888SKrzysztof Kozlowski timing-vga { 71724ba675SRob Herring clock-frequency = <25200000>; 72724ba675SRob Herring hactive = <640>; 73724ba675SRob Herring vactive = <480>; 74724ba675SRob Herring hback-porch = <48>; 75724ba675SRob Herring hsync-len = <96>; 76724ba675SRob Herring hfront-porch = <16>; 77724ba675SRob Herring vback-porch = <31>; 78724ba675SRob Herring vsync-len = <2>; 79724ba675SRob Herring vfront-porch = <12>; 80724ba675SRob Herring hsync-active = <0>; 81724ba675SRob Herring vsync-active = <0>; 82724ba675SRob Herring de-active = <1>; 83724ba675SRob Herring pixelclk-active = <0>; 84724ba675SRob Herring }; 85724ba675SRob Herring 8624583888SKrzysztof Kozlowski timing-etc570 { 87724ba675SRob Herring clock-frequency = <25200000>; 88724ba675SRob Herring hactive = <640>; 89724ba675SRob Herring vactive = <480>; 90724ba675SRob Herring hback-porch = <114>; 91724ba675SRob Herring hsync-len = <30>; 92724ba675SRob Herring hfront-porch = <16>; 93724ba675SRob Herring vback-porch = <32>; 94724ba675SRob Herring vsync-len = <3>; 95724ba675SRob Herring vfront-porch = <10>; 96724ba675SRob Herring hsync-active = <0>; 97724ba675SRob Herring vsync-active = <0>; 98724ba675SRob Herring de-active = <1>; 99724ba675SRob Herring pixelclk-active = <0>; 100724ba675SRob Herring }; 101724ba675SRob Herring 10224583888SKrzysztof Kozlowski timing-et0350 { 103724ba675SRob Herring clock-frequency = <6413760>; 104724ba675SRob Herring hactive = <320>; 105724ba675SRob Herring vactive = <240>; 106724ba675SRob Herring hback-porch = <34>; 107724ba675SRob Herring hsync-len = <34>; 108724ba675SRob Herring hfront-porch = <20>; 109724ba675SRob Herring vback-porch = <15>; 110724ba675SRob Herring vsync-len = <3>; 111724ba675SRob Herring vfront-porch = <4>; 112724ba675SRob Herring hsync-active = <0>; 113724ba675SRob Herring vsync-active = <0>; 114724ba675SRob Herring de-active = <1>; 115724ba675SRob Herring pixelclk-active = <0>; 116724ba675SRob Herring }; 117724ba675SRob Herring 11824583888SKrzysztof Kozlowski timing-et0430 { 119724ba675SRob Herring clock-frequency = <9009000>; 120724ba675SRob Herring hactive = <480>; 121724ba675SRob Herring vactive = <272>; 122724ba675SRob Herring hback-porch = <2>; 123724ba675SRob Herring hsync-len = <41>; 124724ba675SRob Herring hfront-porch = <2>; 125724ba675SRob Herring vback-porch = <2>; 126724ba675SRob Herring vsync-len = <10>; 127724ba675SRob Herring vfront-porch = <2>; 128724ba675SRob Herring hsync-active = <0>; 129724ba675SRob Herring vsync-active = <0>; 130724ba675SRob Herring de-active = <1>; 131724ba675SRob Herring pixelclk-active = <1>; 132724ba675SRob Herring }; 133724ba675SRob Herring 13424583888SKrzysztof Kozlowski timing-et0500 { 135724ba675SRob Herring clock-frequency = <33264000>; 136724ba675SRob Herring hactive = <800>; 137724ba675SRob Herring vactive = <480>; 138724ba675SRob Herring hback-porch = <88>; 139724ba675SRob Herring hsync-len = <128>; 140724ba675SRob Herring hfront-porch = <40>; 141724ba675SRob Herring vback-porch = <33>; 142724ba675SRob Herring vsync-len = <2>; 143724ba675SRob Herring vfront-porch = <10>; 144724ba675SRob Herring hsync-active = <0>; 145724ba675SRob Herring vsync-active = <0>; 146724ba675SRob Herring de-active = <1>; 147724ba675SRob Herring pixelclk-active = <0>; 148724ba675SRob Herring }; 149724ba675SRob Herring 15024583888SKrzysztof Kozlowski timing-et0700 { /* same as ET0500 */ 151724ba675SRob Herring clock-frequency = <33264000>; 152724ba675SRob Herring hactive = <800>; 153724ba675SRob Herring vactive = <480>; 154724ba675SRob Herring hback-porch = <88>; 155724ba675SRob Herring hsync-len = <128>; 156724ba675SRob Herring hfront-porch = <40>; 157724ba675SRob Herring vback-porch = <33>; 158724ba675SRob Herring vsync-len = <2>; 159724ba675SRob Herring vfront-porch = <10>; 160724ba675SRob Herring hsync-active = <0>; 161724ba675SRob Herring vsync-active = <0>; 162724ba675SRob Herring de-active = <1>; 163724ba675SRob Herring pixelclk-active = <0>; 164724ba675SRob Herring }; 165724ba675SRob Herring 16624583888SKrzysztof Kozlowski timing-etq570 { 167724ba675SRob Herring clock-frequency = <6596040>; 168724ba675SRob Herring hactive = <320>; 169724ba675SRob Herring vactive = <240>; 170724ba675SRob Herring hback-porch = <38>; 171724ba675SRob Herring hsync-len = <30>; 172724ba675SRob Herring hfront-porch = <30>; 173724ba675SRob Herring vback-porch = <16>; 174724ba675SRob Herring vsync-len = <3>; 175724ba675SRob Herring vfront-porch = <4>; 176724ba675SRob Herring hsync-active = <0>; 177724ba675SRob Herring vsync-active = <0>; 178724ba675SRob Herring de-active = <1>; 179724ba675SRob Herring pixelclk-active = <0>; 180724ba675SRob Herring }; 181724ba675SRob Herring }; 182724ba675SRob Herring }; 183724ba675SRob Herring 184724ba675SRob Herring backlight: backlight { 185724ba675SRob Herring compatible = "pwm-backlight"; 186724ba675SRob Herring pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; 187724ba675SRob Herring power-supply = <®_3v3>; 188724ba675SRob Herring brightness-levels = < 189724ba675SRob Herring 0 1 2 3 4 5 6 7 8 9 190724ba675SRob Herring 10 11 12 13 14 15 16 17 18 19 191724ba675SRob Herring 20 21 22 23 24 25 26 27 28 29 192724ba675SRob Herring 30 31 32 33 34 35 36 37 38 39 193724ba675SRob Herring 40 41 42 43 44 45 46 47 48 49 194724ba675SRob Herring 50 51 52 53 54 55 56 57 58 59 195724ba675SRob Herring 60 61 62 63 64 65 66 67 68 69 196724ba675SRob Herring 70 71 72 73 74 75 76 77 78 79 197724ba675SRob Herring 80 81 82 83 84 85 86 87 88 89 198724ba675SRob Herring 90 91 92 93 94 95 96 97 98 99 199724ba675SRob Herring 100 200724ba675SRob Herring >; 201724ba675SRob Herring default-brightness-level = <50>; 202724ba675SRob Herring }; 203724ba675SRob Herring 204724ba675SRob Herring reg_lcd_pwr: regulator-lcd-pwr { 205724ba675SRob Herring compatible = "regulator-fixed"; 206724ba675SRob Herring regulator-name = "LCD POWER"; 207724ba675SRob Herring regulator-min-microvolt = <3300000>; 208724ba675SRob Herring regulator-max-microvolt = <3300000>; 209724ba675SRob Herring gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; 210724ba675SRob Herring enable-active-high; 211724ba675SRob Herring regulator-boot-on; 212724ba675SRob Herring }; 213724ba675SRob Herring 214724ba675SRob Herring reg_lcd_reset: regulator-lcd-reset { 215724ba675SRob Herring compatible = "regulator-fixed"; 216724ba675SRob Herring regulator-name = "LCD RESET"; 217724ba675SRob Herring regulator-min-microvolt = <3300000>; 218724ba675SRob Herring regulator-max-microvolt = <3300000>; 219724ba675SRob Herring gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>; 220724ba675SRob Herring enable-active-high; 221724ba675SRob Herring regulator-boot-on; 222724ba675SRob Herring }; 223724ba675SRob Herring}; 224724ba675SRob Herring 225724ba675SRob Herring&i2c3 { 226724ba675SRob Herring pinctrl-names = "default"; 227724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c3>; 228724ba675SRob Herring status = "okay"; 229724ba675SRob Herring 230724ba675SRob Herring sgtl5000: codec@a { 231724ba675SRob Herring compatible = "fsl,sgtl5000"; 232724ba675SRob Herring reg = <0x0a>; 233724ba675SRob Herring #sound-dai-cells = <0>; 234724ba675SRob Herring VDDA-supply = <®_2v5>; 235724ba675SRob Herring VDDIO-supply = <®_3v3>; 236724ba675SRob Herring clocks = <&mclk>; 237724ba675SRob Herring }; 238724ba675SRob Herring 239724ba675SRob Herring polytouch: edt-ft5x06@38 { 240724ba675SRob Herring compatible = "edt,edt-ft5x06"; 241724ba675SRob Herring reg = <0x38>; 242724ba675SRob Herring pinctrl-names = "default"; 243724ba675SRob Herring pinctrl-0 = <&pinctrl_edt_ft5x06_1>; 244724ba675SRob Herring interrupt-parent = <&gpio6>; 245724ba675SRob Herring interrupts = <15 IRQ_TYPE_EDGE_FALLING>; 246724ba675SRob Herring reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>; 247724ba675SRob Herring wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; 248724ba675SRob Herring wakeup-source; 249724ba675SRob Herring }; 250724ba675SRob Herring 251724ba675SRob Herring touchscreen: tsc2007@48 { 252724ba675SRob Herring compatible = "ti,tsc2007"; 253724ba675SRob Herring reg = <0x48>; 254724ba675SRob Herring pinctrl-names = "default"; 255724ba675SRob Herring pinctrl-0 = <&pinctrl_tsc2007>; 256724ba675SRob Herring interrupt-parent = <&gpio3>; 257724ba675SRob Herring interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 258724ba675SRob Herring gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; 259724ba675SRob Herring ti,x-plate-ohms = <660>; 260724ba675SRob Herring wakeup-source; 261724ba675SRob Herring }; 262724ba675SRob Herring}; 263724ba675SRob Herring 264724ba675SRob Herring&iomuxc { 265*9237be3fSMarek Vasut pinctrl_edt_ft5x06_1: edt-ft5x06-1-grp { 266724ba675SRob Herring fsl,pins = < 267724ba675SRob Herring MX53_PAD_NANDF_CS2__GPIO6_15 0x1f0 /* Interrupt */ 268724ba675SRob Herring MX53_PAD_EIM_A16__GPIO2_22 0x04 /* Reset */ 269724ba675SRob Herring MX53_PAD_EIM_A17__GPIO2_21 0x04 /* Wake */ 270724ba675SRob Herring >; 271724ba675SRob Herring }; 272724ba675SRob Herring 273724ba675SRob Herring pinctrl_kpp: kppgrp { 274724ba675SRob Herring fsl,pins = < 275724ba675SRob Herring MX53_PAD_GPIO_9__KPP_COL_6 0x1f4 276724ba675SRob Herring MX53_PAD_GPIO_4__KPP_COL_7 0x1f4 277724ba675SRob Herring MX53_PAD_KEY_COL2__KPP_COL_2 0x1f4 278724ba675SRob Herring MX53_PAD_KEY_COL3__KPP_COL_3 0x1f4 279724ba675SRob Herring MX53_PAD_GPIO_2__KPP_ROW_6 0x1f4 280724ba675SRob Herring MX53_PAD_GPIO_5__KPP_ROW_7 0x1f4 281724ba675SRob Herring MX53_PAD_KEY_ROW2__KPP_ROW_2 0x1f4 282724ba675SRob Herring MX53_PAD_KEY_ROW3__KPP_ROW_3 0x1f4 283724ba675SRob Herring >; 284724ba675SRob Herring }; 285724ba675SRob Herring 286*9237be3fSMarek Vasut pinctrl_rgb24_vga1: rgb24-vga1grp { 287724ba675SRob Herring fsl,pins = < 288724ba675SRob Herring MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK 0x5 289724ba675SRob Herring MX53_PAD_DI0_PIN15__IPU_DI0_PIN15 0x5 290724ba675SRob Herring MX53_PAD_DI0_PIN2__IPU_DI0_PIN2 0x5 291724ba675SRob Herring MX53_PAD_DI0_PIN3__IPU_DI0_PIN3 0x5 292724ba675SRob Herring MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0 0x5 293724ba675SRob Herring MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1 0x5 294724ba675SRob Herring MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2 0x5 295724ba675SRob Herring MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3 0x5 296724ba675SRob Herring MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4 0x5 297724ba675SRob Herring MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5 0x5 298724ba675SRob Herring MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6 0x5 299724ba675SRob Herring MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7 0x5 300724ba675SRob Herring MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8 0x5 301724ba675SRob Herring MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9 0x5 302724ba675SRob Herring MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10 0x5 303724ba675SRob Herring MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11 0x5 304724ba675SRob Herring MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12 0x5 305724ba675SRob Herring MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13 0x5 306724ba675SRob Herring MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14 0x5 307724ba675SRob Herring MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15 0x5 308724ba675SRob Herring MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16 0x5 309724ba675SRob Herring MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17 0x5 310724ba675SRob Herring MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18 0x5 311724ba675SRob Herring MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19 0x5 312724ba675SRob Herring MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20 0x5 313724ba675SRob Herring MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21 0x5 314724ba675SRob Herring MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22 0x5 315724ba675SRob Herring MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23 0x5 316724ba675SRob Herring >; 317724ba675SRob Herring }; 318724ba675SRob Herring 319724ba675SRob Herring pinctrl_tsc2007: tsc2007grp { 320724ba675SRob Herring fsl,pins = < 321724ba675SRob Herring MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */ 322724ba675SRob Herring >; 323724ba675SRob Herring }; 324724ba675SRob Herring}; 325724ba675SRob Herring 326724ba675SRob Herring&ipu_di0_disp0 { 327724ba675SRob Herring remote-endpoint = <&display0_in>; 328724ba675SRob Herring}; 329724ba675SRob Herring 330724ba675SRob Herring&kpp { 331724ba675SRob Herring pinctrl-names = "default"; 332724ba675SRob Herring pinctrl-0 = <&pinctrl_kpp>; 333724ba675SRob Herring /* sample keymap */ 334724ba675SRob Herring /* row/col 0,1 are mapped to KPP row/col 6,7 */ 335724ba675SRob Herring linux,keymap = < 336724ba675SRob Herring MATRIX_KEY(6, 6, KEY_POWER) 337724ba675SRob Herring MATRIX_KEY(6, 7, KEY_KP0) 338724ba675SRob Herring MATRIX_KEY(6, 2, KEY_KP1) 339724ba675SRob Herring MATRIX_KEY(6, 3, KEY_KP2) 340724ba675SRob Herring MATRIX_KEY(7, 6, KEY_KP3) 341724ba675SRob Herring MATRIX_KEY(7, 7, KEY_KP4) 342724ba675SRob Herring MATRIX_KEY(7, 2, KEY_KP5) 343724ba675SRob Herring MATRIX_KEY(7, 3, KEY_KP6) 344724ba675SRob Herring MATRIX_KEY(2, 6, KEY_KP7) 345724ba675SRob Herring MATRIX_KEY(2, 7, KEY_KP8) 346724ba675SRob Herring MATRIX_KEY(2, 2, KEY_KP9) 347724ba675SRob Herring >; 348724ba675SRob Herring status = "okay"; 349724ba675SRob Herring}; 350