15d4e8cb4SGeert Uytterhoeven// SPDX-License-Identifier: GPL-2.0 25d4e8cb4SGeert Uytterhoeven/* 3c083e9daSWolfram Sang * Device Tree Source for the Ebisu/Ebisu-4D board 45d4e8cb4SGeert Uytterhoeven * 55d4e8cb4SGeert Uytterhoeven * Copyright (C) 2018 Renesas Electronics Corp. 65d4e8cb4SGeert Uytterhoeven */ 75d4e8cb4SGeert Uytterhoeven 85d4e8cb4SGeert Uytterhoeven#include <dt-bindings/gpio/gpio.h> 95d4e8cb4SGeert Uytterhoeven#include <dt-bindings/input/input.h> 105d4e8cb4SGeert Uytterhoeven 115d4e8cb4SGeert Uytterhoeven/ { 125d4e8cb4SGeert Uytterhoeven model = "Renesas Ebisu board"; 135d4e8cb4SGeert Uytterhoeven compatible = "renesas,ebisu"; 145d4e8cb4SGeert Uytterhoeven 155d4e8cb4SGeert Uytterhoeven aliases { 16fb2a1609SWolfram Sang i2c0 = &i2c0; 17fb2a1609SWolfram Sang i2c1 = &i2c1; 18fb2a1609SWolfram Sang i2c2 = &i2c2; 19fb2a1609SWolfram Sang i2c3 = &i2c3; 20fb2a1609SWolfram Sang i2c4 = &i2c4; 21fb2a1609SWolfram Sang i2c5 = &i2c5; 22fb2a1609SWolfram Sang i2c6 = &i2c6; 23fb2a1609SWolfram Sang i2c7 = &i2c7; 245d4e8cb4SGeert Uytterhoeven serial0 = &scif2; 255d4e8cb4SGeert Uytterhoeven ethernet0 = &avb; 265d4e8cb4SGeert Uytterhoeven mmc0 = &sdhi3; 275d4e8cb4SGeert Uytterhoeven mmc1 = &sdhi0; 285d4e8cb4SGeert Uytterhoeven mmc2 = &sdhi1; 295d4e8cb4SGeert Uytterhoeven }; 305d4e8cb4SGeert Uytterhoeven 315d4e8cb4SGeert Uytterhoeven chosen { 325d4e8cb4SGeert Uytterhoeven bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 335d4e8cb4SGeert Uytterhoeven stdout-path = "serial0:115200n8"; 345d4e8cb4SGeert Uytterhoeven }; 355d4e8cb4SGeert Uytterhoeven 365d4e8cb4SGeert Uytterhoeven audio_clkout: audio-clkout { 375d4e8cb4SGeert Uytterhoeven /* 385d4e8cb4SGeert Uytterhoeven * This is same as <&rcar_sound 0> 395d4e8cb4SGeert Uytterhoeven * but needed to avoid cs2000/rcar_sound probe dead-lock 405d4e8cb4SGeert Uytterhoeven */ 415d4e8cb4SGeert Uytterhoeven compatible = "fixed-clock"; 425d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 435d4e8cb4SGeert Uytterhoeven clock-frequency = <11289600>; 445d4e8cb4SGeert Uytterhoeven }; 455d4e8cb4SGeert Uytterhoeven 465d4e8cb4SGeert Uytterhoeven backlight: backlight { 475d4e8cb4SGeert Uytterhoeven compatible = "pwm-backlight"; 485d4e8cb4SGeert Uytterhoeven pwms = <&pwm3 0 50000>; 495d4e8cb4SGeert Uytterhoeven 505d4e8cb4SGeert Uytterhoeven brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>; 515d4e8cb4SGeert Uytterhoeven default-brightness-level = <10>; 525d4e8cb4SGeert Uytterhoeven 535d4e8cb4SGeert Uytterhoeven power-supply = <®_12p0v>; 545d4e8cb4SGeert Uytterhoeven }; 555d4e8cb4SGeert Uytterhoeven 565d4e8cb4SGeert Uytterhoeven cvbs-in { 575d4e8cb4SGeert Uytterhoeven compatible = "composite-video-connector"; 585d4e8cb4SGeert Uytterhoeven label = "CVBS IN"; 595d4e8cb4SGeert Uytterhoeven 605d4e8cb4SGeert Uytterhoeven port { 615d4e8cb4SGeert Uytterhoeven cvbs_con: endpoint { 625d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7482_ain7>; 635d4e8cb4SGeert Uytterhoeven }; 645d4e8cb4SGeert Uytterhoeven }; 655d4e8cb4SGeert Uytterhoeven }; 665d4e8cb4SGeert Uytterhoeven 675d4e8cb4SGeert Uytterhoeven hdmi-in { 685d4e8cb4SGeert Uytterhoeven compatible = "hdmi-connector"; 695d4e8cb4SGeert Uytterhoeven label = "HDMI IN"; 705d4e8cb4SGeert Uytterhoeven type = "a"; 715d4e8cb4SGeert Uytterhoeven 725d4e8cb4SGeert Uytterhoeven port { 735d4e8cb4SGeert Uytterhoeven hdmi_in_con: endpoint { 745d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7482_hdmi>; 755d4e8cb4SGeert Uytterhoeven }; 765d4e8cb4SGeert Uytterhoeven }; 775d4e8cb4SGeert Uytterhoeven }; 785d4e8cb4SGeert Uytterhoeven 795d4e8cb4SGeert Uytterhoeven hdmi-out { 805d4e8cb4SGeert Uytterhoeven compatible = "hdmi-connector"; 815d4e8cb4SGeert Uytterhoeven type = "a"; 825d4e8cb4SGeert Uytterhoeven 835d4e8cb4SGeert Uytterhoeven port { 845d4e8cb4SGeert Uytterhoeven hdmi_con_out: endpoint { 855d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7511_out>; 865d4e8cb4SGeert Uytterhoeven }; 875d4e8cb4SGeert Uytterhoeven }; 885d4e8cb4SGeert Uytterhoeven }; 895d4e8cb4SGeert Uytterhoeven 905d4e8cb4SGeert Uytterhoeven keys { 915d4e8cb4SGeert Uytterhoeven compatible = "gpio-keys"; 925d4e8cb4SGeert Uytterhoeven 935d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&keys_pins>; 945d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 955d4e8cb4SGeert Uytterhoeven 965d4e8cb4SGeert Uytterhoeven key-1 { 975d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 10 GPIO_ACTIVE_LOW>; 985d4e8cb4SGeert Uytterhoeven linux,code = <KEY_1>; 995d4e8cb4SGeert Uytterhoeven label = "SW4-1"; 1005d4e8cb4SGeert Uytterhoeven wakeup-source; 1015d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 1025d4e8cb4SGeert Uytterhoeven }; 1035d4e8cb4SGeert Uytterhoeven key-2 { 1045d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 11 GPIO_ACTIVE_LOW>; 1055d4e8cb4SGeert Uytterhoeven linux,code = <KEY_2>; 1065d4e8cb4SGeert Uytterhoeven label = "SW4-2"; 1075d4e8cb4SGeert Uytterhoeven wakeup-source; 1085d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 1095d4e8cb4SGeert Uytterhoeven }; 1105d4e8cb4SGeert Uytterhoeven key-3 { 1115d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 1125d4e8cb4SGeert Uytterhoeven linux,code = <KEY_3>; 1135d4e8cb4SGeert Uytterhoeven label = "SW4-3"; 1145d4e8cb4SGeert Uytterhoeven wakeup-source; 1155d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 1165d4e8cb4SGeert Uytterhoeven }; 1175d4e8cb4SGeert Uytterhoeven key-4 { 1185d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 1195d4e8cb4SGeert Uytterhoeven linux,code = <KEY_4>; 1205d4e8cb4SGeert Uytterhoeven label = "SW4-4"; 1215d4e8cb4SGeert Uytterhoeven wakeup-source; 1225d4e8cb4SGeert Uytterhoeven debounce-interval = <20>; 1235d4e8cb4SGeert Uytterhoeven }; 1245d4e8cb4SGeert Uytterhoeven }; 1255d4e8cb4SGeert Uytterhoeven 1265d4e8cb4SGeert Uytterhoeven lvds-decoder { 1275d4e8cb4SGeert Uytterhoeven compatible = "thine,thc63lvd1024"; 1285d4e8cb4SGeert Uytterhoeven vcc-supply = <®_3p3v>; 1295d4e8cb4SGeert Uytterhoeven 1305d4e8cb4SGeert Uytterhoeven ports { 1315d4e8cb4SGeert Uytterhoeven #address-cells = <1>; 1325d4e8cb4SGeert Uytterhoeven #size-cells = <0>; 1335d4e8cb4SGeert Uytterhoeven 1345d4e8cb4SGeert Uytterhoeven port@0 { 1355d4e8cb4SGeert Uytterhoeven reg = <0>; 1365d4e8cb4SGeert Uytterhoeven thc63lvd1024_in: endpoint { 1375d4e8cb4SGeert Uytterhoeven remote-endpoint = <&lvds0_out>; 1385d4e8cb4SGeert Uytterhoeven }; 1395d4e8cb4SGeert Uytterhoeven }; 1405d4e8cb4SGeert Uytterhoeven 1415d4e8cb4SGeert Uytterhoeven port@2 { 1425d4e8cb4SGeert Uytterhoeven reg = <2>; 1435d4e8cb4SGeert Uytterhoeven thc63lvd1024_out: endpoint { 1445d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7511_in>; 1455d4e8cb4SGeert Uytterhoeven }; 1465d4e8cb4SGeert Uytterhoeven }; 1475d4e8cb4SGeert Uytterhoeven }; 1485d4e8cb4SGeert Uytterhoeven }; 1495d4e8cb4SGeert Uytterhoeven 1505d4e8cb4SGeert Uytterhoeven memory@48000000 { 1515d4e8cb4SGeert Uytterhoeven device_type = "memory"; 1525d4e8cb4SGeert Uytterhoeven /* first 128MB is reserved for secure area. */ 1535d4e8cb4SGeert Uytterhoeven reg = <0x0 0x48000000 0x0 0x38000000>; 1545d4e8cb4SGeert Uytterhoeven }; 1555d4e8cb4SGeert Uytterhoeven 1565cf12ac9SGeert Uytterhoeven reg_1p8v: regulator-1p8v { 1575d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 1585d4e8cb4SGeert Uytterhoeven regulator-name = "fixed-1.8V"; 1595d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <1800000>; 1605d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <1800000>; 1615d4e8cb4SGeert Uytterhoeven regulator-boot-on; 1625d4e8cb4SGeert Uytterhoeven regulator-always-on; 1635d4e8cb4SGeert Uytterhoeven }; 1645d4e8cb4SGeert Uytterhoeven 1655cf12ac9SGeert Uytterhoeven reg_3p3v: regulator-3p3v { 1665d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 1675d4e8cb4SGeert Uytterhoeven regulator-name = "fixed-3.3V"; 1685d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <3300000>; 1695d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 1705d4e8cb4SGeert Uytterhoeven regulator-boot-on; 1715d4e8cb4SGeert Uytterhoeven regulator-always-on; 1725d4e8cb4SGeert Uytterhoeven }; 1735d4e8cb4SGeert Uytterhoeven 1745cf12ac9SGeert Uytterhoeven reg_12p0v: regulator-12p0v { 1755d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 1765d4e8cb4SGeert Uytterhoeven regulator-name = "D12.0V"; 1775d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <12000000>; 1785d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <12000000>; 1795d4e8cb4SGeert Uytterhoeven regulator-boot-on; 1805d4e8cb4SGeert Uytterhoeven regulator-always-on; 1815d4e8cb4SGeert Uytterhoeven }; 1825d4e8cb4SGeert Uytterhoeven 1835d4e8cb4SGeert Uytterhoeven rsnd_ak4613: sound { 1845d4e8cb4SGeert Uytterhoeven compatible = "simple-audio-card"; 1855d4e8cb4SGeert Uytterhoeven 1865d4e8cb4SGeert Uytterhoeven simple-audio-card,name = "rsnd-ak4613"; 1875d4e8cb4SGeert Uytterhoeven simple-audio-card,format = "left_j"; 1885d4e8cb4SGeert Uytterhoeven simple-audio-card,bitclock-master = <&sndcpu>; 1895d4e8cb4SGeert Uytterhoeven simple-audio-card,frame-master = <&sndcpu>; 1905d4e8cb4SGeert Uytterhoeven 1915d4e8cb4SGeert Uytterhoeven sndcodec: simple-audio-card,codec { 1925d4e8cb4SGeert Uytterhoeven sound-dai = <&ak4613>; 1935d4e8cb4SGeert Uytterhoeven }; 1945d4e8cb4SGeert Uytterhoeven 1955d4e8cb4SGeert Uytterhoeven sndcpu: simple-audio-card,cpu { 1965d4e8cb4SGeert Uytterhoeven sound-dai = <&rcar_sound>; 1975d4e8cb4SGeert Uytterhoeven }; 1985d4e8cb4SGeert Uytterhoeven }; 1995d4e8cb4SGeert Uytterhoeven 2005d4e8cb4SGeert Uytterhoeven vbus0_usb2: regulator-vbus0-usb2 { 2015d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 2025d4e8cb4SGeert Uytterhoeven 2035d4e8cb4SGeert Uytterhoeven regulator-name = "USB20_VBUS_CN"; 2045d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <5000000>; 2055d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <5000000>; 2065d4e8cb4SGeert Uytterhoeven 2075d4e8cb4SGeert Uytterhoeven gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; 2085d4e8cb4SGeert Uytterhoeven enable-active-high; 2095d4e8cb4SGeert Uytterhoeven }; 2105d4e8cb4SGeert Uytterhoeven 2115d4e8cb4SGeert Uytterhoeven vcc_sdhi0: regulator-vcc-sdhi0 { 2125d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 2135d4e8cb4SGeert Uytterhoeven 2145d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI0 Vcc"; 2155d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <3300000>; 2165d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 2175d4e8cb4SGeert Uytterhoeven 2185d4e8cb4SGeert Uytterhoeven gpio = <&gpio5 17 GPIO_ACTIVE_HIGH>; 2195d4e8cb4SGeert Uytterhoeven enable-active-high; 2205d4e8cb4SGeert Uytterhoeven }; 2215d4e8cb4SGeert Uytterhoeven 2225d4e8cb4SGeert Uytterhoeven vccq_sdhi0: regulator-vccq-sdhi0 { 2235d4e8cb4SGeert Uytterhoeven compatible = "regulator-gpio"; 2245d4e8cb4SGeert Uytterhoeven 2255d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI0 VccQ"; 2265d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <1800000>; 2275d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 2285d4e8cb4SGeert Uytterhoeven 2295d4e8cb4SGeert Uytterhoeven gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; 2305d4e8cb4SGeert Uytterhoeven gpios-states = <1>; 2315d4e8cb4SGeert Uytterhoeven states = <3300000 1>, <1800000 0>; 2325d4e8cb4SGeert Uytterhoeven }; 2335d4e8cb4SGeert Uytterhoeven 2345d4e8cb4SGeert Uytterhoeven vcc_sdhi1: regulator-vcc-sdhi1 { 2355d4e8cb4SGeert Uytterhoeven compatible = "regulator-fixed"; 2365d4e8cb4SGeert Uytterhoeven 2375d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI1 Vcc"; 2385d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <3300000>; 2395d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 2405d4e8cb4SGeert Uytterhoeven 2415d4e8cb4SGeert Uytterhoeven gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; 2425d4e8cb4SGeert Uytterhoeven enable-active-high; 2435d4e8cb4SGeert Uytterhoeven }; 2445d4e8cb4SGeert Uytterhoeven 2455d4e8cb4SGeert Uytterhoeven vccq_sdhi1: regulator-vccq-sdhi1 { 2465d4e8cb4SGeert Uytterhoeven compatible = "regulator-gpio"; 2475d4e8cb4SGeert Uytterhoeven 2485d4e8cb4SGeert Uytterhoeven regulator-name = "SDHI1 VccQ"; 2495d4e8cb4SGeert Uytterhoeven regulator-min-microvolt = <1800000>; 2505d4e8cb4SGeert Uytterhoeven regulator-max-microvolt = <3300000>; 2515d4e8cb4SGeert Uytterhoeven 2525d4e8cb4SGeert Uytterhoeven gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 2535d4e8cb4SGeert Uytterhoeven gpios-states = <1>; 2545d4e8cb4SGeert Uytterhoeven states = <3300000 1>, <1800000 0>; 2555d4e8cb4SGeert Uytterhoeven }; 2565d4e8cb4SGeert Uytterhoeven 2575d4e8cb4SGeert Uytterhoeven vga { 2585d4e8cb4SGeert Uytterhoeven compatible = "vga-connector"; 2595d4e8cb4SGeert Uytterhoeven 2605d4e8cb4SGeert Uytterhoeven port { 2615d4e8cb4SGeert Uytterhoeven vga_in: endpoint { 2625d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7123_out>; 2635d4e8cb4SGeert Uytterhoeven }; 2645d4e8cb4SGeert Uytterhoeven }; 2655d4e8cb4SGeert Uytterhoeven }; 2665d4e8cb4SGeert Uytterhoeven 2675d4e8cb4SGeert Uytterhoeven vga-encoder { 2685d4e8cb4SGeert Uytterhoeven compatible = "adi,adv7123"; 2695d4e8cb4SGeert Uytterhoeven 2705d4e8cb4SGeert Uytterhoeven ports { 2715d4e8cb4SGeert Uytterhoeven #address-cells = <1>; 2725d4e8cb4SGeert Uytterhoeven #size-cells = <0>; 2735d4e8cb4SGeert Uytterhoeven 2745d4e8cb4SGeert Uytterhoeven port@0 { 2755d4e8cb4SGeert Uytterhoeven reg = <0>; 2765d4e8cb4SGeert Uytterhoeven adv7123_in: endpoint { 2775d4e8cb4SGeert Uytterhoeven remote-endpoint = <&du_out_rgb>; 2785d4e8cb4SGeert Uytterhoeven }; 2795d4e8cb4SGeert Uytterhoeven }; 2805d4e8cb4SGeert Uytterhoeven port@1 { 2815d4e8cb4SGeert Uytterhoeven reg = <1>; 2825d4e8cb4SGeert Uytterhoeven adv7123_out: endpoint { 2835d4e8cb4SGeert Uytterhoeven remote-endpoint = <&vga_in>; 2845d4e8cb4SGeert Uytterhoeven }; 2855d4e8cb4SGeert Uytterhoeven }; 2865d4e8cb4SGeert Uytterhoeven }; 2875d4e8cb4SGeert Uytterhoeven }; 2885d4e8cb4SGeert Uytterhoeven 2895d4e8cb4SGeert Uytterhoeven x12_clk: x12 { 2905d4e8cb4SGeert Uytterhoeven compatible = "fixed-clock"; 2915d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 2925d4e8cb4SGeert Uytterhoeven clock-frequency = <24576000>; 2935d4e8cb4SGeert Uytterhoeven }; 2945d4e8cb4SGeert Uytterhoeven 2955d4e8cb4SGeert Uytterhoeven x13_clk: x13 { 2965d4e8cb4SGeert Uytterhoeven compatible = "fixed-clock"; 2975d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 2985d4e8cb4SGeert Uytterhoeven clock-frequency = <74250000>; 2995d4e8cb4SGeert Uytterhoeven }; 3005d4e8cb4SGeert Uytterhoeven}; 3015d4e8cb4SGeert Uytterhoeven 3025d4e8cb4SGeert Uytterhoeven&audio_clk_a { 3035d4e8cb4SGeert Uytterhoeven clock-frequency = <22579200>; 3045d4e8cb4SGeert Uytterhoeven}; 3055d4e8cb4SGeert Uytterhoeven 3065d4e8cb4SGeert Uytterhoeven&avb { 3075d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&avb_pins>; 3085d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 3095d4e8cb4SGeert Uytterhoeven phy-handle = <&phy0>; 3105d4e8cb4SGeert Uytterhoeven status = "okay"; 3115d4e8cb4SGeert Uytterhoeven 3125d4e8cb4SGeert Uytterhoeven phy0: ethernet-phy@0 { 313722d55f3SGeert Uytterhoeven compatible = "ethernet-phy-id0022.1622", 314722d55f3SGeert Uytterhoeven "ethernet-phy-ieee802.3-c22"; 3155d4e8cb4SGeert Uytterhoeven rxc-skew-ps = <1500>; 3165d4e8cb4SGeert Uytterhoeven reg = <0>; 3175d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio2>; 3185d4e8cb4SGeert Uytterhoeven interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 3195d4e8cb4SGeert Uytterhoeven reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>; 3205d4e8cb4SGeert Uytterhoeven /* 3215d4e8cb4SGeert Uytterhoeven * TX clock internal delay mode is required for reliable 3225d4e8cb4SGeert Uytterhoeven * 1Gbps communication using the KSZ9031RNX phy present on 3235d4e8cb4SGeert Uytterhoeven * the Ebisu board, however, TX clock internal delay mode 3245d4e8cb4SGeert Uytterhoeven * isn't supported on R-Car E3(e). Thus, limit speed to 3255d4e8cb4SGeert Uytterhoeven * 100Mbps for reliable communication. 3265d4e8cb4SGeert Uytterhoeven */ 3275d4e8cb4SGeert Uytterhoeven max-speed = <100>; 3285d4e8cb4SGeert Uytterhoeven }; 3295d4e8cb4SGeert Uytterhoeven}; 3305d4e8cb4SGeert Uytterhoeven 3315d4e8cb4SGeert Uytterhoeven&canfd { 3325d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&canfd0_pins>; 3335d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 3345d4e8cb4SGeert Uytterhoeven status = "okay"; 3355d4e8cb4SGeert Uytterhoeven 3365d4e8cb4SGeert Uytterhoeven channel0 { 3375d4e8cb4SGeert Uytterhoeven status = "okay"; 3385d4e8cb4SGeert Uytterhoeven }; 3395d4e8cb4SGeert Uytterhoeven}; 3405d4e8cb4SGeert Uytterhoeven 3415d4e8cb4SGeert Uytterhoeven&csi40 { 3425d4e8cb4SGeert Uytterhoeven status = "okay"; 3435d4e8cb4SGeert Uytterhoeven 3445d4e8cb4SGeert Uytterhoeven ports { 3455d4e8cb4SGeert Uytterhoeven port@0 { 3465d4e8cb4SGeert Uytterhoeven csi40_in: endpoint { 3475d4e8cb4SGeert Uytterhoeven clock-lanes = <0>; 3485d4e8cb4SGeert Uytterhoeven data-lanes = <1 2>; 3495d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7482_txa>; 3505d4e8cb4SGeert Uytterhoeven }; 3515d4e8cb4SGeert Uytterhoeven }; 3525d4e8cb4SGeert Uytterhoeven }; 3535d4e8cb4SGeert Uytterhoeven}; 3545d4e8cb4SGeert Uytterhoeven 3555d4e8cb4SGeert Uytterhoeven&du { 3565d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&du_pins>; 3575d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 3585d4e8cb4SGeert Uytterhoeven status = "okay"; 3595d4e8cb4SGeert Uytterhoeven 3605d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 724>, 3615d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 723>, 3625d4e8cb4SGeert Uytterhoeven <&x13_clk>; 3635d4e8cb4SGeert Uytterhoeven clock-names = "du.0", "du.1", "dclkin.0"; 3645d4e8cb4SGeert Uytterhoeven 3655d4e8cb4SGeert Uytterhoeven ports { 3665d4e8cb4SGeert Uytterhoeven port@0 { 367747bbcd3SLaurent Pinchart du_out_rgb: endpoint { 3685d4e8cb4SGeert Uytterhoeven remote-endpoint = <&adv7123_in>; 3695d4e8cb4SGeert Uytterhoeven }; 3705d4e8cb4SGeert Uytterhoeven }; 3715d4e8cb4SGeert Uytterhoeven }; 3725d4e8cb4SGeert Uytterhoeven}; 3735d4e8cb4SGeert Uytterhoeven 3745d4e8cb4SGeert Uytterhoeven&ehci0 { 3755d4e8cb4SGeert Uytterhoeven dr_mode = "otg"; 3765d4e8cb4SGeert Uytterhoeven status = "okay"; 3775d4e8cb4SGeert Uytterhoeven}; 3785d4e8cb4SGeert Uytterhoeven 3795d4e8cb4SGeert Uytterhoeven&extal_clk { 3805d4e8cb4SGeert Uytterhoeven clock-frequency = <48000000>; 3815d4e8cb4SGeert Uytterhoeven}; 3825d4e8cb4SGeert Uytterhoeven 3835d4e8cb4SGeert Uytterhoeven&hsusb { 3845d4e8cb4SGeert Uytterhoeven dr_mode = "otg"; 3855d4e8cb4SGeert Uytterhoeven status = "okay"; 3865d4e8cb4SGeert Uytterhoeven}; 3875d4e8cb4SGeert Uytterhoeven 3885d4e8cb4SGeert Uytterhoeven&i2c0 { 3895d4e8cb4SGeert Uytterhoeven status = "okay"; 3905d4e8cb4SGeert Uytterhoeven 3915d4e8cb4SGeert Uytterhoeven io_expander: gpio@20 { 3925d4e8cb4SGeert Uytterhoeven compatible = "onnn,pca9654"; 3935d4e8cb4SGeert Uytterhoeven reg = <0x20>; 3945d4e8cb4SGeert Uytterhoeven gpio-controller; 3955d4e8cb4SGeert Uytterhoeven #gpio-cells = <2>; 3965d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio2>; 3975d4e8cb4SGeert Uytterhoeven interrupts = <22 IRQ_TYPE_LEVEL_LOW>; 3985d4e8cb4SGeert Uytterhoeven }; 3995d4e8cb4SGeert Uytterhoeven 4005d4e8cb4SGeert Uytterhoeven hdmi-encoder@39 { 4015d4e8cb4SGeert Uytterhoeven compatible = "adi,adv7511w"; 4025d4e8cb4SGeert Uytterhoeven reg = <0x39>; 4035d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio1>; 4045d4e8cb4SGeert Uytterhoeven interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 4055d4e8cb4SGeert Uytterhoeven 406*74c3bb48SGeert Uytterhoeven avdd-supply = <®_1p8v>; 407*74c3bb48SGeert Uytterhoeven dvdd-supply = <®_1p8v>; 408*74c3bb48SGeert Uytterhoeven pvdd-supply = <®_1p8v>; 409*74c3bb48SGeert Uytterhoeven dvdd-3v-supply = <®_3p3v>; 410*74c3bb48SGeert Uytterhoeven bgvdd-supply = <®_1p8v>; 411*74c3bb48SGeert Uytterhoeven 4125d4e8cb4SGeert Uytterhoeven adi,input-depth = <8>; 4135d4e8cb4SGeert Uytterhoeven adi,input-colorspace = "rgb"; 4145d4e8cb4SGeert Uytterhoeven adi,input-clock = "1x"; 4155d4e8cb4SGeert Uytterhoeven 4165d4e8cb4SGeert Uytterhoeven ports { 4175d4e8cb4SGeert Uytterhoeven #address-cells = <1>; 4185d4e8cb4SGeert Uytterhoeven #size-cells = <0>; 4195d4e8cb4SGeert Uytterhoeven 4205d4e8cb4SGeert Uytterhoeven port@0 { 4215d4e8cb4SGeert Uytterhoeven reg = <0>; 4225d4e8cb4SGeert Uytterhoeven adv7511_in: endpoint { 4235d4e8cb4SGeert Uytterhoeven remote-endpoint = <&thc63lvd1024_out>; 4245d4e8cb4SGeert Uytterhoeven }; 4255d4e8cb4SGeert Uytterhoeven }; 4265d4e8cb4SGeert Uytterhoeven 4275d4e8cb4SGeert Uytterhoeven port@1 { 4285d4e8cb4SGeert Uytterhoeven reg = <1>; 4295d4e8cb4SGeert Uytterhoeven adv7511_out: endpoint { 4305d4e8cb4SGeert Uytterhoeven remote-endpoint = <&hdmi_con_out>; 4315d4e8cb4SGeert Uytterhoeven }; 4325d4e8cb4SGeert Uytterhoeven }; 4335d4e8cb4SGeert Uytterhoeven }; 4345d4e8cb4SGeert Uytterhoeven }; 4355d4e8cb4SGeert Uytterhoeven 4365d4e8cb4SGeert Uytterhoeven video-receiver@70 { 4375d4e8cb4SGeert Uytterhoeven compatible = "adi,adv7482"; 4385d4e8cb4SGeert Uytterhoeven reg = <0x70>; 4395d4e8cb4SGeert Uytterhoeven 4405d4e8cb4SGeert Uytterhoeven interrupt-parent = <&gpio0>; 4415d4e8cb4SGeert Uytterhoeven interrupt-names = "intrq1", "intrq2"; 4425d4e8cb4SGeert Uytterhoeven interrupts = <7 IRQ_TYPE_LEVEL_LOW>, 4435d4e8cb4SGeert Uytterhoeven <17 IRQ_TYPE_LEVEL_LOW>; 4445d4e8cb4SGeert Uytterhoeven 445c534e655SNiklas Söderlund ports { 446c534e655SNiklas Söderlund #address-cells = <1>; 447c534e655SNiklas Söderlund #size-cells = <0>; 448c534e655SNiklas Söderlund 4495d4e8cb4SGeert Uytterhoeven port@7 { 4505d4e8cb4SGeert Uytterhoeven reg = <7>; 4515d4e8cb4SGeert Uytterhoeven 4525d4e8cb4SGeert Uytterhoeven adv7482_ain7: endpoint { 4535d4e8cb4SGeert Uytterhoeven remote-endpoint = <&cvbs_con>; 4545d4e8cb4SGeert Uytterhoeven }; 4555d4e8cb4SGeert Uytterhoeven }; 4565d4e8cb4SGeert Uytterhoeven 4575d4e8cb4SGeert Uytterhoeven port@8 { 4585d4e8cb4SGeert Uytterhoeven reg = <8>; 4595d4e8cb4SGeert Uytterhoeven 4605d4e8cb4SGeert Uytterhoeven adv7482_hdmi: endpoint { 4615d4e8cb4SGeert Uytterhoeven remote-endpoint = <&hdmi_in_con>; 4625d4e8cb4SGeert Uytterhoeven }; 4635d4e8cb4SGeert Uytterhoeven }; 4645d4e8cb4SGeert Uytterhoeven 4655d4e8cb4SGeert Uytterhoeven port@a { 4665d4e8cb4SGeert Uytterhoeven reg = <10>; 4675d4e8cb4SGeert Uytterhoeven 4685d4e8cb4SGeert Uytterhoeven adv7482_txa: endpoint { 4695d4e8cb4SGeert Uytterhoeven clock-lanes = <0>; 4705d4e8cb4SGeert Uytterhoeven data-lanes = <1 2>; 4715d4e8cb4SGeert Uytterhoeven remote-endpoint = <&csi40_in>; 4725d4e8cb4SGeert Uytterhoeven }; 4735d4e8cb4SGeert Uytterhoeven }; 4745d4e8cb4SGeert Uytterhoeven }; 4755d4e8cb4SGeert Uytterhoeven }; 476c534e655SNiklas Söderlund}; 4775d4e8cb4SGeert Uytterhoeven 4785d4e8cb4SGeert Uytterhoeven&i2c3 { 4795d4e8cb4SGeert Uytterhoeven status = "okay"; 4805d4e8cb4SGeert Uytterhoeven 4815d4e8cb4SGeert Uytterhoeven ak4613: codec@10 { 4825d4e8cb4SGeert Uytterhoeven compatible = "asahi-kasei,ak4613"; 4835d4e8cb4SGeert Uytterhoeven #sound-dai-cells = <0>; 4845d4e8cb4SGeert Uytterhoeven reg = <0x10>; 4855d4e8cb4SGeert Uytterhoeven clocks = <&rcar_sound 3>; 4865d4e8cb4SGeert Uytterhoeven 4875d4e8cb4SGeert Uytterhoeven asahi-kasei,in1-single-end; 4885d4e8cb4SGeert Uytterhoeven asahi-kasei,in2-single-end; 4895d4e8cb4SGeert Uytterhoeven asahi-kasei,out1-single-end; 4905d4e8cb4SGeert Uytterhoeven asahi-kasei,out2-single-end; 4915d4e8cb4SGeert Uytterhoeven asahi-kasei,out3-single-end; 4925d4e8cb4SGeert Uytterhoeven asahi-kasei,out4-single-end; 4935d4e8cb4SGeert Uytterhoeven asahi-kasei,out5-single-end; 4945d4e8cb4SGeert Uytterhoeven asahi-kasei,out6-single-end; 4955d4e8cb4SGeert Uytterhoeven }; 4965d4e8cb4SGeert Uytterhoeven 4975d4e8cb4SGeert Uytterhoeven cs2000: clk-multiplier@4f { 4985d4e8cb4SGeert Uytterhoeven #clock-cells = <0>; 4995d4e8cb4SGeert Uytterhoeven compatible = "cirrus,cs2000-cp"; 5005d4e8cb4SGeert Uytterhoeven reg = <0x4f>; 5015d4e8cb4SGeert Uytterhoeven clocks = <&audio_clkout>, <&x12_clk>; 5025d4e8cb4SGeert Uytterhoeven clock-names = "clk_in", "ref_clk"; 5035d4e8cb4SGeert Uytterhoeven 5045d4e8cb4SGeert Uytterhoeven assigned-clocks = <&cs2000>; 5055d4e8cb4SGeert Uytterhoeven assigned-clock-rates = <24576000>; /* 1/1 divide */ 5065d4e8cb4SGeert Uytterhoeven }; 5075d4e8cb4SGeert Uytterhoeven}; 5085d4e8cb4SGeert Uytterhoeven 5095d4e8cb4SGeert Uytterhoeven&i2c_dvfs { 5105d4e8cb4SGeert Uytterhoeven status = "okay"; 5115d4e8cb4SGeert Uytterhoeven 5125d4e8cb4SGeert Uytterhoeven clock-frequency = <400000>; 5135d4e8cb4SGeert Uytterhoeven 5145d4e8cb4SGeert Uytterhoeven pmic: pmic@30 { 5155d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&irq0_pins>; 5165d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 5175d4e8cb4SGeert Uytterhoeven 5185d4e8cb4SGeert Uytterhoeven compatible = "rohm,bd9571mwv"; 5195d4e8cb4SGeert Uytterhoeven reg = <0x30>; 5205d4e8cb4SGeert Uytterhoeven interrupt-parent = <&intc_ex>; 5215d4e8cb4SGeert Uytterhoeven interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 5225d4e8cb4SGeert Uytterhoeven interrupt-controller; 5235d4e8cb4SGeert Uytterhoeven #interrupt-cells = <2>; 5245d4e8cb4SGeert Uytterhoeven gpio-controller; 5255d4e8cb4SGeert Uytterhoeven #gpio-cells = <2>; 5265d4e8cb4SGeert Uytterhoeven rohm,ddr-backup-power = <0x1>; 5275d4e8cb4SGeert Uytterhoeven rohm,rstbmode-level; 5285d4e8cb4SGeert Uytterhoeven }; 5295d4e8cb4SGeert Uytterhoeven 5305d4e8cb4SGeert Uytterhoeven eeprom@50 { 5315d4e8cb4SGeert Uytterhoeven compatible = "rohm,br24t01", "atmel,24c01"; 5325d4e8cb4SGeert Uytterhoeven reg = <0x50>; 5335d4e8cb4SGeert Uytterhoeven pagesize = <8>; 5345d4e8cb4SGeert Uytterhoeven }; 5355d4e8cb4SGeert Uytterhoeven}; 5365d4e8cb4SGeert Uytterhoeven 5375d4e8cb4SGeert Uytterhoeven&lvds0 { 5385d4e8cb4SGeert Uytterhoeven status = "okay"; 5395d4e8cb4SGeert Uytterhoeven 5405d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 727>, 5415d4e8cb4SGeert Uytterhoeven <&x13_clk>, 5425d4e8cb4SGeert Uytterhoeven <&extal_clk>; 5435d4e8cb4SGeert Uytterhoeven clock-names = "fck", "dclkin.0", "extal"; 5445d4e8cb4SGeert Uytterhoeven 5455d4e8cb4SGeert Uytterhoeven ports { 5465d4e8cb4SGeert Uytterhoeven port@1 { 5475d4e8cb4SGeert Uytterhoeven lvds0_out: endpoint { 5485d4e8cb4SGeert Uytterhoeven remote-endpoint = <&thc63lvd1024_in>; 5495d4e8cb4SGeert Uytterhoeven }; 5505d4e8cb4SGeert Uytterhoeven }; 5515d4e8cb4SGeert Uytterhoeven }; 5525d4e8cb4SGeert Uytterhoeven}; 5535d4e8cb4SGeert Uytterhoeven 5545d4e8cb4SGeert Uytterhoeven&lvds1 { 5555d4e8cb4SGeert Uytterhoeven /* 5565d4e8cb4SGeert Uytterhoeven * Even though the LVDS1 output is not connected, the encoder must be 5575d4e8cb4SGeert Uytterhoeven * enabled to supply a pixel clock to the DU for the DPAD output when 5585d4e8cb4SGeert Uytterhoeven * LVDS0 is in use. 5595d4e8cb4SGeert Uytterhoeven */ 5605d4e8cb4SGeert Uytterhoeven status = "okay"; 5615d4e8cb4SGeert Uytterhoeven 5625d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 727>, 5635d4e8cb4SGeert Uytterhoeven <&x13_clk>, 5645d4e8cb4SGeert Uytterhoeven <&extal_clk>; 5655d4e8cb4SGeert Uytterhoeven clock-names = "fck", "dclkin.0", "extal"; 5665d4e8cb4SGeert Uytterhoeven}; 5675d4e8cb4SGeert Uytterhoeven 5685d4e8cb4SGeert Uytterhoeven&ohci0 { 5695d4e8cb4SGeert Uytterhoeven dr_mode = "otg"; 5705d4e8cb4SGeert Uytterhoeven status = "okay"; 5715d4e8cb4SGeert Uytterhoeven}; 5725d4e8cb4SGeert Uytterhoeven 5735d4e8cb4SGeert Uytterhoeven&pcie_bus_clk { 5745d4e8cb4SGeert Uytterhoeven clock-frequency = <100000000>; 5755d4e8cb4SGeert Uytterhoeven}; 5765d4e8cb4SGeert Uytterhoeven 5775d4e8cb4SGeert Uytterhoeven&pciec0 { 5785d4e8cb4SGeert Uytterhoeven status = "okay"; 5795d4e8cb4SGeert Uytterhoeven}; 5805d4e8cb4SGeert Uytterhoeven 5815d4e8cb4SGeert Uytterhoeven&pfc { 5825d4e8cb4SGeert Uytterhoeven avb_pins: avb { 5835d4e8cb4SGeert Uytterhoeven groups = "avb_link", "avb_mii"; 5845d4e8cb4SGeert Uytterhoeven function = "avb"; 5855d4e8cb4SGeert Uytterhoeven }; 5865d4e8cb4SGeert Uytterhoeven 5875d4e8cb4SGeert Uytterhoeven canfd0_pins: canfd0 { 5885d4e8cb4SGeert Uytterhoeven groups = "canfd0_data"; 5895d4e8cb4SGeert Uytterhoeven function = "canfd0"; 5905d4e8cb4SGeert Uytterhoeven }; 5915d4e8cb4SGeert Uytterhoeven 5925d4e8cb4SGeert Uytterhoeven du_pins: du { 5935d4e8cb4SGeert Uytterhoeven groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 5945d4e8cb4SGeert Uytterhoeven function = "du"; 5955d4e8cb4SGeert Uytterhoeven }; 5965d4e8cb4SGeert Uytterhoeven 5975d4e8cb4SGeert Uytterhoeven irq0_pins: irq0 { 5985d4e8cb4SGeert Uytterhoeven groups = "intc_ex_irq0"; 5995d4e8cb4SGeert Uytterhoeven function = "intc_ex"; 6005d4e8cb4SGeert Uytterhoeven }; 6015d4e8cb4SGeert Uytterhoeven 6025d4e8cb4SGeert Uytterhoeven keys_pins: keys { 6035d4e8cb4SGeert Uytterhoeven pins = "GP_5_10", "GP_5_11", "GP_5_12", "GP_5_13"; 6045d4e8cb4SGeert Uytterhoeven bias-pull-up; 6055d4e8cb4SGeert Uytterhoeven }; 6065d4e8cb4SGeert Uytterhoeven 6075d4e8cb4SGeert Uytterhoeven pwm3_pins: pwm3 { 6085d4e8cb4SGeert Uytterhoeven groups = "pwm3_b"; 6095d4e8cb4SGeert Uytterhoeven function = "pwm3"; 6105d4e8cb4SGeert Uytterhoeven }; 6115d4e8cb4SGeert Uytterhoeven 6125d4e8cb4SGeert Uytterhoeven pwm5_pins: pwm5 { 6135d4e8cb4SGeert Uytterhoeven groups = "pwm5_a"; 6145d4e8cb4SGeert Uytterhoeven function = "pwm5"; 6155d4e8cb4SGeert Uytterhoeven }; 6165d4e8cb4SGeert Uytterhoeven 6175f300a7fSGeert Uytterhoeven rpc_pins: rpc { 6185f300a7fSGeert Uytterhoeven groups = "rpc_clk2", "rpc_ctrl", "rpc_data", "rpc_reset", 6195f300a7fSGeert Uytterhoeven "rpc_int"; 6205f300a7fSGeert Uytterhoeven function = "rpc"; 6215f300a7fSGeert Uytterhoeven }; 6225f300a7fSGeert Uytterhoeven 6235d4e8cb4SGeert Uytterhoeven scif2_pins: scif2 { 6245d4e8cb4SGeert Uytterhoeven groups = "scif2_data_a"; 6255d4e8cb4SGeert Uytterhoeven function = "scif2"; 6265d4e8cb4SGeert Uytterhoeven }; 6275d4e8cb4SGeert Uytterhoeven 6285d4e8cb4SGeert Uytterhoeven sdhi0_pins: sd0 { 6295d4e8cb4SGeert Uytterhoeven groups = "sdhi0_data4", "sdhi0_ctrl"; 6305d4e8cb4SGeert Uytterhoeven function = "sdhi0"; 6315d4e8cb4SGeert Uytterhoeven power-source = <3300>; 6325d4e8cb4SGeert Uytterhoeven }; 6335d4e8cb4SGeert Uytterhoeven 6345d4e8cb4SGeert Uytterhoeven sdhi0_pins_uhs: sd0_uhs { 6355d4e8cb4SGeert Uytterhoeven groups = "sdhi0_data4", "sdhi0_ctrl"; 6365d4e8cb4SGeert Uytterhoeven function = "sdhi0"; 6375d4e8cb4SGeert Uytterhoeven power-source = <1800>; 6385d4e8cb4SGeert Uytterhoeven }; 6395d4e8cb4SGeert Uytterhoeven 6405d4e8cb4SGeert Uytterhoeven sdhi1_pins: sd1 { 6415d4e8cb4SGeert Uytterhoeven groups = "sdhi1_data4", "sdhi1_ctrl"; 6425d4e8cb4SGeert Uytterhoeven function = "sdhi1"; 6435d4e8cb4SGeert Uytterhoeven power-source = <3300>; 6445d4e8cb4SGeert Uytterhoeven }; 6455d4e8cb4SGeert Uytterhoeven 6465d4e8cb4SGeert Uytterhoeven sdhi1_pins_uhs: sd1_uhs { 6475d4e8cb4SGeert Uytterhoeven groups = "sdhi1_data4", "sdhi1_ctrl"; 6485d4e8cb4SGeert Uytterhoeven function = "sdhi1"; 6495d4e8cb4SGeert Uytterhoeven power-source = <1800>; 6505d4e8cb4SGeert Uytterhoeven }; 6515d4e8cb4SGeert Uytterhoeven 6525d4e8cb4SGeert Uytterhoeven sdhi3_pins: sd3 { 6535d4e8cb4SGeert Uytterhoeven groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; 6545d4e8cb4SGeert Uytterhoeven function = "sdhi3"; 6555d4e8cb4SGeert Uytterhoeven power-source = <1800>; 6565d4e8cb4SGeert Uytterhoeven }; 6575d4e8cb4SGeert Uytterhoeven 6585d4e8cb4SGeert Uytterhoeven sound_clk_pins: sound_clk { 6595d4e8cb4SGeert Uytterhoeven groups = "audio_clk_a", "audio_clk_b_a", "audio_clk_c_a", 6605d4e8cb4SGeert Uytterhoeven "audio_clkout_a", "audio_clkout1_a"; 6615d4e8cb4SGeert Uytterhoeven function = "audio_clk"; 6625d4e8cb4SGeert Uytterhoeven }; 6635d4e8cb4SGeert Uytterhoeven 6645d4e8cb4SGeert Uytterhoeven sound_pins: sound { 6655d4e8cb4SGeert Uytterhoeven groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data"; 6665d4e8cb4SGeert Uytterhoeven function = "ssi"; 6675d4e8cb4SGeert Uytterhoeven }; 6685d4e8cb4SGeert Uytterhoeven 6695d4e8cb4SGeert Uytterhoeven usb0_pins: usb { 6705d4e8cb4SGeert Uytterhoeven groups = "usb0_b", "usb0_id"; 6715d4e8cb4SGeert Uytterhoeven function = "usb0"; 6725d4e8cb4SGeert Uytterhoeven }; 6735d4e8cb4SGeert Uytterhoeven 6745d4e8cb4SGeert Uytterhoeven usb30_pins: usb30 { 6755d4e8cb4SGeert Uytterhoeven groups = "usb30"; 6765d4e8cb4SGeert Uytterhoeven function = "usb30"; 6775d4e8cb4SGeert Uytterhoeven }; 6785d4e8cb4SGeert Uytterhoeven}; 6795d4e8cb4SGeert Uytterhoeven 6805d4e8cb4SGeert Uytterhoeven&pwm3 { 6815d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&pwm3_pins>; 6825d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 6835d4e8cb4SGeert Uytterhoeven 6845d4e8cb4SGeert Uytterhoeven status = "okay"; 6855d4e8cb4SGeert Uytterhoeven}; 6865d4e8cb4SGeert Uytterhoeven 6875d4e8cb4SGeert Uytterhoeven&pwm5 { 6885d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&pwm5_pins>; 6895d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 6905d4e8cb4SGeert Uytterhoeven 6915d4e8cb4SGeert Uytterhoeven status = "okay"; 6925d4e8cb4SGeert Uytterhoeven}; 6935d4e8cb4SGeert Uytterhoeven 6945d4e8cb4SGeert Uytterhoeven&rcar_sound { 6955d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 6965d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 6975d4e8cb4SGeert Uytterhoeven 6985d4e8cb4SGeert Uytterhoeven /* Single DAI */ 6995d4e8cb4SGeert Uytterhoeven #sound-dai-cells = <0>; 7005d4e8cb4SGeert Uytterhoeven 7015d4e8cb4SGeert Uytterhoeven /* audio_clkout0/1/2/3 */ 7025d4e8cb4SGeert Uytterhoeven #clock-cells = <1>; 7035d4e8cb4SGeert Uytterhoeven clock-frequency = <12288000 11289600>; 7045d4e8cb4SGeert Uytterhoeven 7055d4e8cb4SGeert Uytterhoeven status = "okay"; 7065d4e8cb4SGeert Uytterhoeven 7075d4e8cb4SGeert Uytterhoeven /* update <audio_clk_b> to <cs2000> */ 7085d4e8cb4SGeert Uytterhoeven clocks = <&cpg CPG_MOD 1005>, 7095d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 7105d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 7115d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 7125d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 7135d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 7145d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 7155d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 7165d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 7175d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 7185d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 7195d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 7205d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 7215d4e8cb4SGeert Uytterhoeven <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 7225d4e8cb4SGeert Uytterhoeven <&audio_clk_a>, <&cs2000>, <&audio_clk_c>, 7235d4e8cb4SGeert Uytterhoeven <&cpg CPG_CORE R8A77990_CLK_ZA2>; 7245d4e8cb4SGeert Uytterhoeven 7255d4e8cb4SGeert Uytterhoeven rcar_sound,dai { 7265d4e8cb4SGeert Uytterhoeven dai0 { 7275d4e8cb4SGeert Uytterhoeven playback = <&ssi0>, <&src0>, <&dvc0>; 7285d4e8cb4SGeert Uytterhoeven capture = <&ssi1>, <&src1>, <&dvc1>; 7295d4e8cb4SGeert Uytterhoeven }; 7305d4e8cb4SGeert Uytterhoeven }; 7315d4e8cb4SGeert Uytterhoeven 7325d4e8cb4SGeert Uytterhoeven}; 7335d4e8cb4SGeert Uytterhoeven 7345f300a7fSGeert Uytterhoeven&rpc { 7355f300a7fSGeert Uytterhoeven pinctrl-0 = <&rpc_pins>; 7365f300a7fSGeert Uytterhoeven pinctrl-names = "default"; 7375f300a7fSGeert Uytterhoeven 7385f300a7fSGeert Uytterhoeven /* Left disabled. To be enabled by firmware when unlocked. */ 7395f300a7fSGeert Uytterhoeven 7405f300a7fSGeert Uytterhoeven flash@0 { 7415f300a7fSGeert Uytterhoeven compatible = "cypress,hyperflash", "cfi-flash"; 7425f300a7fSGeert Uytterhoeven reg = <0>; 7435f300a7fSGeert Uytterhoeven 7445f300a7fSGeert Uytterhoeven partitions { 7455f300a7fSGeert Uytterhoeven compatible = "fixed-partitions"; 7465f300a7fSGeert Uytterhoeven #address-cells = <1>; 7475f300a7fSGeert Uytterhoeven #size-cells = <1>; 7485f300a7fSGeert Uytterhoeven 7495f300a7fSGeert Uytterhoeven bootparam@0 { 7505f300a7fSGeert Uytterhoeven reg = <0x00000000 0x040000>; 7515f300a7fSGeert Uytterhoeven read-only; 7525f300a7fSGeert Uytterhoeven }; 7535f300a7fSGeert Uytterhoeven bl2@40000 { 7545f300a7fSGeert Uytterhoeven reg = <0x00040000 0x140000>; 7555f300a7fSGeert Uytterhoeven read-only; 7565f300a7fSGeert Uytterhoeven }; 7575f300a7fSGeert Uytterhoeven cert_header_sa6@180000 { 7585f300a7fSGeert Uytterhoeven reg = <0x00180000 0x040000>; 7595f300a7fSGeert Uytterhoeven read-only; 7605f300a7fSGeert Uytterhoeven }; 7615f300a7fSGeert Uytterhoeven bl31@1c0000 { 7625f300a7fSGeert Uytterhoeven reg = <0x001c0000 0x040000>; 7635f300a7fSGeert Uytterhoeven read-only; 7645f300a7fSGeert Uytterhoeven }; 7655f300a7fSGeert Uytterhoeven tee@200000 { 7665f300a7fSGeert Uytterhoeven reg = <0x00200000 0x440000>; 7675f300a7fSGeert Uytterhoeven read-only; 7685f300a7fSGeert Uytterhoeven }; 7695f300a7fSGeert Uytterhoeven uboot@640000 { 7705f300a7fSGeert Uytterhoeven reg = <0x00640000 0x100000>; 7715f300a7fSGeert Uytterhoeven read-only; 7725f300a7fSGeert Uytterhoeven }; 7735f300a7fSGeert Uytterhoeven dtb@740000 { 7745f300a7fSGeert Uytterhoeven reg = <0x00740000 0x080000>; 7755f300a7fSGeert Uytterhoeven }; 7765f300a7fSGeert Uytterhoeven kernel@7c0000 { 7775f300a7fSGeert Uytterhoeven reg = <0x007c0000 0x1400000>; 7785f300a7fSGeert Uytterhoeven }; 7795f300a7fSGeert Uytterhoeven user@1bc0000 { 7805f300a7fSGeert Uytterhoeven reg = <0x01bc0000 0x2440000>; 7815f300a7fSGeert Uytterhoeven }; 7825f300a7fSGeert Uytterhoeven }; 7835f300a7fSGeert Uytterhoeven }; 7845f300a7fSGeert Uytterhoeven}; 7855f300a7fSGeert Uytterhoeven 7865d4e8cb4SGeert Uytterhoeven&rwdt { 7875d4e8cb4SGeert Uytterhoeven timeout-sec = <60>; 7885d4e8cb4SGeert Uytterhoeven status = "okay"; 7895d4e8cb4SGeert Uytterhoeven}; 7905d4e8cb4SGeert Uytterhoeven 7915d4e8cb4SGeert Uytterhoeven&scif2 { 7925d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&scif2_pins>; 7935d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 7945d4e8cb4SGeert Uytterhoeven 7955d4e8cb4SGeert Uytterhoeven status = "okay"; 7965d4e8cb4SGeert Uytterhoeven}; 7975d4e8cb4SGeert Uytterhoeven 7985d4e8cb4SGeert Uytterhoeven&sdhi0 { 7995d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sdhi0_pins>; 8005d4e8cb4SGeert Uytterhoeven pinctrl-1 = <&sdhi0_pins_uhs>; 8015d4e8cb4SGeert Uytterhoeven pinctrl-names = "default", "state_uhs"; 8025d4e8cb4SGeert Uytterhoeven 8035d4e8cb4SGeert Uytterhoeven vmmc-supply = <&vcc_sdhi0>; 8045d4e8cb4SGeert Uytterhoeven vqmmc-supply = <&vccq_sdhi0>; 8055d4e8cb4SGeert Uytterhoeven cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 8065d4e8cb4SGeert Uytterhoeven wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 8075d4e8cb4SGeert Uytterhoeven bus-width = <4>; 8085d4e8cb4SGeert Uytterhoeven sd-uhs-sdr50; 8095d4e8cb4SGeert Uytterhoeven sd-uhs-sdr104; 8105d4e8cb4SGeert Uytterhoeven status = "okay"; 8115d4e8cb4SGeert Uytterhoeven}; 8125d4e8cb4SGeert Uytterhoeven 8135d4e8cb4SGeert Uytterhoeven&sdhi1 { 8145d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sdhi1_pins>; 8155d4e8cb4SGeert Uytterhoeven pinctrl-1 = <&sdhi1_pins_uhs>; 8165d4e8cb4SGeert Uytterhoeven pinctrl-names = "default", "state_uhs"; 8175d4e8cb4SGeert Uytterhoeven 8185d4e8cb4SGeert Uytterhoeven vmmc-supply = <&vcc_sdhi1>; 8195d4e8cb4SGeert Uytterhoeven vqmmc-supply = <&vccq_sdhi1>; 8205d4e8cb4SGeert Uytterhoeven cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>; 8215d4e8cb4SGeert Uytterhoeven bus-width = <4>; 8225d4e8cb4SGeert Uytterhoeven sd-uhs-sdr50; 8235d4e8cb4SGeert Uytterhoeven sd-uhs-sdr104; 8245d4e8cb4SGeert Uytterhoeven status = "okay"; 8255d4e8cb4SGeert Uytterhoeven}; 8265d4e8cb4SGeert Uytterhoeven 8275d4e8cb4SGeert Uytterhoeven&sdhi3 { 8285d4e8cb4SGeert Uytterhoeven /* used for on-board 8bit eMMC */ 8295d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&sdhi3_pins>; 8305d4e8cb4SGeert Uytterhoeven pinctrl-1 = <&sdhi3_pins>; 8315d4e8cb4SGeert Uytterhoeven pinctrl-names = "default", "state_uhs"; 8325d4e8cb4SGeert Uytterhoeven 8335d4e8cb4SGeert Uytterhoeven vmmc-supply = <®_3p3v>; 8345d4e8cb4SGeert Uytterhoeven vqmmc-supply = <®_1p8v>; 8355d4e8cb4SGeert Uytterhoeven mmc-hs200-1_8v; 8365d4e8cb4SGeert Uytterhoeven mmc-hs400-1_8v; 8375d4e8cb4SGeert Uytterhoeven bus-width = <8>; 8385d4e8cb4SGeert Uytterhoeven no-sd; 8395d4e8cb4SGeert Uytterhoeven no-sdio; 8405d4e8cb4SGeert Uytterhoeven non-removable; 8415d4e8cb4SGeert Uytterhoeven full-pwr-cycle-in-suspend; 8425d4e8cb4SGeert Uytterhoeven status = "okay"; 8435d4e8cb4SGeert Uytterhoeven}; 8445d4e8cb4SGeert Uytterhoeven 8455d4e8cb4SGeert Uytterhoeven&ssi1 { 8465d4e8cb4SGeert Uytterhoeven shared-pin; 8475d4e8cb4SGeert Uytterhoeven}; 8485d4e8cb4SGeert Uytterhoeven 8495d4e8cb4SGeert Uytterhoeven&usb2_phy0 { 8505d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&usb0_pins>; 8515d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 8525d4e8cb4SGeert Uytterhoeven 8535d4e8cb4SGeert Uytterhoeven vbus-supply = <&vbus0_usb2>; 8545d4e8cb4SGeert Uytterhoeven status = "okay"; 8555d4e8cb4SGeert Uytterhoeven}; 8565d4e8cb4SGeert Uytterhoeven 8575d4e8cb4SGeert Uytterhoeven&usb3_peri0 { 8585d4e8cb4SGeert Uytterhoeven companion = <&xhci0>; 8595d4e8cb4SGeert Uytterhoeven status = "okay"; 8605d4e8cb4SGeert Uytterhoeven}; 8615d4e8cb4SGeert Uytterhoeven 8625d4e8cb4SGeert Uytterhoeven&vin4 { 8635d4e8cb4SGeert Uytterhoeven status = "okay"; 8645d4e8cb4SGeert Uytterhoeven}; 8655d4e8cb4SGeert Uytterhoeven 8665d4e8cb4SGeert Uytterhoeven&vin5 { 8675d4e8cb4SGeert Uytterhoeven status = "okay"; 8685d4e8cb4SGeert Uytterhoeven}; 8695d4e8cb4SGeert Uytterhoeven 8705d4e8cb4SGeert Uytterhoeven&xhci0 { 8715d4e8cb4SGeert Uytterhoeven pinctrl-0 = <&usb30_pins>; 8725d4e8cb4SGeert Uytterhoeven pinctrl-names = "default"; 8735d4e8cb4SGeert Uytterhoeven 8745d4e8cb4SGeert Uytterhoeven status = "okay"; 8755d4e8cb4SGeert Uytterhoeven}; 876