1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2019-2020 Marek Vasut <marex@denx.de> 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring#include <dt-bindings/input/input.h> 7724ba675SRob Herring#include <dt-bindings/pwm/pwm.h> 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring clk_ext_audio_codec: clock-codec { 11724ba675SRob Herring compatible = "fixed-clock"; 12724ba675SRob Herring #clock-cells = <0>; 13724ba675SRob Herring clock-frequency = <24000000>; 14724ba675SRob Herring }; 15724ba675SRob Herring 16724ba675SRob Herring display_bl: display-bl { 17724ba675SRob Herring compatible = "pwm-backlight"; 18724ba675SRob Herring pwms = <&pwm2 3 500000 PWM_POLARITY_INVERTED>; 19724ba675SRob Herring brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; 20724ba675SRob Herring default-brightness-level = <8>; 21724ba675SRob Herring enable-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>; 22724ba675SRob Herring power-supply = <®_panel_bl>; 23724ba675SRob Herring status = "okay"; 24724ba675SRob Herring }; 25724ba675SRob Herring 26724ba675SRob Herring gpio-keys-polled { 27724ba675SRob Herring compatible = "gpio-keys-polled"; 28724ba675SRob Herring poll-interval = <20>; 29724ba675SRob Herring 30724ba675SRob Herring /* 31724ba675SRob Herring * The EXTi IRQ line 3 is shared with ethernet, 32724ba675SRob Herring * so mark this as polled GPIO key. 33724ba675SRob Herring */ 34724ba675SRob Herring button-0 { 35724ba675SRob Herring label = "TA1-GPIO-A"; 36724ba675SRob Herring linux,code = <KEY_A>; 37724ba675SRob Herring gpios = <&gpiof 3 GPIO_ACTIVE_LOW>; 38724ba675SRob Herring }; 39724ba675SRob Herring 40724ba675SRob Herring /* 41724ba675SRob Herring * The EXTi IRQ line 6 is shared with touchscreen, 42724ba675SRob Herring * so mark this as polled GPIO key. 43724ba675SRob Herring */ 44724ba675SRob Herring button-1 { 45724ba675SRob Herring label = "TA2-GPIO-B"; 46724ba675SRob Herring linux,code = <KEY_B>; 47724ba675SRob Herring gpios = <&gpiod 6 GPIO_ACTIVE_LOW>; 48724ba675SRob Herring }; 49724ba675SRob Herring 50724ba675SRob Herring /* 51724ba675SRob Herring * The EXTi IRQ line 0 is shared with PMIC, 52724ba675SRob Herring * so mark this as polled GPIO key. 53724ba675SRob Herring */ 54724ba675SRob Herring button-2 { 55724ba675SRob Herring label = "TA3-GPIO-C"; 56724ba675SRob Herring linux,code = <KEY_C>; 57724ba675SRob Herring gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; 58724ba675SRob Herring }; 59724ba675SRob Herring }; 60724ba675SRob Herring 61724ba675SRob Herring gpio-keys { 62724ba675SRob Herring compatible = "gpio-keys"; 63724ba675SRob Herring 64724ba675SRob Herring button-3 { 65724ba675SRob Herring label = "TA4-GPIO-D"; 66724ba675SRob Herring linux,code = <KEY_D>; 67724ba675SRob Herring gpios = <&gpiod 12 GPIO_ACTIVE_LOW>; 68724ba675SRob Herring wakeup-source; 69724ba675SRob Herring }; 70724ba675SRob Herring }; 71724ba675SRob Herring 72724ba675SRob Herring led { 73724ba675SRob Herring compatible = "gpio-leds"; 74724ba675SRob Herring 75724ba675SRob Herring led-0 { 76724ba675SRob Herring label = "green:led5"; 77724ba675SRob Herring gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>; 78724ba675SRob Herring default-state = "off"; 79724ba675SRob Herring status = "disabled"; 80724ba675SRob Herring }; 81724ba675SRob Herring 82724ba675SRob Herring led-1 { 83724ba675SRob Herring label = "green:led6"; 84724ba675SRob Herring gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>; 85724ba675SRob Herring default-state = "off"; 86724ba675SRob Herring }; 87724ba675SRob Herring 88724ba675SRob Herring led-2 { 89724ba675SRob Herring label = "green:led7"; 90724ba675SRob Herring gpios = <&gpioi 2 GPIO_ACTIVE_HIGH>; 91724ba675SRob Herring default-state = "off"; 92724ba675SRob Herring }; 93724ba675SRob Herring 94724ba675SRob Herring led-3 { 95724ba675SRob Herring label = "green:led8"; 96724ba675SRob Herring gpios = <&gpioi 3 GPIO_ACTIVE_HIGH>; 97724ba675SRob Herring default-state = "off"; 98724ba675SRob Herring }; 99724ba675SRob Herring }; 100724ba675SRob Herring 101724ba675SRob Herring panel { 102724ba675SRob Herring compatible = "edt,etm0700g0edh6"; 103724ba675SRob Herring backlight = <&display_bl>; 104724ba675SRob Herring power-supply = <®_panel_bl>; 105724ba675SRob Herring 106724ba675SRob Herring port { 107724ba675SRob Herring lcd_panel_in: endpoint { 108724ba675SRob Herring remote-endpoint = <&lcd_display_out>; 109724ba675SRob Herring }; 110724ba675SRob Herring }; 111724ba675SRob Herring }; 112724ba675SRob Herring 113724ba675SRob Herring reg_panel_bl: regulator-panel-bl { 114724ba675SRob Herring compatible = "regulator-fixed"; 115724ba675SRob Herring regulator-name = "panel_backlight"; 116724ba675SRob Herring regulator-min-microvolt = <3300000>; 117724ba675SRob Herring regulator-max-microvolt = <3300000>; 118724ba675SRob Herring vin-supply = <®_panel_supply>; 119724ba675SRob Herring }; 120724ba675SRob Herring 121724ba675SRob Herring reg_panel_supply: regulator-panel-supply { 122724ba675SRob Herring compatible = "regulator-fixed"; 123724ba675SRob Herring regulator-name = "panel_supply"; 124724ba675SRob Herring regulator-min-microvolt = <24000000>; 125724ba675SRob Herring regulator-max-microvolt = <24000000>; 126724ba675SRob Herring }; 127724ba675SRob Herring 128724ba675SRob Herring sound { 129724ba675SRob Herring compatible = "audio-graph-card"; 130724ba675SRob Herring widgets = "Headphone", "Headphone Jack", 131724ba675SRob Herring "Line", "Line In Jack", 132724ba675SRob Herring "Microphone", "Microphone Jack"; 133724ba675SRob Herring routing = "Headphone Jack", "HP_OUT", 134724ba675SRob Herring "LINE_IN", "Line In Jack", 135724ba675SRob Herring "MIC_IN", "Microphone Jack", 136724ba675SRob Herring "Microphone Jack", "Mic Bias"; 137724ba675SRob Herring dais = <&sai2a_port &sai2b_port>; 138724ba675SRob Herring status = "okay"; 139724ba675SRob Herring }; 140724ba675SRob Herring}; 141724ba675SRob Herring 142724ba675SRob Herring&cec { 143724ba675SRob Herring pinctrl-names = "default"; 144724ba675SRob Herring pinctrl-0 = <&cec_pins_a>; 145724ba675SRob Herring status = "okay"; 146724ba675SRob Herring}; 147724ba675SRob Herring 148724ba675SRob Herring&i2c2 { /* Header X22 */ 149724ba675SRob Herring pinctrl-names = "default"; 150724ba675SRob Herring pinctrl-0 = <&i2c2_pins_a>; 151724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 152724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 153724ba675SRob Herring status = "okay"; 154724ba675SRob Herring /* spare dmas for other usage */ 155724ba675SRob Herring /delete-property/dmas; 156724ba675SRob Herring /delete-property/dma-names; 157724ba675SRob Herring status = "okay"; 158724ba675SRob Herring}; 159724ba675SRob Herring 160724ba675SRob Herring&i2c5 { /* Header X21 */ 161724ba675SRob Herring pinctrl-names = "default"; 162724ba675SRob Herring pinctrl-0 = <&i2c5_pins_a>; 163724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 164724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 165724ba675SRob Herring status = "okay"; 166724ba675SRob Herring /* spare dmas for other usage */ 167724ba675SRob Herring /delete-property/dmas; 168724ba675SRob Herring /delete-property/dma-names; 169724ba675SRob Herring 170724ba675SRob Herring sgtl5000: codec@a { 171724ba675SRob Herring compatible = "fsl,sgtl5000"; 172724ba675SRob Herring reg = <0x0a>; 173724ba675SRob Herring #sound-dai-cells = <0>; 174724ba675SRob Herring clocks = <&clk_ext_audio_codec>; 175724ba675SRob Herring VDDA-supply = <&v3v3>; 176724ba675SRob Herring VDDIO-supply = <&vdd>; 177724ba675SRob Herring 178724ba675SRob Herring sgtl5000_port: port { 179724ba675SRob Herring #address-cells = <1>; 180724ba675SRob Herring #size-cells = <0>; 181724ba675SRob Herring 182724ba675SRob Herring sgtl5000_tx_endpoint: endpoint@0 { 183724ba675SRob Herring reg = <0>; 1842ac59e09SMarek Vasut remote-endpoint = <&sai2a_endpoint>; 185724ba675SRob Herring }; 186724ba675SRob Herring 187724ba675SRob Herring sgtl5000_rx_endpoint: endpoint@1 { 188724ba675SRob Herring reg = <1>; 1892ac59e09SMarek Vasut remote-endpoint = <&sai2b_endpoint>; 190724ba675SRob Herring }; 191724ba675SRob Herring }; 192724ba675SRob Herring 193724ba675SRob Herring }; 194724ba675SRob Herring 195724ba675SRob Herring touchscreen@38 { 196724ba675SRob Herring compatible = "edt,edt-ft5406"; 197724ba675SRob Herring reg = <0x38>; 198724ba675SRob Herring interrupt-parent = <&gpioc>; 199724ba675SRob Herring interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */ 200724ba675SRob Herring }; 201724ba675SRob Herring}; 202724ba675SRob Herring 203724ba675SRob Herring<dc { 204724ba675SRob Herring pinctrl-names = "default", "sleep"; 205724ba675SRob Herring pinctrl-0 = <<dc_pins_b>; 206724ba675SRob Herring pinctrl-1 = <<dc_sleep_pins_b>; 207724ba675SRob Herring status = "okay"; 208724ba675SRob Herring 209724ba675SRob Herring port { 210724ba675SRob Herring lcd_display_out: endpoint { 211724ba675SRob Herring remote-endpoint = <&lcd_panel_in>; 212724ba675SRob Herring }; 213724ba675SRob Herring }; 214724ba675SRob Herring}; 215724ba675SRob Herring 216724ba675SRob Herring&sai2 { 217724ba675SRob Herring clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>; 218724ba675SRob Herring clock-names = "pclk", "x8k", "x11k"; 219724ba675SRob Herring pinctrl-names = "default", "sleep"; 220724ba675SRob Herring pinctrl-0 = <&sai2a_pins_b &sai2b_pins_b>; 221724ba675SRob Herring pinctrl-1 = <&sai2a_sleep_pins_b &sai2b_sleep_pins_b>; 222724ba675SRob Herring status = "okay"; 223724ba675SRob Herring 224724ba675SRob Herring sai2a: audio-controller@4400b004 { 225724ba675SRob Herring #clock-cells = <0>; 226724ba675SRob Herring dma-names = "tx"; 227724ba675SRob Herring clocks = <&rcc SAI2_K>; 228724ba675SRob Herring clock-names = "sai_ck"; 229724ba675SRob Herring status = "okay"; 230724ba675SRob Herring 231724ba675SRob Herring sai2a_port: port { 232724ba675SRob Herring sai2a_endpoint: endpoint { 233724ba675SRob Herring remote-endpoint = <&sgtl5000_tx_endpoint>; 234*7d6b8316SMarek Vasut bitclock-master; 235724ba675SRob Herring dai-format = "i2s"; 236724ba675SRob Herring dai-tdm-slot-num = <2>; 237724ba675SRob Herring dai-tdm-slot-width = <16>; 238*7d6b8316SMarek Vasut frame-master; 239*7d6b8316SMarek Vasut mclk-fs = <256>; 240724ba675SRob Herring }; 241724ba675SRob Herring }; 242724ba675SRob Herring }; 243724ba675SRob Herring 244724ba675SRob Herring sai2b: audio-controller@4400b024 { 245724ba675SRob Herring dma-names = "rx"; 246724ba675SRob Herring st,sync = <&sai2a 2>; 247724ba675SRob Herring clocks = <&rcc SAI2_K>, <&sai2a>; 248724ba675SRob Herring clock-names = "sai_ck", "MCLK"; 249724ba675SRob Herring status = "okay"; 250724ba675SRob Herring 251724ba675SRob Herring sai2b_port: port { 252724ba675SRob Herring sai2b_endpoint: endpoint { 253724ba675SRob Herring remote-endpoint = <&sgtl5000_rx_endpoint>; 254*7d6b8316SMarek Vasut bitclock-master; 255724ba675SRob Herring dai-format = "i2s"; 256724ba675SRob Herring dai-tdm-slot-num = <2>; 257724ba675SRob Herring dai-tdm-slot-width = <16>; 258*7d6b8316SMarek Vasut frame-master; 259*7d6b8316SMarek Vasut mclk-fs = <256>; 260724ba675SRob Herring }; 261724ba675SRob Herring }; 262724ba675SRob Herring }; 263724ba675SRob Herring}; 264724ba675SRob Herring 265724ba675SRob Herring&timers2 { 266724ba675SRob Herring /* spare dmas for other usage (un-delete to enable pwm capture) */ 267724ba675SRob Herring /delete-property/dmas; 268724ba675SRob Herring /delete-property/dma-names; 269724ba675SRob Herring status = "okay"; 270724ba675SRob Herring pwm2: pwm { 271724ba675SRob Herring pinctrl-0 = <&pwm2_pins_a>; 272724ba675SRob Herring pinctrl-names = "default"; 273724ba675SRob Herring status = "okay"; 274724ba675SRob Herring }; 275724ba675SRob Herring timer@1 { 276724ba675SRob Herring status = "okay"; 277724ba675SRob Herring }; 278724ba675SRob Herring}; 279724ba675SRob Herring 280724ba675SRob Herring&usart3 { 281724ba675SRob Herring pinctrl-names = "default"; 282724ba675SRob Herring pinctrl-0 = <&usart3_pins_a>; 283724ba675SRob Herring /delete-property/dmas; 284724ba675SRob Herring /delete-property/dma-names; 285724ba675SRob Herring status = "okay"; 286724ba675SRob Herring}; 287724ba675SRob Herring 288724ba675SRob Herring&uart8 { 289724ba675SRob Herring pinctrl-names = "default"; 290724ba675SRob Herring pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>; 291724ba675SRob Herring uart-has-rtscts; 292724ba675SRob Herring /delete-property/dmas; 293724ba675SRob Herring /delete-property/dma-names; 294724ba675SRob Herring status = "okay"; 295724ba675SRob Herring}; 296724ba675SRob Herring 297724ba675SRob Herring&usbh_ehci { 298724ba675SRob Herring status = "okay"; 299724ba675SRob Herring}; 300724ba675SRob Herring 301724ba675SRob Herring&usbotg_hs { 302724ba675SRob Herring dr_mode = "otg"; 303724ba675SRob Herring pinctrl-0 = <&usbotg_hs_pins_a>; 304724ba675SRob Herring pinctrl-names = "default"; 305724ba675SRob Herring phy-names = "usb2-phy"; 306724ba675SRob Herring phys = <&usbphyc_port1 0>; 307724ba675SRob Herring vbus-supply = <&vbus_otg>; 308724ba675SRob Herring status = "okay"; 309724ba675SRob Herring}; 310724ba675SRob Herring 311724ba675SRob Herring&usbphyc { 312724ba675SRob Herring status = "okay"; 313724ba675SRob Herring}; 314724ba675SRob Herring 315724ba675SRob Herring&usbphyc_port0 { 316724ba675SRob Herring phy-supply = <&vdd_usb>; 317724ba675SRob Herring}; 318724ba675SRob Herring 319724ba675SRob Herring&usbphyc_port1 { 320724ba675SRob Herring phy-supply = <&vdd_usb>; 321724ba675SRob Herring}; 322