1*5d4e8cb4SGeert Uytterhoeven// SPDX-License-Identifier: GPL-2.0 2*5d4e8cb4SGeert Uytterhoeven/* 3*5d4e8cb4SGeert Uytterhoeven * Device Tree Source for the Ebisu board 4*5d4e8cb4SGeert Uytterhoeven * 5*5d4e8cb4SGeert Uytterhoeven * Copyright (C) 2018 Renesas Electronics Corp. 6*5d4e8cb4SGeert Uytterhoeven */ 7*5d4e8cb4SGeert Uytterhoeven 8*5d4e8cb4SGeert Uytterhoeven#include <dt-bindings/gpio/gpio.h> 9*5d4e8cb4SGeert Uytterhoeven#include <dt-bindings/input/input.h> 10*5d4e8cb4SGeert Uytterhoeven 11*5d4e8cb4SGeert Uytterhoeven/ { 12*5d4e8cb4SGeert Uytterhoeven model = "Renesas Ebisu board"; 13*5d4e8cb4SGeert Uytterhoeven compatible = "renesas,ebisu"; 14*5d4e8cb4SGeert Uytterhoeven 15*5d4e8cb4SGeert Uytterhoeven aliases { 16*5d4e8cb4SGeert Uytterhoeven serial0 = &scif2; 17*5d4e8cb4SGeert Uytterhoeven ethernet0 = &avb; 18*5d4e8cb4SGeert Uytterhoeven mmc0 = &sdhi3; 19*5d4e8cb4SGeert Uytterhoeven mmc1 = &sdhi0; 20*5d4e8cb4SGeert Uytterhoeven mmc2 = &sdhi1; 21*5d4e8cb4SGeert Uytterhoeven }; 22*5d4e8cb4SGeert Uytterhoeven 23*5d4e8cb4SGeert Uytterhoeven chosen { 24*5d4e8cb4SGeert Uytterhoeven bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 25*5d4e8cb4SGeert Uytterhoeven stdout-path = "serial0:115200n8"; 26*5d4e8cb4SGeert Uytterhoeven }; 27*5d4e8cb4SGeert Uytterhoeven 28*5d4e8cb4SGeert Uytterhoeven audio_clkout: audio-clkout { 29*5d4e8cb4SGeert Uytterhoeven /* 30*5d4e8cb4SGeert Uytterhoeven * This is same as <&rcar_sound 0> 31*5d4e8cb4SGeert Uytterhoeven * but needed to avoid cs2000/rcar_sound probe dead-lock 32*5d4e8cb4SGeert Uytterhoeven */ 33*5d4e8cb4SGeert Uytterhoeven compatible = "fixed-clock"; 34*5d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 35*5d4e8cb4SGeert Uytterhoeven clock-frequency = <11289600>; 36*5d4e8cb4SGeert Uytterhoeven }; 37*5d4e8cb4SGeert Uytterhoeven 38*5d4e8cb4SGeert Uytterhoeven backlight: backlight { 39*5d4e8cb4SGeert Uytterhoeven compatible = "pwm-backlight"; 40*5d4e8cb4SGeert Uytterhoeven pwms = <&pwm3 0 50000>; 41*5d4e8cb4SGeert Uytterhoeven 42*5d4e8cb4SGeert Uytterhoeven brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>; 43*5d4e8cb4SGeert Uytterhoeven default-brightness-level = <10>; 44*5d4e8cb4SGeert Uytterhoeven 45*5d4e8cb4SGeert Uytterhoeven power-supply = <®_12p0v>; 46*5d4e8cb4SGeert Uytterhoeven }; 47*5d4e8cb4SGeert Uytterhoeven 48*5d4e8cb4SGeert Uytterhoeven cvbs-in { 49*5d4e8cb4SGeert Uytterhoeven compatible = "composite-video-connector"; 50*5d4e8cb4SGeert Uytterhoeven label = "CVBS IN"; 51*5d4e8cb4SGeert Uytterhoeven 52*5d4e8cb4SGeert Uytterhoeven port { 53*5d4e8cb4SGeert Uytterhoeven cvbs_con: endpoint { 54*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7482_ain7>; 55*5d4e8cb4SGeert Uytterhoeven }; 56*5d4e8cb4SGeert Uytterhoeven }; 57*5d4e8cb4SGeert Uytterhoeven }; 58*5d4e8cb4SGeert Uytterhoeven 59*5d4e8cb4SGeert Uytterhoeven hdmi-in { 60*5d4e8cb4SGeert Uytterhoeven compatible = "hdmi-connector"; 61*5d4e8cb4SGeert Uytterhoeven label = "HDMI IN"; 62*5d4e8cb4SGeert Uytterhoeven type = "a"; 63*5d4e8cb4SGeert Uytterhoeven 64*5d4e8cb4SGeert Uytterhoeven port { 65*5d4e8cb4SGeert Uytterhoeven hdmi_in_con: endpoint { 66*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7482_hdmi>; 67*5d4e8cb4SGeert Uytterhoeven }; 68*5d4e8cb4SGeert Uytterhoeven }; 69*5d4e8cb4SGeert Uytterhoeven }; 70*5d4e8cb4SGeert Uytterhoeven 71*5d4e8cb4SGeert Uytterhoeven hdmi-out { 72*5d4e8cb4SGeert Uytterhoeven compatible = "hdmi-connector"; 73*5d4e8cb4SGeert Uytterhoeven type = "a"; 74*5d4e8cb4SGeert Uytterhoeven 75*5d4e8cb4SGeert Uytterhoeven port { 76*5d4e8cb4SGeert Uytterhoeven hdmi_con_out: endpoint { 77*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7511_out>; 78*5d4e8cb4SGeert Uytterhoeven }; 79*5d4e8cb4SGeert Uytterhoeven }; 80*5d4e8cb4SGeert Uytterhoeven }; 81*5d4e8cb4SGeert Uytterhoeven 82*5d4e8cb4SGeert Uytterhoeven keys { 83*5d4e8cb4SGeert Uytterhoeven compatible = "gpio-keys"; 84*5d4e8cb4SGeert Uytterhoeven 85*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&keys_pins>; 86*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 87*5d4e8cb4SGeert Uytterhoeven 88*5d4e8cb4SGeert Uytterhoeven key-1 { 89*5d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 10 GPIO_ACTIVE_LOW>; 90*5d4e8cb4SGeert Uytterhoeven linux,code = <KEY_1>; 91*5d4e8cb4SGeert Uytterhoeven label = "SW4-1"; 92*5d4e8cb4SGeert Uytterhoeven wakeup-source; 93*5d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 94*5d4e8cb4SGeert Uytterhoeven }; 95*5d4e8cb4SGeert Uytterhoeven key-2 { 96*5d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 11 GPIO_ACTIVE_LOW>; 97*5d4e8cb4SGeert Uytterhoeven linux,code = <KEY_2>; 98*5d4e8cb4SGeert Uytterhoeven label = "SW4-2"; 99*5d4e8cb4SGeert Uytterhoeven wakeup-source; 100*5d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 101*5d4e8cb4SGeert Uytterhoeven }; 102*5d4e8cb4SGeert Uytterhoeven key-3 { 103*5d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 104*5d4e8cb4SGeert Uytterhoeven linux,code = <KEY_3>; 105*5d4e8cb4SGeert Uytterhoeven label = "SW4-3"; 106*5d4e8cb4SGeert Uytterhoeven wakeup-source; 107*5d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 108*5d4e8cb4SGeert Uytterhoeven }; 109*5d4e8cb4SGeert Uytterhoeven key-4 { 110*5d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 111*5d4e8cb4SGeert Uytterhoeven linux,code = <KEY_4>; 112*5d4e8cb4SGeert Uytterhoeven label = "SW4-4"; 113*5d4e8cb4SGeert Uytterhoeven wakeup-source; 114*5d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 115*5d4e8cb4SGeert Uytterhoeven }; 116*5d4e8cb4SGeert Uytterhoeven }; 117*5d4e8cb4SGeert Uytterhoeven 118*5d4e8cb4SGeert Uytterhoeven lvds-decoder { 119*5d4e8cb4SGeert Uytterhoeven compatible = "thine,thc63lvd1024"; 120*5d4e8cb4SGeert Uytterhoeven vcc-supply = <®_3p3v>; 121*5d4e8cb4SGeert Uytterhoeven 122*5d4e8cb4SGeert Uytterhoeven ports { 123*5d4e8cb4SGeert Uytterhoeven #address-cells = <1>; 124*5d4e8cb4SGeert Uytterhoeven #size-cells = <0>; 125*5d4e8cb4SGeert Uytterhoeven 126*5d4e8cb4SGeert Uytterhoeven port@0 { 127*5d4e8cb4SGeert Uytterhoeven reg = <0>; 128*5d4e8cb4SGeert Uytterhoeven thc63lvd1024_in: endpoint { 129*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&lvds0_out>; 130*5d4e8cb4SGeert Uytterhoeven }; 131*5d4e8cb4SGeert Uytterhoeven }; 132*5d4e8cb4SGeert Uytterhoeven 133*5d4e8cb4SGeert Uytterhoeven port@2 { 134*5d4e8cb4SGeert Uytterhoeven reg = <2>; 135*5d4e8cb4SGeert Uytterhoeven thc63lvd1024_out: endpoint { 136*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7511_in>; 137*5d4e8cb4SGeert Uytterhoeven }; 138*5d4e8cb4SGeert Uytterhoeven }; 139*5d4e8cb4SGeert Uytterhoeven }; 140*5d4e8cb4SGeert Uytterhoeven }; 141*5d4e8cb4SGeert Uytterhoeven 142*5d4e8cb4SGeert Uytterhoeven memory@48000000 { 143*5d4e8cb4SGeert Uytterhoeven device_type = "memory"; 144*5d4e8cb4SGeert Uytterhoeven /* first 128MB is reserved for secure area. */ 145*5d4e8cb4SGeert Uytterhoeven reg = <0x0 0x48000000 0x0 0x38000000>; 146*5d4e8cb4SGeert Uytterhoeven }; 147*5d4e8cb4SGeert Uytterhoeven 148*5d4e8cb4SGeert Uytterhoeven reg_1p8v: regulator0 { 149*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 150*5d4e8cb4SGeert Uytterhoeven regulator-name = "fixed-1.8V"; 151*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <1800000>; 152*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <1800000>; 153*5d4e8cb4SGeert Uytterhoeven regulator-boot-on; 154*5d4e8cb4SGeert Uytterhoeven regulator-always-on; 155*5d4e8cb4SGeert Uytterhoeven }; 156*5d4e8cb4SGeert Uytterhoeven 157*5d4e8cb4SGeert Uytterhoeven reg_3p3v: regulator1 { 158*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 159*5d4e8cb4SGeert Uytterhoeven regulator-name = "fixed-3.3V"; 160*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <3300000>; 161*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 162*5d4e8cb4SGeert Uytterhoeven regulator-boot-on; 163*5d4e8cb4SGeert Uytterhoeven regulator-always-on; 164*5d4e8cb4SGeert Uytterhoeven }; 165*5d4e8cb4SGeert Uytterhoeven 166*5d4e8cb4SGeert Uytterhoeven reg_12p0v: regulator2 { 167*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 168*5d4e8cb4SGeert Uytterhoeven regulator-name = "D12.0V"; 169*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <12000000>; 170*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <12000000>; 171*5d4e8cb4SGeert Uytterhoeven regulator-boot-on; 172*5d4e8cb4SGeert Uytterhoeven regulator-always-on; 173*5d4e8cb4SGeert Uytterhoeven }; 174*5d4e8cb4SGeert Uytterhoeven 175*5d4e8cb4SGeert Uytterhoeven rsnd_ak4613: sound { 176*5d4e8cb4SGeert Uytterhoeven compatible = "simple-audio-card"; 177*5d4e8cb4SGeert Uytterhoeven 178*5d4e8cb4SGeert Uytterhoeven simple-audio-card,name = "rsnd-ak4613"; 179*5d4e8cb4SGeert Uytterhoeven simple-audio-card,format = "left_j"; 180*5d4e8cb4SGeert Uytterhoeven simple-audio-card,bitclock-master = <&sndcpu>; 181*5d4e8cb4SGeert Uytterhoeven simple-audio-card,frame-master = <&sndcpu>; 182*5d4e8cb4SGeert Uytterhoeven 183*5d4e8cb4SGeert Uytterhoeven sndcodec: simple-audio-card,codec { 184*5d4e8cb4SGeert Uytterhoeven sound-dai = <&ak4613>; 185*5d4e8cb4SGeert Uytterhoeven }; 186*5d4e8cb4SGeert Uytterhoeven 187*5d4e8cb4SGeert Uytterhoeven sndcpu: simple-audio-card,cpu { 188*5d4e8cb4SGeert Uytterhoeven sound-dai = <&rcar_sound>; 189*5d4e8cb4SGeert Uytterhoeven }; 190*5d4e8cb4SGeert Uytterhoeven }; 191*5d4e8cb4SGeert Uytterhoeven 192*5d4e8cb4SGeert Uytterhoeven vbus0_usb2: regulator-vbus0-usb2 { 193*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 194*5d4e8cb4SGeert Uytterhoeven 195*5d4e8cb4SGeert Uytterhoeven regulator-name = "USB20_VBUS_CN"; 196*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <5000000>; 197*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <5000000>; 198*5d4e8cb4SGeert Uytterhoeven 199*5d4e8cb4SGeert Uytterhoeven gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; 200*5d4e8cb4SGeert Uytterhoeven enable-active-high; 201*5d4e8cb4SGeert Uytterhoeven }; 202*5d4e8cb4SGeert Uytterhoeven 203*5d4e8cb4SGeert Uytterhoeven vcc_sdhi0: regulator-vcc-sdhi0 { 204*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 205*5d4e8cb4SGeert Uytterhoeven 206*5d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI0 Vcc"; 207*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <3300000>; 208*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 209*5d4e8cb4SGeert Uytterhoeven 210*5d4e8cb4SGeert Uytterhoeven gpio = <&gpio5 17 GPIO_ACTIVE_HIGH>; 211*5d4e8cb4SGeert Uytterhoeven enable-active-high; 212*5d4e8cb4SGeert Uytterhoeven }; 213*5d4e8cb4SGeert Uytterhoeven 214*5d4e8cb4SGeert Uytterhoeven vccq_sdhi0: regulator-vccq-sdhi0 { 215*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-gpio"; 216*5d4e8cb4SGeert Uytterhoeven 217*5d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI0 VccQ"; 218*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <1800000>; 219*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 220*5d4e8cb4SGeert Uytterhoeven 221*5d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; 222*5d4e8cb4SGeert Uytterhoeven gpios-states = <1>; 223*5d4e8cb4SGeert Uytterhoeven states = <3300000 1>, <1800000 0>; 224*5d4e8cb4SGeert Uytterhoeven }; 225*5d4e8cb4SGeert Uytterhoeven 226*5d4e8cb4SGeert Uytterhoeven vcc_sdhi1: regulator-vcc-sdhi1 { 227*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 228*5d4e8cb4SGeert Uytterhoeven 229*5d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI1 Vcc"; 230*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <3300000>; 231*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 232*5d4e8cb4SGeert Uytterhoeven 233*5d4e8cb4SGeert Uytterhoeven gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; 234*5d4e8cb4SGeert Uytterhoeven enable-active-high; 235*5d4e8cb4SGeert Uytterhoeven }; 236*5d4e8cb4SGeert Uytterhoeven 237*5d4e8cb4SGeert Uytterhoeven vccq_sdhi1: regulator-vccq-sdhi1 { 238*5d4e8cb4SGeert Uytterhoeven compatible = "regulator-gpio"; 239*5d4e8cb4SGeert Uytterhoeven 240*5d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI1 VccQ"; 241*5d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <1800000>; 242*5d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 243*5d4e8cb4SGeert Uytterhoeven 244*5d4e8cb4SGeert Uytterhoeven gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 245*5d4e8cb4SGeert Uytterhoeven gpios-states = <1>; 246*5d4e8cb4SGeert Uytterhoeven states = <3300000 1>, <1800000 0>; 247*5d4e8cb4SGeert Uytterhoeven }; 248*5d4e8cb4SGeert Uytterhoeven 249*5d4e8cb4SGeert Uytterhoeven vga { 250*5d4e8cb4SGeert Uytterhoeven compatible = "vga-connector"; 251*5d4e8cb4SGeert Uytterhoeven 252*5d4e8cb4SGeert Uytterhoeven port { 253*5d4e8cb4SGeert Uytterhoeven vga_in: endpoint { 254*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7123_out>; 255*5d4e8cb4SGeert Uytterhoeven }; 256*5d4e8cb4SGeert Uytterhoeven }; 257*5d4e8cb4SGeert Uytterhoeven }; 258*5d4e8cb4SGeert Uytterhoeven 259*5d4e8cb4SGeert Uytterhoeven vga-encoder { 260*5d4e8cb4SGeert Uytterhoeven compatible = "adi,adv7123"; 261*5d4e8cb4SGeert Uytterhoeven 262*5d4e8cb4SGeert Uytterhoeven ports { 263*5d4e8cb4SGeert Uytterhoeven #address-cells = <1>; 264*5d4e8cb4SGeert Uytterhoeven #size-cells = <0>; 265*5d4e8cb4SGeert Uytterhoeven 266*5d4e8cb4SGeert Uytterhoeven port@0 { 267*5d4e8cb4SGeert Uytterhoeven reg = <0>; 268*5d4e8cb4SGeert Uytterhoeven adv7123_in: endpoint { 269*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&du_out_rgb>; 270*5d4e8cb4SGeert Uytterhoeven }; 271*5d4e8cb4SGeert Uytterhoeven }; 272*5d4e8cb4SGeert Uytterhoeven port@1 { 273*5d4e8cb4SGeert Uytterhoeven reg = <1>; 274*5d4e8cb4SGeert Uytterhoeven adv7123_out: endpoint { 275*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&vga_in>; 276*5d4e8cb4SGeert Uytterhoeven }; 277*5d4e8cb4SGeert Uytterhoeven }; 278*5d4e8cb4SGeert Uytterhoeven }; 279*5d4e8cb4SGeert Uytterhoeven }; 280*5d4e8cb4SGeert Uytterhoeven 281*5d4e8cb4SGeert Uytterhoeven x12_clk: x12 { 282*5d4e8cb4SGeert Uytterhoeven compatible = "fixed-clock"; 283*5d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 284*5d4e8cb4SGeert Uytterhoeven clock-frequency = <24576000>; 285*5d4e8cb4SGeert Uytterhoeven }; 286*5d4e8cb4SGeert Uytterhoeven 287*5d4e8cb4SGeert Uytterhoeven x13_clk: x13 { 288*5d4e8cb4SGeert Uytterhoeven compatible = "fixed-clock"; 289*5d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 290*5d4e8cb4SGeert Uytterhoeven clock-frequency = <74250000>; 291*5d4e8cb4SGeert Uytterhoeven }; 292*5d4e8cb4SGeert Uytterhoeven}; 293*5d4e8cb4SGeert Uytterhoeven 294*5d4e8cb4SGeert Uytterhoeven&audio_clk_a { 295*5d4e8cb4SGeert Uytterhoeven clock-frequency = <22579200>; 296*5d4e8cb4SGeert Uytterhoeven}; 297*5d4e8cb4SGeert Uytterhoeven 298*5d4e8cb4SGeert Uytterhoeven&avb { 299*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&avb_pins>; 300*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 301*5d4e8cb4SGeert Uytterhoeven phy-handle = <&phy0>; 302*5d4e8cb4SGeert Uytterhoeven status = "okay"; 303*5d4e8cb4SGeert Uytterhoeven 304*5d4e8cb4SGeert Uytterhoeven phy0: ethernet-phy@0 { 305*5d4e8cb4SGeert Uytterhoeven rxc-skew-ps = <1500>; 306*5d4e8cb4SGeert Uytterhoeven reg = <0>; 307*5d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio2>; 308*5d4e8cb4SGeert Uytterhoeven interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 309*5d4e8cb4SGeert Uytterhoeven reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>; 310*5d4e8cb4SGeert Uytterhoeven /* 311*5d4e8cb4SGeert Uytterhoeven * TX clock internal delay mode is required for reliable 312*5d4e8cb4SGeert Uytterhoeven * 1Gbps communication using the KSZ9031RNX phy present on 313*5d4e8cb4SGeert Uytterhoeven * the Ebisu board, however, TX clock internal delay mode 314*5d4e8cb4SGeert Uytterhoeven * isn't supported on R-Car E3(e). Thus, limit speed to 315*5d4e8cb4SGeert Uytterhoeven * 100Mbps for reliable communication. 316*5d4e8cb4SGeert Uytterhoeven */ 317*5d4e8cb4SGeert Uytterhoeven max-speed = <100>; 318*5d4e8cb4SGeert Uytterhoeven }; 319*5d4e8cb4SGeert Uytterhoeven}; 320*5d4e8cb4SGeert Uytterhoeven 321*5d4e8cb4SGeert Uytterhoeven&canfd { 322*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&canfd0_pins>; 323*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 324*5d4e8cb4SGeert Uytterhoeven status = "okay"; 325*5d4e8cb4SGeert Uytterhoeven 326*5d4e8cb4SGeert Uytterhoeven channel0 { 327*5d4e8cb4SGeert Uytterhoeven status = "okay"; 328*5d4e8cb4SGeert Uytterhoeven }; 329*5d4e8cb4SGeert Uytterhoeven}; 330*5d4e8cb4SGeert Uytterhoeven 331*5d4e8cb4SGeert Uytterhoeven&csi40 { 332*5d4e8cb4SGeert Uytterhoeven status = "okay"; 333*5d4e8cb4SGeert Uytterhoeven 334*5d4e8cb4SGeert Uytterhoeven ports { 335*5d4e8cb4SGeert Uytterhoeven port@0 { 336*5d4e8cb4SGeert Uytterhoeven csi40_in: endpoint { 337*5d4e8cb4SGeert Uytterhoeven clock-lanes = <0>; 338*5d4e8cb4SGeert Uytterhoeven data-lanes = <1 2>; 339*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7482_txa>; 340*5d4e8cb4SGeert Uytterhoeven }; 341*5d4e8cb4SGeert Uytterhoeven }; 342*5d4e8cb4SGeert Uytterhoeven }; 343*5d4e8cb4SGeert Uytterhoeven}; 344*5d4e8cb4SGeert Uytterhoeven 345*5d4e8cb4SGeert Uytterhoeven&du { 346*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&du_pins>; 347*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 348*5d4e8cb4SGeert Uytterhoeven status = "okay"; 349*5d4e8cb4SGeert Uytterhoeven 350*5d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 724>, 351*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 723>, 352*5d4e8cb4SGeert Uytterhoeven <&x13_clk>; 353*5d4e8cb4SGeert Uytterhoeven clock-names = "du.0", "du.1", "dclkin.0"; 354*5d4e8cb4SGeert Uytterhoeven 355*5d4e8cb4SGeert Uytterhoeven ports { 356*5d4e8cb4SGeert Uytterhoeven port@0 { 357*5d4e8cb4SGeert Uytterhoeven endpoint { 358*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7123_in>; 359*5d4e8cb4SGeert Uytterhoeven }; 360*5d4e8cb4SGeert Uytterhoeven }; 361*5d4e8cb4SGeert Uytterhoeven }; 362*5d4e8cb4SGeert Uytterhoeven}; 363*5d4e8cb4SGeert Uytterhoeven 364*5d4e8cb4SGeert Uytterhoeven&ehci0 { 365*5d4e8cb4SGeert Uytterhoeven dr_mode = "otg"; 366*5d4e8cb4SGeert Uytterhoeven status = "okay"; 367*5d4e8cb4SGeert Uytterhoeven}; 368*5d4e8cb4SGeert Uytterhoeven 369*5d4e8cb4SGeert Uytterhoeven&extal_clk { 370*5d4e8cb4SGeert Uytterhoeven clock-frequency = <48000000>; 371*5d4e8cb4SGeert Uytterhoeven}; 372*5d4e8cb4SGeert Uytterhoeven 373*5d4e8cb4SGeert Uytterhoeven&hsusb { 374*5d4e8cb4SGeert Uytterhoeven dr_mode = "otg"; 375*5d4e8cb4SGeert Uytterhoeven status = "okay"; 376*5d4e8cb4SGeert Uytterhoeven}; 377*5d4e8cb4SGeert Uytterhoeven 378*5d4e8cb4SGeert Uytterhoeven&i2c0 { 379*5d4e8cb4SGeert Uytterhoeven status = "okay"; 380*5d4e8cb4SGeert Uytterhoeven 381*5d4e8cb4SGeert Uytterhoeven io_expander: gpio@20 { 382*5d4e8cb4SGeert Uytterhoeven compatible = "onnn,pca9654"; 383*5d4e8cb4SGeert Uytterhoeven reg = <0x20>; 384*5d4e8cb4SGeert Uytterhoeven gpio-controller; 385*5d4e8cb4SGeert Uytterhoeven #gpio-cells = <2>; 386*5d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio2>; 387*5d4e8cb4SGeert Uytterhoeven interrupts = <22 IRQ_TYPE_LEVEL_LOW>; 388*5d4e8cb4SGeert Uytterhoeven }; 389*5d4e8cb4SGeert Uytterhoeven 390*5d4e8cb4SGeert Uytterhoeven hdmi-encoder@39 { 391*5d4e8cb4SGeert Uytterhoeven compatible = "adi,adv7511w"; 392*5d4e8cb4SGeert Uytterhoeven reg = <0x39>; 393*5d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio1>; 394*5d4e8cb4SGeert Uytterhoeven interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 395*5d4e8cb4SGeert Uytterhoeven 396*5d4e8cb4SGeert Uytterhoeven adi,input-depth = <8>; 397*5d4e8cb4SGeert Uytterhoeven adi,input-colorspace = "rgb"; 398*5d4e8cb4SGeert Uytterhoeven adi,input-clock = "1x"; 399*5d4e8cb4SGeert Uytterhoeven 400*5d4e8cb4SGeert Uytterhoeven ports { 401*5d4e8cb4SGeert Uytterhoeven #address-cells = <1>; 402*5d4e8cb4SGeert Uytterhoeven #size-cells = <0>; 403*5d4e8cb4SGeert Uytterhoeven 404*5d4e8cb4SGeert Uytterhoeven port@0 { 405*5d4e8cb4SGeert Uytterhoeven reg = <0>; 406*5d4e8cb4SGeert Uytterhoeven adv7511_in: endpoint { 407*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&thc63lvd1024_out>; 408*5d4e8cb4SGeert Uytterhoeven }; 409*5d4e8cb4SGeert Uytterhoeven }; 410*5d4e8cb4SGeert Uytterhoeven 411*5d4e8cb4SGeert Uytterhoeven port@1 { 412*5d4e8cb4SGeert Uytterhoeven reg = <1>; 413*5d4e8cb4SGeert Uytterhoeven adv7511_out: endpoint { 414*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&hdmi_con_out>; 415*5d4e8cb4SGeert Uytterhoeven }; 416*5d4e8cb4SGeert Uytterhoeven }; 417*5d4e8cb4SGeert Uytterhoeven }; 418*5d4e8cb4SGeert Uytterhoeven }; 419*5d4e8cb4SGeert Uytterhoeven 420*5d4e8cb4SGeert Uytterhoeven video-receiver@70 { 421*5d4e8cb4SGeert Uytterhoeven compatible = "adi,adv7482"; 422*5d4e8cb4SGeert Uytterhoeven reg = <0x70>; 423*5d4e8cb4SGeert Uytterhoeven 424*5d4e8cb4SGeert Uytterhoeven #address-cells = <1>; 425*5d4e8cb4SGeert Uytterhoeven #size-cells = <0>; 426*5d4e8cb4SGeert Uytterhoeven 427*5d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio0>; 428*5d4e8cb4SGeert Uytterhoeven interrupt-names = "intrq1", "intrq2"; 429*5d4e8cb4SGeert Uytterhoeven interrupts = <7 IRQ_TYPE_LEVEL_LOW>, 430*5d4e8cb4SGeert Uytterhoeven <17 IRQ_TYPE_LEVEL_LOW>; 431*5d4e8cb4SGeert Uytterhoeven 432*5d4e8cb4SGeert Uytterhoeven port@7 { 433*5d4e8cb4SGeert Uytterhoeven reg = <7>; 434*5d4e8cb4SGeert Uytterhoeven 435*5d4e8cb4SGeert Uytterhoeven adv7482_ain7: endpoint { 436*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&cvbs_con>; 437*5d4e8cb4SGeert Uytterhoeven }; 438*5d4e8cb4SGeert Uytterhoeven }; 439*5d4e8cb4SGeert Uytterhoeven 440*5d4e8cb4SGeert Uytterhoeven port@8 { 441*5d4e8cb4SGeert Uytterhoeven reg = <8>; 442*5d4e8cb4SGeert Uytterhoeven 443*5d4e8cb4SGeert Uytterhoeven adv7482_hdmi: endpoint { 444*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&hdmi_in_con>; 445*5d4e8cb4SGeert Uytterhoeven }; 446*5d4e8cb4SGeert Uytterhoeven }; 447*5d4e8cb4SGeert Uytterhoeven 448*5d4e8cb4SGeert Uytterhoeven port@a { 449*5d4e8cb4SGeert Uytterhoeven reg = <10>; 450*5d4e8cb4SGeert Uytterhoeven 451*5d4e8cb4SGeert Uytterhoeven adv7482_txa: endpoint { 452*5d4e8cb4SGeert Uytterhoeven clock-lanes = <0>; 453*5d4e8cb4SGeert Uytterhoeven data-lanes = <1 2>; 454*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&csi40_in>; 455*5d4e8cb4SGeert Uytterhoeven }; 456*5d4e8cb4SGeert Uytterhoeven }; 457*5d4e8cb4SGeert Uytterhoeven }; 458*5d4e8cb4SGeert Uytterhoeven}; 459*5d4e8cb4SGeert Uytterhoeven 460*5d4e8cb4SGeert Uytterhoeven&i2c3 { 461*5d4e8cb4SGeert Uytterhoeven status = "okay"; 462*5d4e8cb4SGeert Uytterhoeven 463*5d4e8cb4SGeert Uytterhoeven ak4613: codec@10 { 464*5d4e8cb4SGeert Uytterhoeven compatible = "asahi-kasei,ak4613"; 465*5d4e8cb4SGeert Uytterhoeven #sound-dai-cells = <0>; 466*5d4e8cb4SGeert Uytterhoeven reg = <0x10>; 467*5d4e8cb4SGeert Uytterhoeven clocks = <&rcar_sound 3>; 468*5d4e8cb4SGeert Uytterhoeven 469*5d4e8cb4SGeert Uytterhoeven asahi-kasei,in1-single-end; 470*5d4e8cb4SGeert Uytterhoeven asahi-kasei,in2-single-end; 471*5d4e8cb4SGeert Uytterhoeven asahi-kasei,out1-single-end; 472*5d4e8cb4SGeert Uytterhoeven asahi-kasei,out2-single-end; 473*5d4e8cb4SGeert Uytterhoeven asahi-kasei,out3-single-end; 474*5d4e8cb4SGeert Uytterhoeven asahi-kasei,out4-single-end; 475*5d4e8cb4SGeert Uytterhoeven asahi-kasei,out5-single-end; 476*5d4e8cb4SGeert Uytterhoeven asahi-kasei,out6-single-end; 477*5d4e8cb4SGeert Uytterhoeven }; 478*5d4e8cb4SGeert Uytterhoeven 479*5d4e8cb4SGeert Uytterhoeven cs2000: clk-multiplier@4f { 480*5d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 481*5d4e8cb4SGeert Uytterhoeven compatible = "cirrus,cs2000-cp"; 482*5d4e8cb4SGeert Uytterhoeven reg = <0x4f>; 483*5d4e8cb4SGeert Uytterhoeven clocks = <&audio_clkout>, <&x12_clk>; 484*5d4e8cb4SGeert Uytterhoeven clock-names = "clk_in", "ref_clk"; 485*5d4e8cb4SGeert Uytterhoeven 486*5d4e8cb4SGeert Uytterhoeven assigned-clocks = <&cs2000>; 487*5d4e8cb4SGeert Uytterhoeven assigned-clock-rates = <24576000>; /* 1/1 divide */ 488*5d4e8cb4SGeert Uytterhoeven }; 489*5d4e8cb4SGeert Uytterhoeven}; 490*5d4e8cb4SGeert Uytterhoeven 491*5d4e8cb4SGeert Uytterhoeven&i2c_dvfs { 492*5d4e8cb4SGeert Uytterhoeven status = "okay"; 493*5d4e8cb4SGeert Uytterhoeven 494*5d4e8cb4SGeert Uytterhoeven clock-frequency = <400000>; 495*5d4e8cb4SGeert Uytterhoeven 496*5d4e8cb4SGeert Uytterhoeven pmic: pmic@30 { 497*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&irq0_pins>; 498*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 499*5d4e8cb4SGeert Uytterhoeven 500*5d4e8cb4SGeert Uytterhoeven compatible = "rohm,bd9571mwv"; 501*5d4e8cb4SGeert Uytterhoeven reg = <0x30>; 502*5d4e8cb4SGeert Uytterhoeven interrupt-parent = <&intc_ex>; 503*5d4e8cb4SGeert Uytterhoeven interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 504*5d4e8cb4SGeert Uytterhoeven interrupt-controller; 505*5d4e8cb4SGeert Uytterhoeven #interrupt-cells = <2>; 506*5d4e8cb4SGeert Uytterhoeven gpio-controller; 507*5d4e8cb4SGeert Uytterhoeven #gpio-cells = <2>; 508*5d4e8cb4SGeert Uytterhoeven rohm,ddr-backup-power = <0x1>; 509*5d4e8cb4SGeert Uytterhoeven rohm,rstbmode-level; 510*5d4e8cb4SGeert Uytterhoeven }; 511*5d4e8cb4SGeert Uytterhoeven 512*5d4e8cb4SGeert Uytterhoeven eeprom@50 { 513*5d4e8cb4SGeert Uytterhoeven compatible = "rohm,br24t01", "atmel,24c01"; 514*5d4e8cb4SGeert Uytterhoeven reg = <0x50>; 515*5d4e8cb4SGeert Uytterhoeven pagesize = <8>; 516*5d4e8cb4SGeert Uytterhoeven }; 517*5d4e8cb4SGeert Uytterhoeven}; 518*5d4e8cb4SGeert Uytterhoeven 519*5d4e8cb4SGeert Uytterhoeven&lvds0 { 520*5d4e8cb4SGeert Uytterhoeven status = "okay"; 521*5d4e8cb4SGeert Uytterhoeven 522*5d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 727>, 523*5d4e8cb4SGeert Uytterhoeven <&x13_clk>, 524*5d4e8cb4SGeert Uytterhoeven <&extal_clk>; 525*5d4e8cb4SGeert Uytterhoeven clock-names = "fck", "dclkin.0", "extal"; 526*5d4e8cb4SGeert Uytterhoeven 527*5d4e8cb4SGeert Uytterhoeven ports { 528*5d4e8cb4SGeert Uytterhoeven port@1 { 529*5d4e8cb4SGeert Uytterhoeven lvds0_out: endpoint { 530*5d4e8cb4SGeert Uytterhoeven remote-endpoint = <&thc63lvd1024_in>; 531*5d4e8cb4SGeert Uytterhoeven }; 532*5d4e8cb4SGeert Uytterhoeven }; 533*5d4e8cb4SGeert Uytterhoeven }; 534*5d4e8cb4SGeert Uytterhoeven}; 535*5d4e8cb4SGeert Uytterhoeven 536*5d4e8cb4SGeert Uytterhoeven&lvds1 { 537*5d4e8cb4SGeert Uytterhoeven /* 538*5d4e8cb4SGeert Uytterhoeven * Even though the LVDS1 output is not connected, the encoder must be 539*5d4e8cb4SGeert Uytterhoeven * enabled to supply a pixel clock to the DU for the DPAD output when 540*5d4e8cb4SGeert Uytterhoeven * LVDS0 is in use. 541*5d4e8cb4SGeert Uytterhoeven */ 542*5d4e8cb4SGeert Uytterhoeven status = "okay"; 543*5d4e8cb4SGeert Uytterhoeven 544*5d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 727>, 545*5d4e8cb4SGeert Uytterhoeven <&x13_clk>, 546*5d4e8cb4SGeert Uytterhoeven <&extal_clk>; 547*5d4e8cb4SGeert Uytterhoeven clock-names = "fck", "dclkin.0", "extal"; 548*5d4e8cb4SGeert Uytterhoeven}; 549*5d4e8cb4SGeert Uytterhoeven 550*5d4e8cb4SGeert Uytterhoeven&ohci0 { 551*5d4e8cb4SGeert Uytterhoeven dr_mode = "otg"; 552*5d4e8cb4SGeert Uytterhoeven status = "okay"; 553*5d4e8cb4SGeert Uytterhoeven}; 554*5d4e8cb4SGeert Uytterhoeven 555*5d4e8cb4SGeert Uytterhoeven&pcie_bus_clk { 556*5d4e8cb4SGeert Uytterhoeven clock-frequency = <100000000>; 557*5d4e8cb4SGeert Uytterhoeven}; 558*5d4e8cb4SGeert Uytterhoeven 559*5d4e8cb4SGeert Uytterhoeven&pciec0 { 560*5d4e8cb4SGeert Uytterhoeven status = "okay"; 561*5d4e8cb4SGeert Uytterhoeven}; 562*5d4e8cb4SGeert Uytterhoeven 563*5d4e8cb4SGeert Uytterhoeven&pfc { 564*5d4e8cb4SGeert Uytterhoeven avb_pins: avb { 565*5d4e8cb4SGeert Uytterhoeven groups = "avb_link", "avb_mii"; 566*5d4e8cb4SGeert Uytterhoeven function = "avb"; 567*5d4e8cb4SGeert Uytterhoeven }; 568*5d4e8cb4SGeert Uytterhoeven 569*5d4e8cb4SGeert Uytterhoeven canfd0_pins: canfd0 { 570*5d4e8cb4SGeert Uytterhoeven groups = "canfd0_data"; 571*5d4e8cb4SGeert Uytterhoeven function = "canfd0"; 572*5d4e8cb4SGeert Uytterhoeven }; 573*5d4e8cb4SGeert Uytterhoeven 574*5d4e8cb4SGeert Uytterhoeven du_pins: du { 575*5d4e8cb4SGeert Uytterhoeven groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 576*5d4e8cb4SGeert Uytterhoeven function = "du"; 577*5d4e8cb4SGeert Uytterhoeven }; 578*5d4e8cb4SGeert Uytterhoeven 579*5d4e8cb4SGeert Uytterhoeven irq0_pins: irq0 { 580*5d4e8cb4SGeert Uytterhoeven groups = "intc_ex_irq0"; 581*5d4e8cb4SGeert Uytterhoeven function = "intc_ex"; 582*5d4e8cb4SGeert Uytterhoeven }; 583*5d4e8cb4SGeert Uytterhoeven 584*5d4e8cb4SGeert Uytterhoeven keys_pins: keys { 585*5d4e8cb4SGeert Uytterhoeven pins = "GP_5_10", "GP_5_11", "GP_5_12", "GP_5_13"; 586*5d4e8cb4SGeert Uytterhoeven bias-pull-up; 587*5d4e8cb4SGeert Uytterhoeven }; 588*5d4e8cb4SGeert Uytterhoeven 589*5d4e8cb4SGeert Uytterhoeven pwm3_pins: pwm3 { 590*5d4e8cb4SGeert Uytterhoeven groups = "pwm3_b"; 591*5d4e8cb4SGeert Uytterhoeven function = "pwm3"; 592*5d4e8cb4SGeert Uytterhoeven }; 593*5d4e8cb4SGeert Uytterhoeven 594*5d4e8cb4SGeert Uytterhoeven pwm5_pins: pwm5 { 595*5d4e8cb4SGeert Uytterhoeven groups = "pwm5_a"; 596*5d4e8cb4SGeert Uytterhoeven function = "pwm5"; 597*5d4e8cb4SGeert Uytterhoeven }; 598*5d4e8cb4SGeert Uytterhoeven 599*5d4e8cb4SGeert Uytterhoeven scif2_pins: scif2 { 600*5d4e8cb4SGeert Uytterhoeven groups = "scif2_data_a"; 601*5d4e8cb4SGeert Uytterhoeven function = "scif2"; 602*5d4e8cb4SGeert Uytterhoeven }; 603*5d4e8cb4SGeert Uytterhoeven 604*5d4e8cb4SGeert Uytterhoeven sdhi0_pins: sd0 { 605*5d4e8cb4SGeert Uytterhoeven groups = "sdhi0_data4", "sdhi0_ctrl"; 606*5d4e8cb4SGeert Uytterhoeven function = "sdhi0"; 607*5d4e8cb4SGeert Uytterhoeven power-source = <3300>; 608*5d4e8cb4SGeert Uytterhoeven }; 609*5d4e8cb4SGeert Uytterhoeven 610*5d4e8cb4SGeert Uytterhoeven sdhi0_pins_uhs: sd0_uhs { 611*5d4e8cb4SGeert Uytterhoeven groups = "sdhi0_data4", "sdhi0_ctrl"; 612*5d4e8cb4SGeert Uytterhoeven function = "sdhi0"; 613*5d4e8cb4SGeert Uytterhoeven power-source = <1800>; 614*5d4e8cb4SGeert Uytterhoeven }; 615*5d4e8cb4SGeert Uytterhoeven 616*5d4e8cb4SGeert Uytterhoeven sdhi1_pins: sd1 { 617*5d4e8cb4SGeert Uytterhoeven groups = "sdhi1_data4", "sdhi1_ctrl"; 618*5d4e8cb4SGeert Uytterhoeven function = "sdhi1"; 619*5d4e8cb4SGeert Uytterhoeven power-source = <3300>; 620*5d4e8cb4SGeert Uytterhoeven }; 621*5d4e8cb4SGeert Uytterhoeven 622*5d4e8cb4SGeert Uytterhoeven sdhi1_pins_uhs: sd1_uhs { 623*5d4e8cb4SGeert Uytterhoeven groups = "sdhi1_data4", "sdhi1_ctrl"; 624*5d4e8cb4SGeert Uytterhoeven function = "sdhi1"; 625*5d4e8cb4SGeert Uytterhoeven power-source = <1800>; 626*5d4e8cb4SGeert Uytterhoeven }; 627*5d4e8cb4SGeert Uytterhoeven 628*5d4e8cb4SGeert Uytterhoeven sdhi3_pins: sd3 { 629*5d4e8cb4SGeert Uytterhoeven groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; 630*5d4e8cb4SGeert Uytterhoeven function = "sdhi3"; 631*5d4e8cb4SGeert Uytterhoeven power-source = <1800>; 632*5d4e8cb4SGeert Uytterhoeven }; 633*5d4e8cb4SGeert Uytterhoeven 634*5d4e8cb4SGeert Uytterhoeven sound_clk_pins: sound_clk { 635*5d4e8cb4SGeert Uytterhoeven groups = "audio_clk_a", "audio_clk_b_a", "audio_clk_c_a", 636*5d4e8cb4SGeert Uytterhoeven "audio_clkout_a", "audio_clkout1_a"; 637*5d4e8cb4SGeert Uytterhoeven function = "audio_clk"; 638*5d4e8cb4SGeert Uytterhoeven }; 639*5d4e8cb4SGeert Uytterhoeven 640*5d4e8cb4SGeert Uytterhoeven sound_pins: sound { 641*5d4e8cb4SGeert Uytterhoeven groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data"; 642*5d4e8cb4SGeert Uytterhoeven function = "ssi"; 643*5d4e8cb4SGeert Uytterhoeven }; 644*5d4e8cb4SGeert Uytterhoeven 645*5d4e8cb4SGeert Uytterhoeven usb0_pins: usb { 646*5d4e8cb4SGeert Uytterhoeven groups = "usb0_b", "usb0_id"; 647*5d4e8cb4SGeert Uytterhoeven function = "usb0"; 648*5d4e8cb4SGeert Uytterhoeven }; 649*5d4e8cb4SGeert Uytterhoeven 650*5d4e8cb4SGeert Uytterhoeven usb30_pins: usb30 { 651*5d4e8cb4SGeert Uytterhoeven groups = "usb30"; 652*5d4e8cb4SGeert Uytterhoeven function = "usb30"; 653*5d4e8cb4SGeert Uytterhoeven }; 654*5d4e8cb4SGeert Uytterhoeven}; 655*5d4e8cb4SGeert Uytterhoeven 656*5d4e8cb4SGeert Uytterhoeven&pwm3 { 657*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&pwm3_pins>; 658*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 659*5d4e8cb4SGeert Uytterhoeven 660*5d4e8cb4SGeert Uytterhoeven status = "okay"; 661*5d4e8cb4SGeert Uytterhoeven}; 662*5d4e8cb4SGeert Uytterhoeven 663*5d4e8cb4SGeert Uytterhoeven&pwm5 { 664*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&pwm5_pins>; 665*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 666*5d4e8cb4SGeert Uytterhoeven 667*5d4e8cb4SGeert Uytterhoeven status = "okay"; 668*5d4e8cb4SGeert Uytterhoeven}; 669*5d4e8cb4SGeert Uytterhoeven 670*5d4e8cb4SGeert Uytterhoeven&rcar_sound { 671*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 672*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 673*5d4e8cb4SGeert Uytterhoeven 674*5d4e8cb4SGeert Uytterhoeven /* Single DAI */ 675*5d4e8cb4SGeert Uytterhoeven #sound-dai-cells = <0>; 676*5d4e8cb4SGeert Uytterhoeven 677*5d4e8cb4SGeert Uytterhoeven /* audio_clkout0/1/2/3 */ 678*5d4e8cb4SGeert Uytterhoeven #clock-cells = <1>; 679*5d4e8cb4SGeert Uytterhoeven clock-frequency = <12288000 11289600>; 680*5d4e8cb4SGeert Uytterhoeven 681*5d4e8cb4SGeert Uytterhoeven status = "okay"; 682*5d4e8cb4SGeert Uytterhoeven 683*5d4e8cb4SGeert Uytterhoeven /* update <audio_clk_b> to <cs2000> */ 684*5d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 1005>, 685*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 686*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 687*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 688*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 689*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 690*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 691*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 692*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 693*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 694*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 695*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 696*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 697*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 698*5d4e8cb4SGeert Uytterhoeven <&audio_clk_a>, <&cs2000>, <&audio_clk_c>, 699*5d4e8cb4SGeert Uytterhoeven <&cpg CPG_CORE R8A77990_CLK_ZA2>; 700*5d4e8cb4SGeert Uytterhoeven 701*5d4e8cb4SGeert Uytterhoeven rcar_sound,dai { 702*5d4e8cb4SGeert Uytterhoeven dai0 { 703*5d4e8cb4SGeert Uytterhoeven playback = <&ssi0>, <&src0>, <&dvc0>; 704*5d4e8cb4SGeert Uytterhoeven capture = <&ssi1>, <&src1>, <&dvc1>; 705*5d4e8cb4SGeert Uytterhoeven }; 706*5d4e8cb4SGeert Uytterhoeven }; 707*5d4e8cb4SGeert Uytterhoeven 708*5d4e8cb4SGeert Uytterhoeven}; 709*5d4e8cb4SGeert Uytterhoeven 710*5d4e8cb4SGeert Uytterhoeven&rwdt { 711*5d4e8cb4SGeert Uytterhoeven timeout-sec = <60>; 712*5d4e8cb4SGeert Uytterhoeven status = "okay"; 713*5d4e8cb4SGeert Uytterhoeven}; 714*5d4e8cb4SGeert Uytterhoeven 715*5d4e8cb4SGeert Uytterhoeven&scif2 { 716*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&scif2_pins>; 717*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 718*5d4e8cb4SGeert Uytterhoeven 719*5d4e8cb4SGeert Uytterhoeven status = "okay"; 720*5d4e8cb4SGeert Uytterhoeven}; 721*5d4e8cb4SGeert Uytterhoeven 722*5d4e8cb4SGeert Uytterhoeven&sdhi0 { 723*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sdhi0_pins>; 724*5d4e8cb4SGeert Uytterhoeven pinctrl-1 = <&sdhi0_pins_uhs>; 725*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default", "state_uhs"; 726*5d4e8cb4SGeert Uytterhoeven 727*5d4e8cb4SGeert Uytterhoeven vmmc-supply = <&vcc_sdhi0>; 728*5d4e8cb4SGeert Uytterhoeven vqmmc-supply = <&vccq_sdhi0>; 729*5d4e8cb4SGeert Uytterhoeven cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 730*5d4e8cb4SGeert Uytterhoeven wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 731*5d4e8cb4SGeert Uytterhoeven bus-width = <4>; 732*5d4e8cb4SGeert Uytterhoeven sd-uhs-sdr50; 733*5d4e8cb4SGeert Uytterhoeven sd-uhs-sdr104; 734*5d4e8cb4SGeert Uytterhoeven status = "okay"; 735*5d4e8cb4SGeert Uytterhoeven}; 736*5d4e8cb4SGeert Uytterhoeven 737*5d4e8cb4SGeert Uytterhoeven&sdhi1 { 738*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sdhi1_pins>; 739*5d4e8cb4SGeert Uytterhoeven pinctrl-1 = <&sdhi1_pins_uhs>; 740*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default", "state_uhs"; 741*5d4e8cb4SGeert Uytterhoeven 742*5d4e8cb4SGeert Uytterhoeven vmmc-supply = <&vcc_sdhi1>; 743*5d4e8cb4SGeert Uytterhoeven vqmmc-supply = <&vccq_sdhi1>; 744*5d4e8cb4SGeert Uytterhoeven cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>; 745*5d4e8cb4SGeert Uytterhoeven bus-width = <4>; 746*5d4e8cb4SGeert Uytterhoeven sd-uhs-sdr50; 747*5d4e8cb4SGeert Uytterhoeven sd-uhs-sdr104; 748*5d4e8cb4SGeert Uytterhoeven status = "okay"; 749*5d4e8cb4SGeert Uytterhoeven}; 750*5d4e8cb4SGeert Uytterhoeven 751*5d4e8cb4SGeert Uytterhoeven&sdhi3 { 752*5d4e8cb4SGeert Uytterhoeven /* used for on-board 8bit eMMC */ 753*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sdhi3_pins>; 754*5d4e8cb4SGeert Uytterhoeven pinctrl-1 = <&sdhi3_pins>; 755*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default", "state_uhs"; 756*5d4e8cb4SGeert Uytterhoeven 757*5d4e8cb4SGeert Uytterhoeven vmmc-supply = <®_3p3v>; 758*5d4e8cb4SGeert Uytterhoeven vqmmc-supply = <®_1p8v>; 759*5d4e8cb4SGeert Uytterhoeven mmc-hs200-1_8v; 760*5d4e8cb4SGeert Uytterhoeven mmc-hs400-1_8v; 761*5d4e8cb4SGeert Uytterhoeven bus-width = <8>; 762*5d4e8cb4SGeert Uytterhoeven no-sd; 763*5d4e8cb4SGeert Uytterhoeven no-sdio; 764*5d4e8cb4SGeert Uytterhoeven non-removable; 765*5d4e8cb4SGeert Uytterhoeven full-pwr-cycle-in-suspend; 766*5d4e8cb4SGeert Uytterhoeven status = "okay"; 767*5d4e8cb4SGeert Uytterhoeven}; 768*5d4e8cb4SGeert Uytterhoeven 769*5d4e8cb4SGeert Uytterhoeven&ssi1 { 770*5d4e8cb4SGeert Uytterhoeven shared-pin; 771*5d4e8cb4SGeert Uytterhoeven}; 772*5d4e8cb4SGeert Uytterhoeven 773*5d4e8cb4SGeert Uytterhoeven&usb2_phy0 { 774*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&usb0_pins>; 775*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 776*5d4e8cb4SGeert Uytterhoeven 777*5d4e8cb4SGeert Uytterhoeven vbus-supply = <&vbus0_usb2>; 778*5d4e8cb4SGeert Uytterhoeven status = "okay"; 779*5d4e8cb4SGeert Uytterhoeven}; 780*5d4e8cb4SGeert Uytterhoeven 781*5d4e8cb4SGeert Uytterhoeven&usb3_peri0 { 782*5d4e8cb4SGeert Uytterhoeven companion = <&xhci0>; 783*5d4e8cb4SGeert Uytterhoeven status = "okay"; 784*5d4e8cb4SGeert Uytterhoeven}; 785*5d4e8cb4SGeert Uytterhoeven 786*5d4e8cb4SGeert Uytterhoeven&vin4 { 787*5d4e8cb4SGeert Uytterhoeven status = "okay"; 788*5d4e8cb4SGeert Uytterhoeven}; 789*5d4e8cb4SGeert Uytterhoeven 790*5d4e8cb4SGeert Uytterhoeven&vin5 { 791*5d4e8cb4SGeert Uytterhoeven status = "okay"; 792*5d4e8cb4SGeert Uytterhoeven}; 793*5d4e8cb4SGeert Uytterhoeven 794*5d4e8cb4SGeert Uytterhoeven&xhci0 { 795*5d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&usb30_pins>; 796*5d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 797*5d4e8cb4SGeert Uytterhoeven 798*5d4e8cb4SGeert Uytterhoeven status = "okay"; 799*5d4e8cb4SGeert Uytterhoeven}; 800