1a1d8a344SAdam Ford// SPDX-License-Identifier: GPL-2.0 2a1d8a344SAdam Ford/* 3a1d8a344SAdam Ford * Copyright 2020, Compass Electronics Group, LLC 4a1d8a344SAdam Ford */ 5a1d8a344SAdam Ford 6a1d8a344SAdam Ford#include <dt-bindings/gpio/gpio.h> 7a1d8a344SAdam Ford#include <dt-bindings/input/input.h> 8ba6165bcSLukas Bulwahn#include <dt-bindings/clock/versaclock.h> 9a1d8a344SAdam Ford 10a1d8a344SAdam Ford/ { 11a1d8a344SAdam Ford backlight_lvds: backlight-lvds { 12a1d8a344SAdam Ford compatible = "pwm-backlight"; 13a1d8a344SAdam Ford power-supply = <®_lcd>; 14012f3e37SAdam Ford enable-gpios = <&gpio_exp1 3 GPIO_ACTIVE_HIGH>; 15012f3e37SAdam Ford pwms = <&pwm2 0 25000>; 16a1d8a344SAdam Ford brightness-levels = <0 4 8 16 32 64 128 255>; 17a1d8a344SAdam Ford default-brightness-level = <6>; 18a1d8a344SAdam Ford }; 19a1d8a344SAdam Ford 207f1cb157SAdam Ford backlight_dpi: backlight-dpi { 21a1d8a344SAdam Ford compatible = "pwm-backlight"; 22a1d8a344SAdam Ford power-supply = <®_lcd>; 23a1d8a344SAdam Ford enable-gpios = <&gpio_exp1 7 GPIO_ACTIVE_LOW>; 247f1cb157SAdam Ford pwms = <&pwm0 0 25000>; 257f1cb157SAdam Ford brightness-levels = <0 25 33 50 63 75 88 100>; 26a1d8a344SAdam Ford default-brightness-level = <6>; 27a1d8a344SAdam Ford }; 28a1d8a344SAdam Ford 29a1d8a344SAdam Ford hdmi0-out { 30a1d8a344SAdam Ford compatible = "hdmi-connector"; 31a1d8a344SAdam Ford type = "a"; 32a1d8a344SAdam Ford 33a1d8a344SAdam Ford port { 34a1d8a344SAdam Ford hdmi0_con: endpoint { 35a1d8a344SAdam Ford remote-endpoint = <&rcar_dw_hdmi0_out>; 36a1d8a344SAdam Ford }; 37a1d8a344SAdam Ford }; 38a1d8a344SAdam Ford }; 39a1d8a344SAdam Ford 40a1d8a344SAdam Ford keys { 41a1d8a344SAdam Ford compatible = "gpio-keys"; 42a1d8a344SAdam Ford 43e718d563SAdam Ford key-1 { /* S19 */ 44a1d8a344SAdam Ford gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; 45e718d563SAdam Ford linux,code = <KEY_UP>; 46e718d563SAdam Ford label = "Up"; 47a1d8a344SAdam Ford wakeup-source; 48a1d8a344SAdam Ford debounce-interval = <20>; 49a1d8a344SAdam Ford }; 50e718d563SAdam Ford key-2 { /*S20 */ 51a1d8a344SAdam Ford gpios = <&gpio3 13 GPIO_ACTIVE_LOW>; 52e718d563SAdam Ford linux,code = <KEY_LEFT>; 53e718d563SAdam Ford label = "Left"; 54a1d8a344SAdam Ford wakeup-source; 55a1d8a344SAdam Ford debounce-interval = <20>; 56a1d8a344SAdam Ford }; 57e718d563SAdam Ford key-3 { /* S21 */ 58a1d8a344SAdam Ford gpios = <&gpio5 17 GPIO_ACTIVE_LOW>; 59e718d563SAdam Ford linux,code = <KEY_DOWN>; 60e718d563SAdam Ford label = "Down"; 61a1d8a344SAdam Ford wakeup-source; 62a1d8a344SAdam Ford debounce-interval = <20>; 63a1d8a344SAdam Ford }; 64e718d563SAdam Ford key-4 { /* S22 */ 65a1d8a344SAdam Ford gpios = <&gpio5 20 GPIO_ACTIVE_LOW>; 66e718d563SAdam Ford linux,code = <KEY_RIGHT>; 67e718d563SAdam Ford label = "Right"; 68a1d8a344SAdam Ford wakeup-source; 69a1d8a344SAdam Ford debounce-interval = <20>; 70a1d8a344SAdam Ford }; 71e718d563SAdam Ford key-5 { /* S23 */ 72a1d8a344SAdam Ford gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; 73e718d563SAdam Ford linux,code = <KEY_ENTER>; 74e718d563SAdam Ford label = "Center"; 75a1d8a344SAdam Ford wakeup-source; 76a1d8a344SAdam Ford debounce-interval = <20>; 77a1d8a344SAdam Ford }; 78a1d8a344SAdam Ford }; 79a1d8a344SAdam Ford 80a1d8a344SAdam Ford leds { 81a1d8a344SAdam Ford compatible = "gpio-leds"; 82a1d8a344SAdam Ford pinctrl-0 = <&led_pins>; 83a1d8a344SAdam Ford pinctrl-names = "default"; 84a1d8a344SAdam Ford 85a1d8a344SAdam Ford led0 { 86a1d8a344SAdam Ford gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; 87a1d8a344SAdam Ford label = "LED0"; 88a1d8a344SAdam Ford linux,default-trigger = "heartbeat"; 89a1d8a344SAdam Ford }; 90a1d8a344SAdam Ford led1 { 91a1d8a344SAdam Ford gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>; 92a1d8a344SAdam Ford label = "LED1"; 93a1d8a344SAdam Ford }; 94a1d8a344SAdam Ford led2 { 95a1d8a344SAdam Ford gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>; 96a1d8a344SAdam Ford label = "LED2"; 97a1d8a344SAdam Ford }; 98a1d8a344SAdam Ford led3 { 99a1d8a344SAdam Ford gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>; 100a1d8a344SAdam Ford label = "LED3"; 101a1d8a344SAdam Ford }; 102a1d8a344SAdam Ford }; 103a1d8a344SAdam Ford 104a1d8a344SAdam Ford lvds { 105a1d8a344SAdam Ford compatible = "panel-lvds"; 106a1d8a344SAdam Ford power-supply = <®_lcd_reset>; 107a1d8a344SAdam Ford width-mm = <223>; 108a1d8a344SAdam Ford height-mm = <125>; 109a1d8a344SAdam Ford backlight = <&backlight_lvds>; 110a1d8a344SAdam Ford data-mapping = "vesa-24"; 111a1d8a344SAdam Ford 112a1d8a344SAdam Ford panel-timing { 113a1d8a344SAdam Ford /* 800x480@60Hz */ 114a1d8a344SAdam Ford clock-frequency = <30000000>; 115a1d8a344SAdam Ford hactive = <800>; 116a1d8a344SAdam Ford vactive = <480>; 117a1d8a344SAdam Ford hsync-len = <48>; 118a1d8a344SAdam Ford hfront-porch = <40>; 119a1d8a344SAdam Ford hback-porch = <40>; 120a1d8a344SAdam Ford vfront-porch = <13>; 121a1d8a344SAdam Ford vback-porch = <29>; 122012f3e37SAdam Ford vsync-len = <1>; 123a1d8a344SAdam Ford hsync-active = <1>; 124012f3e37SAdam Ford vsync-active = <3>; 125a1d8a344SAdam Ford de-active = <1>; 126a1d8a344SAdam Ford pixelclk-active = <0>; 127a1d8a344SAdam Ford }; 128a1d8a344SAdam Ford 129a1d8a344SAdam Ford port { 130a1d8a344SAdam Ford panel_in: endpoint { 131a1d8a344SAdam Ford remote-endpoint = <&lvds0_out>; 132a1d8a344SAdam Ford }; 133a1d8a344SAdam Ford }; 134a1d8a344SAdam Ford }; 135a1d8a344SAdam Ford 136a1d8a344SAdam Ford rgb { 137a1d8a344SAdam Ford /* Different LCD with compatible timings */ 138a1d8a344SAdam Ford compatible = "rocktech,rk070er9427"; 1397f1cb157SAdam Ford backlight = <&backlight_dpi>; 140a1d8a344SAdam Ford enable-gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; 141a1d8a344SAdam Ford power-supply = <®_lcd>; 142a1d8a344SAdam Ford port { 143a1d8a344SAdam Ford rgb_panel: endpoint { 144a1d8a344SAdam Ford remote-endpoint = <&du_out_rgb>; 145a1d8a344SAdam Ford }; 146a1d8a344SAdam Ford }; 147a1d8a344SAdam Ford }; 148a1d8a344SAdam Ford 1497512af9fSGeert Uytterhoeven reg_audio: regulator-audio { 150a1d8a344SAdam Ford compatible = "regulator-fixed"; 151a1d8a344SAdam Ford regulator-name = "audio-1.8V"; 152a1d8a344SAdam Ford regulator-min-microvolt = <1800000>; 153a1d8a344SAdam Ford regulator-max-microvolt = <1800000>; 1545a5da0b7SAdam Ford gpio = <&gpio_exp4 1 GPIO_ACTIVE_HIGH>; 155a1d8a344SAdam Ford enable-active-high; 156a1d8a344SAdam Ford }; 157a1d8a344SAdam Ford 158a1d8a344SAdam Ford reg_lcd: regulator-lcd { 159a1d8a344SAdam Ford compatible = "regulator-fixed"; 160a1d8a344SAdam Ford regulator-name = "lcd_panel_pwr"; 161a1d8a344SAdam Ford regulator-min-microvolt = <3300000>; 162a1d8a344SAdam Ford regulator-max-microvolt = <3300000>; 163a1d8a344SAdam Ford gpio = <&gpio_exp1 1 GPIO_ACTIVE_HIGH>; 164a1d8a344SAdam Ford enable-active-high; 165a1d8a344SAdam Ford }; 166a1d8a344SAdam Ford 167a1d8a344SAdam Ford reg_lcd_reset: regulator-lcd-reset { 168a1d8a344SAdam Ford compatible = "regulator-fixed"; 169a1d8a344SAdam Ford regulator-name = "nLCD_RESET"; 170a1d8a344SAdam Ford regulator-min-microvolt = <3300000>; 171a1d8a344SAdam Ford regulator-max-microvolt = <3300000>; 172a1d8a344SAdam Ford gpio = <&gpio5 3 GPIO_ACTIVE_HIGH>; 173a1d8a344SAdam Ford enable-active-high; 174a1d8a344SAdam Ford vin-supply = <®_lcd>; 175a1d8a344SAdam Ford }; 176a1d8a344SAdam Ford 1777512af9fSGeert Uytterhoeven reg_cam0: regulator-cam0 { 178a1d8a344SAdam Ford compatible = "regulator-fixed"; 179a1d8a344SAdam Ford regulator-name = "reg_cam0"; 180a1d8a344SAdam Ford regulator-min-microvolt = <1800000>; 181a1d8a344SAdam Ford regulator-max-microvolt = <1800000>; 182a1d8a344SAdam Ford gpio = <&gpio_exp2 2 GPIO_ACTIVE_HIGH>; 183a1d8a344SAdam Ford enable-active-high; 184a1d8a344SAdam Ford }; 185a1d8a344SAdam Ford 1867512af9fSGeert Uytterhoeven reg_cam1: regulator-cam1 { 187a1d8a344SAdam Ford compatible = "regulator-fixed"; 188a1d8a344SAdam Ford regulator-name = "reg_cam1"; 189a1d8a344SAdam Ford regulator-min-microvolt = <1800000>; 190a1d8a344SAdam Ford regulator-max-microvolt = <1800000>; 191a1d8a344SAdam Ford gpio = <&gpio_exp2 5 GPIO_ACTIVE_HIGH>; 192a1d8a344SAdam Ford enable-active-high; 193a1d8a344SAdam Ford startup-delay-us = <100000>; 194a1d8a344SAdam Ford }; 195a1d8a344SAdam Ford 196a1d8a344SAdam Ford sound_card { 197a1d8a344SAdam Ford compatible = "audio-graph-card"; 198a1d8a344SAdam Ford label = "rcar-sound"; 199a1d8a344SAdam Ford dais = <&rsnd_port0>, <&rsnd_port1>; 200ecdd5a21SAdam Ford widgets = "Microphone", "Mic Jack", 201ecdd5a21SAdam Ford "Line", "Line In Jack", 202ecdd5a21SAdam Ford "Headphone", "Headphone Jack"; 203ecdd5a21SAdam Ford mic-det-gpio = <&gpio0 2 GPIO_ACTIVE_LOW>; 204ecdd5a21SAdam Ford routing = "Headphone Jack", "HPOUTL", 205ecdd5a21SAdam Ford "Headphone Jack", "HPOUTR", 206ecdd5a21SAdam Ford "IN3R", "MICBIAS", 207ecdd5a21SAdam Ford "Mic Jack", "IN3R"; 208a1d8a344SAdam Ford }; 209a1d8a344SAdam Ford 210a1d8a344SAdam Ford vccq_sdhi0: regulator-vccq-sdhi0 { 211a1d8a344SAdam Ford compatible = "regulator-gpio"; 212a1d8a344SAdam Ford regulator-name = "SDHI0 VccQ"; 213a1d8a344SAdam Ford regulator-min-microvolt = <1800000>; 214a1d8a344SAdam Ford regulator-max-microvolt = <3300000>; 215a1d8a344SAdam Ford gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>; 216a1d8a344SAdam Ford gpios-states = <1>; 217a1d8a344SAdam Ford states = <3300000 1>, <1800000 0>; 218a1d8a344SAdam Ford }; 219a1d8a344SAdam Ford 220a1d8a344SAdam Ford /* External DU dot clocks */ 221a1d8a344SAdam Ford x302_clk: x302-clock { 222a1d8a344SAdam Ford compatible = "fixed-clock"; 223a1d8a344SAdam Ford #clock-cells = <0>; 224a1d8a344SAdam Ford clock-frequency = <33000000>; 225a1d8a344SAdam Ford }; 226a1d8a344SAdam Ford 227a1d8a344SAdam Ford x304_clk: x304-clock { 228a1d8a344SAdam Ford compatible = "fixed-clock"; 229a1d8a344SAdam Ford #clock-cells = <0>; 230a1d8a344SAdam Ford clock-frequency = <25000000>; 231a1d8a344SAdam Ford }; 232ca8edef1SBiju Das 233ca8edef1SBiju Das connector { 234ca8edef1SBiju Das compatible = "usb-c-connector"; 235ca8edef1SBiju Das label = "USB-C"; 236ca8edef1SBiju Das data-role = "dual"; 237ca8edef1SBiju Das 238ca8edef1SBiju Das ports { 239ca8edef1SBiju Das #address-cells = <1>; 240ca8edef1SBiju Das #size-cells = <0>; 241ca8edef1SBiju Das port@0 { 242ca8edef1SBiju Das reg = <0>; 243ca8edef1SBiju Das hs_ep: endpoint { 244ca8edef1SBiju Das remote-endpoint = <&usb3_hs_ep>; 245ca8edef1SBiju Das }; 246ca8edef1SBiju Das }; 247ca8edef1SBiju Das port@1 { 248ca8edef1SBiju Das reg = <1>; 249ca8edef1SBiju Das ss_ep: endpoint { 250ca8edef1SBiju Das remote-endpoint = <&hd3ss3220_in_ep>; 251ca8edef1SBiju Das }; 252ca8edef1SBiju Das }; 253ca8edef1SBiju Das }; 254ca8edef1SBiju Das }; 255a1d8a344SAdam Ford}; 256a1d8a344SAdam Ford 257a1d8a344SAdam Ford&audio_clk_b { 258a1d8a344SAdam Ford clock-frequency = <22579200>; 259a1d8a344SAdam Ford}; 260a1d8a344SAdam Ford 261a1d8a344SAdam Ford&can0 { 262a1d8a344SAdam Ford pinctrl-0 = <&can0_pins>; 263a1d8a344SAdam Ford pinctrl-names = "default"; 264a1d8a344SAdam Ford renesas,can-clock-select = <0x0>; 265a1d8a344SAdam Ford status = "okay"; 266a1d8a344SAdam Ford}; 267a1d8a344SAdam Ford 268a1d8a344SAdam Ford&can1 { 269a1d8a344SAdam Ford pinctrl-0 = <&can1_pins>; 270a1d8a344SAdam Ford pinctrl-names = "default"; 271a1d8a344SAdam Ford renesas,can-clock-select = <0x0>; 272a1d8a344SAdam Ford status = "okay"; 273a1d8a344SAdam Ford}; 274a1d8a344SAdam Ford 275747bbcd3SLaurent Pinchart&du { 276747bbcd3SLaurent Pinchart ports { 277747bbcd3SLaurent Pinchart port@0 { 278747bbcd3SLaurent Pinchart du_out_rgb: endpoint { 279a1d8a344SAdam Ford remote-endpoint = <&rgb_panel>; 280a1d8a344SAdam Ford }; 281747bbcd3SLaurent Pinchart }; 282747bbcd3SLaurent Pinchart }; 283747bbcd3SLaurent Pinchart}; 284a1d8a344SAdam Ford 285a1d8a344SAdam Ford&ehci0 { 286a1d8a344SAdam Ford dr_mode = "otg"; 287a1d8a344SAdam Ford status = "okay"; 288ebc666f3SAdam Ford clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>, <&usb2_clksel>, <&versaclock5 3>; 289a1d8a344SAdam Ford}; 290a1d8a344SAdam Ford 291a1d8a344SAdam Ford&ehci1 { 292a1d8a344SAdam Ford status = "okay"; 293ebc666f3SAdam Ford clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>, <&usb2_clksel>, <&versaclock5 3>; 294a1d8a344SAdam Ford}; 295a1d8a344SAdam Ford 296a1d8a344SAdam Ford&hdmi0 { 297a1d8a344SAdam Ford status = "okay"; 298a1d8a344SAdam Ford ports { 299a1d8a344SAdam Ford #address-cells = <1>; 300a1d8a344SAdam Ford #size-cells = <0>; 301a1d8a344SAdam Ford port@0 { 302a1d8a344SAdam Ford reg = <0>; 303a1d8a344SAdam Ford dw_hdmi0_in: endpoint { 304a1d8a344SAdam Ford remote-endpoint = <&du_out_hdmi0>; 305a1d8a344SAdam Ford }; 306a1d8a344SAdam Ford }; 307a1d8a344SAdam Ford port@1 { 308a1d8a344SAdam Ford reg = <1>; 309a1d8a344SAdam Ford rcar_dw_hdmi0_out: endpoint { 310a1d8a344SAdam Ford remote-endpoint = <&hdmi0_con>; 311a1d8a344SAdam Ford }; 312a1d8a344SAdam Ford }; 313a1d8a344SAdam Ford port@2 { 314a1d8a344SAdam Ford reg = <2>; 315a1d8a344SAdam Ford dw_hdmi0_snd_in: endpoint { 316a1d8a344SAdam Ford remote-endpoint = <&rsnd_endpoint1>; 317a1d8a344SAdam Ford }; 318a1d8a344SAdam Ford }; 319a1d8a344SAdam Ford }; 320a1d8a344SAdam Ford}; 321a1d8a344SAdam Ford 322a1d8a344SAdam Ford&hscif1 { 323a1d8a344SAdam Ford pinctrl-0 = <&hscif1_pins>; 324a1d8a344SAdam Ford pinctrl-names = "default"; 325a1d8a344SAdam Ford uart-has-rtscts; 326a1d8a344SAdam Ford status = "okay"; 327a1d8a344SAdam Ford}; 328a1d8a344SAdam Ford 329a1d8a344SAdam Ford&hsusb { 330a1d8a344SAdam Ford dr_mode = "otg"; 331a1d8a344SAdam Ford status = "okay"; 332a1d8a344SAdam Ford}; 333a1d8a344SAdam Ford 334a1d8a344SAdam Ford&i2c2 { 335a1d8a344SAdam Ford status = "okay"; 336900d9fc3SAdam Ford clock-frequency = <400000>; 337a1d8a344SAdam Ford pinctrl-0 = <&i2c2_pins>; 338a1d8a344SAdam Ford pinctrl-names = "default"; 339a1d8a344SAdam Ford 340a1d8a344SAdam Ford gpio_exp2: gpio@21 { 341a1d8a344SAdam Ford compatible = "onnn,pca9654"; 342a1d8a344SAdam Ford reg = <0x21>; 343a1d8a344SAdam Ford gpio-controller; 344a1d8a344SAdam Ford #gpio-cells = <2>; 345a1d8a344SAdam Ford }; 346a1d8a344SAdam Ford 347a1d8a344SAdam Ford gpio_exp3: gpio@22 { 348a1d8a344SAdam Ford compatible = "onnn,pca9654"; 349a1d8a344SAdam Ford reg = <0x22>; 350a1d8a344SAdam Ford gpio-controller; 351a1d8a344SAdam Ford #gpio-cells = <2>; 352a1d8a344SAdam Ford }; 353a1d8a344SAdam Ford 354a1d8a344SAdam Ford gpio_exp4: gpio@23 { 355a1d8a344SAdam Ford compatible = "onnn,pca9654"; 356a1d8a344SAdam Ford reg = <0x23>; 357a1d8a344SAdam Ford gpio-controller; 358a1d8a344SAdam Ford #gpio-cells = <2>; 359a1d8a344SAdam Ford }; 360a1d8a344SAdam Ford 361a1d8a344SAdam Ford versaclock6_bb: clock-controller@6a { 362a1d8a344SAdam Ford compatible = "idt,5p49v6965"; 363a1d8a344SAdam Ford reg = <0x6a>; 364a1d8a344SAdam Ford #clock-cells = <1>; 365a1d8a344SAdam Ford clocks = <&x304_clk>; 366a1d8a344SAdam Ford clock-names = "xin"; 367fe82bb4dSAdam Ford 368953b392aSGeert Uytterhoeven assigned-clocks = <&versaclock6_bb 1>, <&versaclock6_bb 2>, 369953b392aSGeert Uytterhoeven <&versaclock6_bb 3>, <&versaclock6_bb 4>; 370*63acac8aSAdam Ford assigned-clock-rates = <24000000>, <24000000>, <24576000>, 371953b392aSGeert Uytterhoeven <24576000>; 372fe82bb4dSAdam Ford 373fe82bb4dSAdam Ford OUT1 { 374fe82bb4dSAdam Ford idt,mode = <VC5_CMOS>; 375fe82bb4dSAdam Ford idt,voltage-microvolt = <1800000>; 376fe82bb4dSAdam Ford idt,slew-percent = <100>; 377fe82bb4dSAdam Ford }; 378fe82bb4dSAdam Ford 379fe82bb4dSAdam Ford OUT2 { 380fe82bb4dSAdam Ford idt,mode = <VC5_CMOS>; 381fe82bb4dSAdam Ford idt,voltage-microvolt = <1800000>; 382fe82bb4dSAdam Ford idt,slew-percent = <100>; 383fe82bb4dSAdam Ford }; 384fe82bb4dSAdam Ford 385fe82bb4dSAdam Ford OUT3 { 386fe82bb4dSAdam Ford idt,mode = <VC5_CMOS>; 387fe82bb4dSAdam Ford idt,voltage-microvolt = <3300000>; 388fe82bb4dSAdam Ford idt,slew-percent = <100>; 389fe82bb4dSAdam Ford }; 390fe82bb4dSAdam Ford 391fe82bb4dSAdam Ford OUT4 { 392fe82bb4dSAdam Ford idt,mode = <VC5_CMOS>; 393fe82bb4dSAdam Ford idt,voltage-microvolt = <3300000>; 394fe82bb4dSAdam Ford idt,slew-percent = <100>; 395fe82bb4dSAdam Ford }; 396a1d8a344SAdam Ford }; 397a1d8a344SAdam Ford}; 398a1d8a344SAdam Ford 399a1d8a344SAdam Ford&i2c0 { 400a1d8a344SAdam Ford status = "okay"; 401a1d8a344SAdam Ford clock-frequency = <400000>; 402a1d8a344SAdam Ford 403a1d8a344SAdam Ford pinctrl-0 = <&i2c0_pins>; 404a1d8a344SAdam Ford pinctrl-names = "default"; 405a1d8a344SAdam Ford}; 406a1d8a344SAdam Ford 407a1d8a344SAdam Ford&i2c5 { 408a1d8a344SAdam Ford status = "okay"; 409dc3dba98SAdam Ford clock-frequency = <400000>; 410a1d8a344SAdam Ford pinctrl-0 = <&i2c5_pins>; 411a1d8a344SAdam Ford pinctrl-names = "default"; 412a1d8a344SAdam Ford 413a1d8a344SAdam Ford codec: wm8962@1a { 414a1d8a344SAdam Ford compatible = "wlf,wm8962"; 415a1d8a344SAdam Ford reg = <0x1a>; 416dc3dba98SAdam Ford clocks = <&versaclock6_bb 3>; 417a1d8a344SAdam Ford DCVDD-supply = <®_audio>; 418a1d8a344SAdam Ford DBVDD-supply = <®_audio>; 419a1d8a344SAdam Ford AVDD-supply = <®_audio>; 420a1d8a344SAdam Ford CPVDD-supply = <®_audio>; 421a1d8a344SAdam Ford MICVDD-supply = <®_audio>; 422a1d8a344SAdam Ford PLLVDD-supply = <®_audio>; 423a1d8a344SAdam Ford SPKVDD1-supply = <®_audio>; 424a1d8a344SAdam Ford SPKVDD2-supply = <®_audio>; 425a1d8a344SAdam Ford gpio-cfg = < 426a1d8a344SAdam Ford 0x0000 /* 0:Default */ 427a1d8a344SAdam Ford 0x0000 /* 1:Default */ 428a1d8a344SAdam Ford 0x0000 /* 2:Default */ 429a1d8a344SAdam Ford 0x0000 /* 3:Default */ 430a1d8a344SAdam Ford 0x0000 /* 4:Default */ 431a1d8a344SAdam Ford 0x0000 /* 5:Default */ 432a1d8a344SAdam Ford >; 433a1d8a344SAdam Ford port { 434a1d8a344SAdam Ford wm8962_endpoint: endpoint { 435a1d8a344SAdam Ford remote-endpoint = <&rsnd_endpoint0>; 436a1d8a344SAdam Ford }; 437a1d8a344SAdam Ford }; 438a1d8a344SAdam Ford }; 439a1d8a344SAdam Ford 440a1d8a344SAdam Ford touchscreen@26 { 441a1d8a344SAdam Ford compatible = "ilitek,ili2117"; 442a1d8a344SAdam Ford reg = <0x26>; 443a1d8a344SAdam Ford interrupt-parent = <&gpio5>; 444a1d8a344SAdam Ford interrupts = <9 IRQ_TYPE_EDGE_RISING>; 445a1d8a344SAdam Ford wakeup-source; 446a1d8a344SAdam Ford }; 447a1d8a344SAdam Ford 448a1d8a344SAdam Ford hd3ss3220@47 { 449a1d8a344SAdam Ford compatible = "ti,hd3ss3220"; 450a1d8a344SAdam Ford reg = <0x47>; 451a1d8a344SAdam Ford interrupt-parent = <&gpio6>; 452a1d8a344SAdam Ford interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 453a1d8a344SAdam Ford 454a1d8a344SAdam Ford ports { 455a1d8a344SAdam Ford #address-cells = <1>; 456a1d8a344SAdam Ford #size-cells = <0>; 457ca8edef1SBiju Das port@0 { 458ca8edef1SBiju Das reg = <0>; 459ca8edef1SBiju Das hd3ss3220_in_ep: endpoint { 460ca8edef1SBiju Das remote-endpoint = <&ss_ep>; 461ca8edef1SBiju Das }; 462ca8edef1SBiju Das }; 463a1d8a344SAdam Ford port@1 { 464a1d8a344SAdam Ford reg = <1>; 465ca8edef1SBiju Das hd3ss3220_out_ep: endpoint { 466a1d8a344SAdam Ford remote-endpoint = <&usb3_role_switch>; 467a1d8a344SAdam Ford }; 468a1d8a344SAdam Ford }; 469a1d8a344SAdam Ford }; 470a1d8a344SAdam Ford }; 471d7f9492dSAdam Ford 472d7f9492dSAdam Ford gpio_exp1: gpio@70 { 473d7f9492dSAdam Ford compatible = "nxp,pca9538"; 474d7f9492dSAdam Ford reg = <0x70>; 475d7f9492dSAdam Ford gpio-controller; 476d7f9492dSAdam Ford #gpio-cells = <2>; 477d7f9492dSAdam Ford gpio-line-names = "lcd_reset", "lcd_pwr", "lcd_select", 478d7f9492dSAdam Ford "backlight-enable", "Touch_shdwn", 479d7f9492dSAdam Ford "LCD_H_pol", "lcd_V_pol"; 480d7f9492dSAdam Ford }; 481a1d8a344SAdam Ford}; 482a1d8a344SAdam Ford 483a1d8a344SAdam Ford&lvds0 { 484a1d8a344SAdam Ford status = "okay"; 485a1d8a344SAdam Ford 486a1d8a344SAdam Ford ports { 487a1d8a344SAdam Ford port@1 { 488a1d8a344SAdam Ford lvds0_out: endpoint { 489a1d8a344SAdam Ford remote-endpoint = <&panel_in>; 490a1d8a344SAdam Ford }; 491a1d8a344SAdam Ford }; 492a1d8a344SAdam Ford }; 493a1d8a344SAdam Ford}; 494a1d8a344SAdam Ford 4957e0fac6aSAdam Ford&msiof1 { 4967e0fac6aSAdam Ford pinctrl-0 = <&msiof1_pins>; 4977e0fac6aSAdam Ford pinctrl-names = "default"; 4987e0fac6aSAdam Ford status = "okay"; 4997e0fac6aSAdam Ford cs-gpios = <&gpio3 10 GPIO_ACTIVE_LOW>; 5007e0fac6aSAdam Ford}; 5017e0fac6aSAdam Ford 502a1d8a344SAdam Ford&ohci0 { 503a1d8a344SAdam Ford dr_mode = "otg"; 504a1d8a344SAdam Ford status = "okay"; 505a1d8a344SAdam Ford}; 506a1d8a344SAdam Ford 507a1d8a344SAdam Ford&ohci1 { 508a1d8a344SAdam Ford status = "okay"; 509a1d8a344SAdam Ford}; 510a1d8a344SAdam Ford 511a1d8a344SAdam Ford&pciec0 { 512a1d8a344SAdam Ford status = "okay"; 513a1d8a344SAdam Ford}; 514a1d8a344SAdam Ford 515a1d8a344SAdam Ford&pciec1 { 516a1d8a344SAdam Ford status = "okay"; 517a1d8a344SAdam Ford}; 518a1d8a344SAdam Ford 519a1d8a344SAdam Ford&pcie_bus_clk { 520a1d8a344SAdam Ford clock-frequency = <100000000>; 521a1d8a344SAdam Ford}; 522a1d8a344SAdam Ford 523a1d8a344SAdam Ford&pfc { 524a1d8a344SAdam Ford can0_pins: can0 { 525a1d8a344SAdam Ford groups = "can0_data_a"; 526a1d8a344SAdam Ford function = "can0"; 527a1d8a344SAdam Ford }; 528a1d8a344SAdam Ford 529a1d8a344SAdam Ford can1_pins: can1 { 530a1d8a344SAdam Ford groups = "can1_data"; 531a1d8a344SAdam Ford function = "can1"; 532a1d8a344SAdam Ford }; 533a1d8a344SAdam Ford 534a1d8a344SAdam Ford du_pins: du { 535a1d8a344SAdam Ford groups = "du_rgb888", "du_sync", "du_clk_out_1", "du_disp"; 536a1d8a344SAdam Ford function = "du"; 537a1d8a344SAdam Ford }; 538a1d8a344SAdam Ford 539a1d8a344SAdam Ford i2c2_pins: i2c2 { 540a1d8a344SAdam Ford groups = "i2c2_a"; 541a1d8a344SAdam Ford function = "i2c2"; 542a1d8a344SAdam Ford }; 543a1d8a344SAdam Ford 544a1d8a344SAdam Ford i2c5_pins: i2c5 { 545a1d8a344SAdam Ford groups = "i2c5"; 546a1d8a344SAdam Ford function = "i2c5"; 547a1d8a344SAdam Ford }; 548a1d8a344SAdam Ford 549a1d8a344SAdam Ford led_pins: leds { 550a1d8a344SAdam Ford /* GP_0_4 , AVS1, AVS2, GP_7_3 */ 551a1d8a344SAdam Ford pins = "GP_0_4", "GP_7_0", "GP_7_1", "GP_7_3"; 552a1d8a344SAdam Ford bias-pull-down; 553a1d8a344SAdam Ford }; 554a1d8a344SAdam Ford 5557e0fac6aSAdam Ford msiof1_pins: msiof1 { 5567e0fac6aSAdam Ford groups = "msiof1_clk_g", "msiof1_rxd_g", "msiof1_txd_g"; 5577e0fac6aSAdam Ford function = "msiof1"; 5587e0fac6aSAdam Ford }; 5597e0fac6aSAdam Ford 560a1d8a344SAdam Ford pwm0_pins: pwm0 { 561a1d8a344SAdam Ford groups = "pwm0"; 562a1d8a344SAdam Ford function = "pwm0"; 563a1d8a344SAdam Ford }; 564a1d8a344SAdam Ford 565a1d8a344SAdam Ford pwm2_pins: pwm2 { 566a1d8a344SAdam Ford groups = "pwm2_a"; 567012f3e37SAdam Ford function = "pwm2"; 568a1d8a344SAdam Ford }; 569a1d8a344SAdam Ford 570a1d8a344SAdam Ford sdhi0_pins: sd0 { 571a1d8a344SAdam Ford groups = "sdhi0_data4", "sdhi0_ctrl"; 572a1d8a344SAdam Ford function = "sdhi0"; 573a1d8a344SAdam Ford power-source = <3300>; 574a1d8a344SAdam Ford }; 575a1d8a344SAdam Ford 576a1d8a344SAdam Ford sdhi0_pins_uhs: sd0_uhs { 577a1d8a344SAdam Ford groups = "sdhi0_data4", "sdhi0_ctrl"; 578a1d8a344SAdam Ford function = "sdhi0"; 579a1d8a344SAdam Ford power-source = <1800>; 580a1d8a344SAdam Ford }; 581a1d8a344SAdam Ford 582a1d8a344SAdam Ford sound_pins: sound { 583a1d8a344SAdam Ford groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a"; 584a1d8a344SAdam Ford function = "ssi"; 585a1d8a344SAdam Ford }; 586a1d8a344SAdam Ford 587a1d8a344SAdam Ford sound_clk_pins: sound_clk { 588b29120d6SAdam Ford groups = "audio_clk_a_a", "audio_clk_b_a"; 589a1d8a344SAdam Ford function = "audio_clk"; 590a1d8a344SAdam Ford }; 591a1d8a344SAdam Ford 592a1d8a344SAdam Ford usb0_pins: usb0 { 593a1d8a344SAdam Ford mux { 594a1d8a344SAdam Ford groups = "usb0"; 595a1d8a344SAdam Ford function = "usb0"; 596a1d8a344SAdam Ford }; 597a1d8a344SAdam Ford }; 598a1d8a344SAdam Ford 599a1d8a344SAdam Ford usb1_pins: usb1 { 600a1d8a344SAdam Ford mux { 601a1d8a344SAdam Ford groups = "usb1"; 602a1d8a344SAdam Ford function = "usb1"; 603a1d8a344SAdam Ford }; 604a1d8a344SAdam Ford }; 605a1d8a344SAdam Ford 606a1d8a344SAdam Ford usb30_pins: usb30 { 607a1d8a344SAdam Ford mux { 608a1d8a344SAdam Ford groups = "usb30"; 609a1d8a344SAdam Ford function = "usb30"; 610a1d8a344SAdam Ford }; 611a1d8a344SAdam Ford }; 612a1d8a344SAdam Ford}; 613a1d8a344SAdam Ford 614a1d8a344SAdam Ford&pwm0 { 615a1d8a344SAdam Ford pinctrl-0 = <&pwm0_pins>; 616a1d8a344SAdam Ford pinctrl-names = "default"; 617a1d8a344SAdam Ford status = "okay"; 618a1d8a344SAdam Ford}; 619a1d8a344SAdam Ford 620a1d8a344SAdam Ford&pwm2 { 621a1d8a344SAdam Ford pinctrl-0 = <&pwm2_pins>; 622a1d8a344SAdam Ford pinctrl-names = "default"; 623a1d8a344SAdam Ford status = "okay"; 624a1d8a344SAdam Ford}; 625a1d8a344SAdam Ford 626a1d8a344SAdam Ford&rcar_sound { 6273ebf49c0SGeert Uytterhoeven pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 628a1d8a344SAdam Ford pinctrl-names = "default"; 629a1d8a344SAdam Ford 630a1d8a344SAdam Ford /* Single DAI */ 631a1d8a344SAdam Ford #sound-dai-cells = <0>; 632a1d8a344SAdam Ford 633a1d8a344SAdam Ford /* audio_clkout0/1/2/3 */ 634a1d8a344SAdam Ford #clock-cells = <1>; 635a1d8a344SAdam Ford clock-frequency = <11289600>; 636a1d8a344SAdam Ford 637567d37b9SAdam Ford /* Reference versaclock instead of audio_clk_a */ 638567d37b9SAdam Ford clocks = <&cpg CPG_MOD 1005>, 639567d37b9SAdam Ford <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 640567d37b9SAdam Ford <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 641567d37b9SAdam Ford <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 642567d37b9SAdam Ford <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 643567d37b9SAdam Ford <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 644567d37b9SAdam Ford <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 645567d37b9SAdam Ford <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 646567d37b9SAdam Ford <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 647567d37b9SAdam Ford <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 648567d37b9SAdam Ford <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 649567d37b9SAdam Ford <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 650567d37b9SAdam Ford <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 651567d37b9SAdam Ford <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 652567d37b9SAdam Ford <&versaclock6_bb 4>, <&audio_clk_b>, 653567d37b9SAdam Ford <&audio_clk_c>, 654567d37b9SAdam Ford <&cpg CPG_CORE CPG_AUDIO_CLK_I>; 655567d37b9SAdam Ford 656a1d8a344SAdam Ford status = "okay"; 657a1d8a344SAdam Ford 658a1d8a344SAdam Ford ports { 659a1d8a344SAdam Ford #address-cells = <1>; 660a1d8a344SAdam Ford #size-cells = <0>; 661a1d8a344SAdam Ford rsnd_port0: port@0 { 662a1d8a344SAdam Ford reg = <0>; 663a1d8a344SAdam Ford rsnd_endpoint0: endpoint { 664a1d8a344SAdam Ford remote-endpoint = <&wm8962_endpoint>; 665a1d8a344SAdam Ford 666a1d8a344SAdam Ford dai-format = "i2s"; 667a1d8a344SAdam Ford bitclock-master = <&rsnd_endpoint0>; 668a1d8a344SAdam Ford frame-master = <&rsnd_endpoint0>; 669a1d8a344SAdam Ford 67086a5feadSGeert Uytterhoeven playback = <&ssi1>, <&dvc1>, <&src1>; 671a1d8a344SAdam Ford capture = <&ssi0>; 672a1d8a344SAdam Ford }; 673a1d8a344SAdam Ford }; 674a1d8a344SAdam Ford rsnd_port1: port@1 { 675a1d8a344SAdam Ford reg = <0x01>; 676a1d8a344SAdam Ford rsnd_endpoint1: endpoint { 677a1d8a344SAdam Ford remote-endpoint = <&dw_hdmi0_snd_in>; 678a1d8a344SAdam Ford 679a1d8a344SAdam Ford dai-format = "i2s"; 680a1d8a344SAdam Ford bitclock-master = <&rsnd_endpoint1>; 681a1d8a344SAdam Ford frame-master = <&rsnd_endpoint1>; 682a1d8a344SAdam Ford 683a1d8a344SAdam Ford playback = <&ssi2>; 684a1d8a344SAdam Ford }; 685a1d8a344SAdam Ford }; 686a1d8a344SAdam Ford }; 687a1d8a344SAdam Ford}; 688a1d8a344SAdam Ford 689a1d8a344SAdam Ford&rwdt { 690a1d8a344SAdam Ford status = "okay"; 691a1d8a344SAdam Ford timeout-sec = <60>; 692a1d8a344SAdam Ford}; 693a1d8a344SAdam Ford 694a1d8a344SAdam Ford&scif0 { 695a1d8a344SAdam Ford pinctrl-0 = <&scif0_pins>; 696a1d8a344SAdam Ford pinctrl-names = "default"; 697a1d8a344SAdam Ford status = "okay"; 698a1d8a344SAdam Ford}; 699a1d8a344SAdam Ford 700a1d8a344SAdam Ford&scif5 { 701a1d8a344SAdam Ford pinctrl-0 = <&scif5_pins>; 702a1d8a344SAdam Ford pinctrl-names = "default"; 703a1d8a344SAdam Ford status = "okay"; 704a1d8a344SAdam Ford}; 705a1d8a344SAdam Ford 706a1d8a344SAdam Ford&scif_clk { 707a1d8a344SAdam Ford clock-frequency = <14745600>; 708a1d8a344SAdam Ford}; 709a1d8a344SAdam Ford 710a1d8a344SAdam Ford&sdhi0 { 711a1d8a344SAdam Ford pinctrl-0 = <&sdhi0_pins>; 712a1d8a344SAdam Ford pinctrl-1 = <&sdhi0_pins_uhs>; 713a1d8a344SAdam Ford pinctrl-names = "default", "state_uhs"; 714a1d8a344SAdam Ford vmmc-supply = <®_3p3v>; 715a1d8a344SAdam Ford vqmmc-supply = <&vccq_sdhi0>; 716a1d8a344SAdam Ford cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 717a1d8a344SAdam Ford bus-width = <4>; 718a1d8a344SAdam Ford sd-uhs-sdr50; 719a1d8a344SAdam Ford sd-uhs-sdr104; 720a1d8a344SAdam Ford status = "okay"; 721a1d8a344SAdam Ford}; 722a1d8a344SAdam Ford 723a1d8a344SAdam Ford&ssi1 { 724a1d8a344SAdam Ford shared-pin; 725a1d8a344SAdam Ford}; 726a1d8a344SAdam Ford 727a1d8a344SAdam Ford&tmu0 { 728a1d8a344SAdam Ford status = "okay"; 729a1d8a344SAdam Ford}; 730a1d8a344SAdam Ford 731a1d8a344SAdam Ford&tmu1 { 732a1d8a344SAdam Ford status = "okay"; 733a1d8a344SAdam Ford}; 734a1d8a344SAdam Ford 735a1d8a344SAdam Ford&tmu2 { 736a1d8a344SAdam Ford status = "okay"; 737a1d8a344SAdam Ford}; 738a1d8a344SAdam Ford 739a1d8a344SAdam Ford&tmu3 { 740a1d8a344SAdam Ford status = "okay"; 741a1d8a344SAdam Ford}; 742a1d8a344SAdam Ford 743a1d8a344SAdam Ford&tmu4 { 744a1d8a344SAdam Ford status = "okay"; 745a1d8a344SAdam Ford}; 746a1d8a344SAdam Ford 747a1d8a344SAdam Ford&usb2_phy0 { 748a1d8a344SAdam Ford pinctrl-0 = <&usb0_pins>; 749a1d8a344SAdam Ford pinctrl-names = "default"; 750a1d8a344SAdam Ford status = "okay"; 751a1d8a344SAdam Ford}; 752a1d8a344SAdam Ford 753a1d8a344SAdam Ford&usb2_phy1 { 754a1d8a344SAdam Ford pinctrl-0 = <&usb1_pins>; 755a1d8a344SAdam Ford pinctrl-names = "default"; 756a1d8a344SAdam Ford status = "okay"; 757a1d8a344SAdam Ford}; 758a1d8a344SAdam Ford 759a1d8a344SAdam Ford&usb3_peri0 { 760a1d8a344SAdam Ford companion = <&xhci0>; 761a1d8a344SAdam Ford status = "okay"; 762a1d8a344SAdam Ford usb-role-switch; 763a1d8a344SAdam Ford 764ca8edef1SBiju Das ports { 765ca8edef1SBiju Das #address-cells = <1>; 766ca8edef1SBiju Das #size-cells = <0>; 767ca8edef1SBiju Das port@0 { 768ca8edef1SBiju Das reg = <0>; 769ca8edef1SBiju Das usb3_hs_ep: endpoint { 770ca8edef1SBiju Das remote-endpoint = <&hs_ep>; 771ca8edef1SBiju Das }; 772ca8edef1SBiju Das }; 773ca8edef1SBiju Das port@1 { 774ca8edef1SBiju Das reg = <1>; 775a1d8a344SAdam Ford usb3_role_switch: endpoint { 776ca8edef1SBiju Das remote-endpoint = <&hd3ss3220_out_ep>; 777ca8edef1SBiju Das }; 778a1d8a344SAdam Ford }; 779a1d8a344SAdam Ford }; 780a1d8a344SAdam Ford}; 781a1d8a344SAdam Ford 782a1d8a344SAdam Ford&usb3_phy0 { 783a1d8a344SAdam Ford status = "okay"; 784a1d8a344SAdam Ford}; 785a1d8a344SAdam Ford 786a1d8a344SAdam Ford&vin0 { 787a1d8a344SAdam Ford status = "okay"; 788a1d8a344SAdam Ford}; 789a1d8a344SAdam Ford&vin1 { 790a1d8a344SAdam Ford status = "okay"; 791a1d8a344SAdam Ford}; 792a1d8a344SAdam Ford&vin2 { 793a1d8a344SAdam Ford status = "okay"; 794a1d8a344SAdam Ford}; 795a1d8a344SAdam Ford&vin3 { 796a1d8a344SAdam Ford status = "okay"; 797a1d8a344SAdam Ford}; 798a1d8a344SAdam Ford&vin4 { 799a1d8a344SAdam Ford status = "okay"; 800a1d8a344SAdam Ford}; 801a1d8a344SAdam Ford&vin5 { 802a1d8a344SAdam Ford status = "okay"; 803a1d8a344SAdam Ford}; 804a1d8a344SAdam Ford&vin6 { 805a1d8a344SAdam Ford status = "okay"; 806a1d8a344SAdam Ford}; 807a1d8a344SAdam Ford&vin7 { 808a1d8a344SAdam Ford status = "okay"; 809a1d8a344SAdam Ford}; 810a1d8a344SAdam Ford 811a1d8a344SAdam Ford&xhci0 812a1d8a344SAdam Ford{ 813a1d8a344SAdam Ford pinctrl-0 = <&usb30_pins>; 814a1d8a344SAdam Ford pinctrl-names = "default"; 815a1d8a344SAdam Ford status = "okay"; 816a1d8a344SAdam Ford}; 817