1*db05490dSBence Csókás// SPDX-License-Identifier: (GPL-2.0-only OR MIT) 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de> 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring/dts-v1/; 7724ba675SRob Herring#include "imx53-tx53.dtsi" 8724ba675SRob Herring#include <dt-bindings/input/input.h> 9724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 10724ba675SRob Herring#include <dt-bindings/pwm/pwm.h> 11724ba675SRob Herring 12724ba675SRob Herring/ { 13724ba675SRob Herring model = "Ka-Ro electronics TX53 module (LCD)"; 14724ba675SRob Herring compatible = "karo,tx53", "fsl,imx53"; 15724ba675SRob Herring 16724ba675SRob Herring aliases { 17724ba675SRob Herring display = &display; 18724ba675SRob Herring }; 19724ba675SRob Herring 20724ba675SRob Herring display: disp0 { 21724ba675SRob Herring compatible = "fsl,imx-parallel-display"; 22724ba675SRob Herring interface-pix-fmt = "rgb24"; 23724ba675SRob Herring pinctrl-names = "default"; 24724ba675SRob Herring pinctrl-0 = <&pinctrl_rgb24_vga1>; 25724ba675SRob Herring status = "okay"; 26724ba675SRob Herring 27724ba675SRob Herring port { 28724ba675SRob Herring display0_in: endpoint { 29724ba675SRob Herring remote-endpoint = <&ipu_di0_disp0>; 30724ba675SRob Herring }; 31724ba675SRob Herring }; 32724ba675SRob Herring 33724ba675SRob Herring display-timings { 3424583888SKrzysztof Kozlowski timing-vga { 35724ba675SRob Herring clock-frequency = <25200000>; 36724ba675SRob Herring hactive = <640>; 37724ba675SRob Herring vactive = <480>; 38724ba675SRob Herring hback-porch = <48>; 39724ba675SRob Herring hsync-len = <96>; 40724ba675SRob Herring hfront-porch = <16>; 41724ba675SRob Herring vback-porch = <31>; 42724ba675SRob Herring vsync-len = <2>; 43724ba675SRob Herring vfront-porch = <12>; 44724ba675SRob Herring hsync-active = <0>; 45724ba675SRob Herring vsync-active = <0>; 46724ba675SRob Herring de-active = <1>; 47724ba675SRob Herring pixelclk-active = <0>; 48724ba675SRob Herring }; 49724ba675SRob Herring 5024583888SKrzysztof Kozlowski timing-etc570 { 51724ba675SRob Herring clock-frequency = <25200000>; 52724ba675SRob Herring hactive = <640>; 53724ba675SRob Herring vactive = <480>; 54724ba675SRob Herring hback-porch = <114>; 55724ba675SRob Herring hsync-len = <30>; 56724ba675SRob Herring hfront-porch = <16>; 57724ba675SRob Herring vback-porch = <32>; 58724ba675SRob Herring vsync-len = <3>; 59724ba675SRob Herring vfront-porch = <10>; 60724ba675SRob Herring hsync-active = <0>; 61724ba675SRob Herring vsync-active = <0>; 62724ba675SRob Herring de-active = <1>; 63724ba675SRob Herring pixelclk-active = <0>; 64724ba675SRob Herring }; 65724ba675SRob Herring 6624583888SKrzysztof Kozlowski timing-et0350 { 67724ba675SRob Herring clock-frequency = <6413760>; 68724ba675SRob Herring hactive = <320>; 69724ba675SRob Herring vactive = <240>; 70724ba675SRob Herring hback-porch = <34>; 71724ba675SRob Herring hsync-len = <34>; 72724ba675SRob Herring hfront-porch = <20>; 73724ba675SRob Herring vback-porch = <15>; 74724ba675SRob Herring vsync-len = <3>; 75724ba675SRob Herring vfront-porch = <4>; 76724ba675SRob Herring hsync-active = <0>; 77724ba675SRob Herring vsync-active = <0>; 78724ba675SRob Herring de-active = <1>; 79724ba675SRob Herring pixelclk-active = <0>; 80724ba675SRob Herring }; 81724ba675SRob Herring 8224583888SKrzysztof Kozlowski timing-et0430 { 83724ba675SRob Herring clock-frequency = <9009000>; 84724ba675SRob Herring hactive = <480>; 85724ba675SRob Herring vactive = <272>; 86724ba675SRob Herring hback-porch = <2>; 87724ba675SRob Herring hsync-len = <41>; 88724ba675SRob Herring hfront-porch = <2>; 89724ba675SRob Herring vback-porch = <2>; 90724ba675SRob Herring vsync-len = <10>; 91724ba675SRob Herring vfront-porch = <2>; 92724ba675SRob Herring hsync-active = <0>; 93724ba675SRob Herring vsync-active = <0>; 94724ba675SRob Herring de-active = <1>; 95724ba675SRob Herring pixelclk-active = <1>; 96724ba675SRob Herring }; 97724ba675SRob Herring 9824583888SKrzysztof Kozlowski timing-et0500 { 99724ba675SRob Herring clock-frequency = <33264000>; 100724ba675SRob Herring hactive = <800>; 101724ba675SRob Herring vactive = <480>; 102724ba675SRob Herring hback-porch = <88>; 103724ba675SRob Herring hsync-len = <128>; 104724ba675SRob Herring hfront-porch = <40>; 105724ba675SRob Herring vback-porch = <33>; 106724ba675SRob Herring vsync-len = <2>; 107724ba675SRob Herring vfront-porch = <10>; 108724ba675SRob Herring hsync-active = <0>; 109724ba675SRob Herring vsync-active = <0>; 110724ba675SRob Herring de-active = <1>; 111724ba675SRob Herring pixelclk-active = <0>; 112724ba675SRob Herring }; 113724ba675SRob Herring 11424583888SKrzysztof Kozlowski timing-et0700 { /* same as ET0500 */ 115724ba675SRob Herring clock-frequency = <33264000>; 116724ba675SRob Herring hactive = <800>; 117724ba675SRob Herring vactive = <480>; 118724ba675SRob Herring hback-porch = <88>; 119724ba675SRob Herring hsync-len = <128>; 120724ba675SRob Herring hfront-porch = <40>; 121724ba675SRob Herring vback-porch = <33>; 122724ba675SRob Herring vsync-len = <2>; 123724ba675SRob Herring vfront-porch = <10>; 124724ba675SRob Herring hsync-active = <0>; 125724ba675SRob Herring vsync-active = <0>; 126724ba675SRob Herring de-active = <1>; 127724ba675SRob Herring pixelclk-active = <0>; 128724ba675SRob Herring }; 129724ba675SRob Herring 13024583888SKrzysztof Kozlowski timing-etq570 { 131724ba675SRob Herring clock-frequency = <6596040>; 132724ba675SRob Herring hactive = <320>; 133724ba675SRob Herring vactive = <240>; 134724ba675SRob Herring hback-porch = <38>; 135724ba675SRob Herring hsync-len = <30>; 136724ba675SRob Herring hfront-porch = <30>; 137724ba675SRob Herring vback-porch = <16>; 138724ba675SRob Herring vsync-len = <3>; 139724ba675SRob Herring vfront-porch = <4>; 140724ba675SRob Herring hsync-active = <0>; 141724ba675SRob Herring vsync-active = <0>; 142724ba675SRob Herring de-active = <1>; 143724ba675SRob Herring pixelclk-active = <0>; 144724ba675SRob Herring }; 145724ba675SRob Herring }; 146724ba675SRob Herring }; 147724ba675SRob Herring 148724ba675SRob Herring backlight: backlight { 149724ba675SRob Herring compatible = "pwm-backlight"; 150724ba675SRob Herring pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; 151724ba675SRob Herring power-supply = <®_3v3>; 152724ba675SRob Herring brightness-levels = < 153724ba675SRob Herring 0 1 2 3 4 5 6 7 8 9 154724ba675SRob Herring 10 11 12 13 14 15 16 17 18 19 155724ba675SRob Herring 20 21 22 23 24 25 26 27 28 29 156724ba675SRob Herring 30 31 32 33 34 35 36 37 38 39 157724ba675SRob Herring 40 41 42 43 44 45 46 47 48 49 158724ba675SRob Herring 50 51 52 53 54 55 56 57 58 59 159724ba675SRob Herring 60 61 62 63 64 65 66 67 68 69 160724ba675SRob Herring 70 71 72 73 74 75 76 77 78 79 161724ba675SRob Herring 80 81 82 83 84 85 86 87 88 89 162724ba675SRob Herring 90 91 92 93 94 95 96 97 98 99 163724ba675SRob Herring 100 164724ba675SRob Herring >; 165724ba675SRob Herring default-brightness-level = <50>; 166724ba675SRob Herring }; 167724ba675SRob Herring 168724ba675SRob Herring reg_lcd_pwr: regulator-lcd-pwr { 169724ba675SRob Herring compatible = "regulator-fixed"; 170724ba675SRob Herring regulator-name = "LCD POWER"; 171724ba675SRob Herring regulator-min-microvolt = <3300000>; 172724ba675SRob Herring regulator-max-microvolt = <3300000>; 173724ba675SRob Herring gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; 174724ba675SRob Herring enable-active-high; 175724ba675SRob Herring regulator-boot-on; 176724ba675SRob Herring }; 177724ba675SRob Herring 178724ba675SRob Herring reg_lcd_reset: regulator-lcd-reset { 179724ba675SRob Herring compatible = "regulator-fixed"; 180724ba675SRob Herring regulator-name = "LCD RESET"; 181724ba675SRob Herring regulator-min-microvolt = <3300000>; 182724ba675SRob Herring regulator-max-microvolt = <3300000>; 183724ba675SRob Herring gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>; 184724ba675SRob Herring enable-active-high; 185724ba675SRob Herring regulator-boot-on; 186724ba675SRob Herring }; 187724ba675SRob Herring}; 188724ba675SRob Herring 189724ba675SRob Herring&i2c3 { 190724ba675SRob Herring pinctrl-names = "default"; 191724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c3>; 192724ba675SRob Herring status = "okay"; 193724ba675SRob Herring 194724ba675SRob Herring sgtl5000: codec@a { 195724ba675SRob Herring compatible = "fsl,sgtl5000"; 196724ba675SRob Herring reg = <0x0a>; 197724ba675SRob Herring #sound-dai-cells = <0>; 198724ba675SRob Herring VDDA-supply = <®_2v5>; 199724ba675SRob Herring VDDIO-supply = <®_3v3>; 200724ba675SRob Herring clocks = <&mclk>; 201724ba675SRob Herring }; 202724ba675SRob Herring 203724ba675SRob Herring polytouch: edt-ft5x06@38 { 204724ba675SRob Herring compatible = "edt,edt-ft5x06"; 205724ba675SRob Herring reg = <0x38>; 206724ba675SRob Herring pinctrl-names = "default"; 207724ba675SRob Herring pinctrl-0 = <&pinctrl_edt_ft5x06_1>; 208724ba675SRob Herring interrupt-parent = <&gpio6>; 209724ba675SRob Herring interrupts = <15 IRQ_TYPE_EDGE_FALLING>; 210724ba675SRob Herring reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>; 211724ba675SRob Herring wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; 212724ba675SRob Herring wakeup-source; 213724ba675SRob Herring }; 214724ba675SRob Herring 215724ba675SRob Herring touchscreen: tsc2007@48 { 216724ba675SRob Herring compatible = "ti,tsc2007"; 217724ba675SRob Herring reg = <0x48>; 218724ba675SRob Herring pinctrl-names = "default"; 219724ba675SRob Herring pinctrl-0 = <&pinctrl_tsc2007>; 220724ba675SRob Herring interrupt-parent = <&gpio3>; 221724ba675SRob Herring interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 222724ba675SRob Herring gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; 223724ba675SRob Herring ti,x-plate-ohms = <660>; 224724ba675SRob Herring wakeup-source; 225724ba675SRob Herring }; 226724ba675SRob Herring}; 227724ba675SRob Herring 228724ba675SRob Herring&iomuxc { 2299237be3fSMarek Vasut pinctrl_edt_ft5x06_1: edt-ft5x06-1-grp { 230724ba675SRob Herring fsl,pins = < 231724ba675SRob Herring MX53_PAD_NANDF_CS2__GPIO6_15 0x1f0 /* Interrupt */ 232724ba675SRob Herring MX53_PAD_EIM_A16__GPIO2_22 0x04 /* Reset */ 233724ba675SRob Herring MX53_PAD_EIM_A17__GPIO2_21 0x04 /* Wake */ 234724ba675SRob Herring >; 235724ba675SRob Herring }; 236724ba675SRob Herring 237724ba675SRob Herring pinctrl_kpp: kppgrp { 238724ba675SRob Herring fsl,pins = < 239724ba675SRob Herring MX53_PAD_GPIO_9__KPP_COL_6 0x1f4 240724ba675SRob Herring MX53_PAD_GPIO_4__KPP_COL_7 0x1f4 241724ba675SRob Herring MX53_PAD_KEY_COL2__KPP_COL_2 0x1f4 242724ba675SRob Herring MX53_PAD_KEY_COL3__KPP_COL_3 0x1f4 243724ba675SRob Herring MX53_PAD_GPIO_2__KPP_ROW_6 0x1f4 244724ba675SRob Herring MX53_PAD_GPIO_5__KPP_ROW_7 0x1f4 245724ba675SRob Herring MX53_PAD_KEY_ROW2__KPP_ROW_2 0x1f4 246724ba675SRob Herring MX53_PAD_KEY_ROW3__KPP_ROW_3 0x1f4 247724ba675SRob Herring >; 248724ba675SRob Herring }; 249724ba675SRob Herring 2509237be3fSMarek Vasut pinctrl_rgb24_vga1: rgb24-vga1grp { 251724ba675SRob Herring fsl,pins = < 252724ba675SRob Herring MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK 0x5 253724ba675SRob Herring MX53_PAD_DI0_PIN15__IPU_DI0_PIN15 0x5 254724ba675SRob Herring MX53_PAD_DI0_PIN2__IPU_DI0_PIN2 0x5 255724ba675SRob Herring MX53_PAD_DI0_PIN3__IPU_DI0_PIN3 0x5 256724ba675SRob Herring MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0 0x5 257724ba675SRob Herring MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1 0x5 258724ba675SRob Herring MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2 0x5 259724ba675SRob Herring MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3 0x5 260724ba675SRob Herring MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4 0x5 261724ba675SRob Herring MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5 0x5 262724ba675SRob Herring MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6 0x5 263724ba675SRob Herring MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7 0x5 264724ba675SRob Herring MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8 0x5 265724ba675SRob Herring MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9 0x5 266724ba675SRob Herring MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10 0x5 267724ba675SRob Herring MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11 0x5 268724ba675SRob Herring MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12 0x5 269724ba675SRob Herring MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13 0x5 270724ba675SRob Herring MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14 0x5 271724ba675SRob Herring MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15 0x5 272724ba675SRob Herring MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16 0x5 273724ba675SRob Herring MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17 0x5 274724ba675SRob Herring MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18 0x5 275724ba675SRob Herring MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19 0x5 276724ba675SRob Herring MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20 0x5 277724ba675SRob Herring MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21 0x5 278724ba675SRob Herring MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22 0x5 279724ba675SRob Herring MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23 0x5 280724ba675SRob Herring >; 281724ba675SRob Herring }; 282724ba675SRob Herring 283724ba675SRob Herring pinctrl_tsc2007: tsc2007grp { 284724ba675SRob Herring fsl,pins = < 285724ba675SRob Herring MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */ 286724ba675SRob Herring >; 287724ba675SRob Herring }; 288724ba675SRob Herring}; 289724ba675SRob Herring 290724ba675SRob Herring&ipu_di0_disp0 { 291724ba675SRob Herring remote-endpoint = <&display0_in>; 292724ba675SRob Herring}; 293724ba675SRob Herring 294724ba675SRob Herring&kpp { 295724ba675SRob Herring pinctrl-names = "default"; 296724ba675SRob Herring pinctrl-0 = <&pinctrl_kpp>; 297724ba675SRob Herring /* sample keymap */ 298724ba675SRob Herring /* row/col 0,1 are mapped to KPP row/col 6,7 */ 299724ba675SRob Herring linux,keymap = < 300724ba675SRob Herring MATRIX_KEY(6, 6, KEY_POWER) 301724ba675SRob Herring MATRIX_KEY(6, 7, KEY_KP0) 302724ba675SRob Herring MATRIX_KEY(6, 2, KEY_KP1) 303724ba675SRob Herring MATRIX_KEY(6, 3, KEY_KP2) 304724ba675SRob Herring MATRIX_KEY(7, 6, KEY_KP3) 305724ba675SRob Herring MATRIX_KEY(7, 7, KEY_KP4) 306724ba675SRob Herring MATRIX_KEY(7, 2, KEY_KP5) 307724ba675SRob Herring MATRIX_KEY(7, 3, KEY_KP6) 308724ba675SRob Herring MATRIX_KEY(2, 6, KEY_KP7) 309724ba675SRob Herring MATRIX_KEY(2, 7, KEY_KP8) 310724ba675SRob Herring MATRIX_KEY(2, 2, KEY_KP9) 311724ba675SRob Herring >; 312724ba675SRob Herring status = "okay"; 313724ba675SRob Herring}; 314