183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0 292aa0995SMarek Vasut/* 392aa0995SMarek Vasut * Device Tree Source for the Gose board 492aa0995SMarek Vasut * 592aa0995SMarek Vasut * Copyright (C) 2014-2015 Renesas Electronics Corporation 692aa0995SMarek Vasut */ 792aa0995SMarek Vasut 892aa0995SMarek Vasut/* 992aa0995SMarek Vasut * SSI-AK4643 1092aa0995SMarek Vasut * 1192aa0995SMarek Vasut * SW1: 1: AK4643 1292aa0995SMarek Vasut * 2: CN22 1392aa0995SMarek Vasut * 3: ADV7511 1492aa0995SMarek Vasut * 1592aa0995SMarek Vasut * This command is required when Playback/Capture 1692aa0995SMarek Vasut * 1792aa0995SMarek Vasut * amixer set "LINEOUT Mixer DACL" on 1892aa0995SMarek Vasut * amixer set "DVC Out" 100% 1992aa0995SMarek Vasut * amixer set "DVC In" 100% 2092aa0995SMarek Vasut * 2192aa0995SMarek Vasut * You can use Mute 2292aa0995SMarek Vasut * 2392aa0995SMarek Vasut * amixer set "DVC Out Mute" on 2492aa0995SMarek Vasut * amixer set "DVC In Mute" on 2592aa0995SMarek Vasut * 2692aa0995SMarek Vasut * You can use Volume Ramp 2792aa0995SMarek Vasut * 2892aa0995SMarek Vasut * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" 2992aa0995SMarek Vasut * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" 3092aa0995SMarek Vasut * amixer set "DVC Out Ramp" on 3192aa0995SMarek Vasut * aplay xxx.wav & 3292aa0995SMarek Vasut * amixer set "DVC Out" 80% // Volume Down 3392aa0995SMarek Vasut * amixer set "DVC Out" 100% // Volume Up 3492aa0995SMarek Vasut */ 3592aa0995SMarek Vasut 3692aa0995SMarek Vasut/dts-v1/; 3792aa0995SMarek Vasut#include "r8a7793.dtsi" 3892aa0995SMarek Vasut#include <dt-bindings/gpio/gpio.h> 3992aa0995SMarek Vasut#include <dt-bindings/input/input.h> 4092aa0995SMarek Vasut 4192aa0995SMarek Vasut/ { 4292aa0995SMarek Vasut model = "Gose"; 4392aa0995SMarek Vasut compatible = "renesas,gose", "renesas,r8a7793"; 4492aa0995SMarek Vasut 4592aa0995SMarek Vasut aliases { 4692aa0995SMarek Vasut serial0 = &scif0; 4792aa0995SMarek Vasut serial1 = &scif1; 48*252c8b45SMarek Vasut i2c9 = &gpioi2c2; 49*252c8b45SMarek Vasut i2c10 = &gpioi2c4; 50*252c8b45SMarek Vasut i2c11 = &i2chdmi; 51*252c8b45SMarek Vasut i2c12 = &i2cexio4; 5292aa0995SMarek Vasut }; 5392aa0995SMarek Vasut 5492aa0995SMarek Vasut chosen { 5592aa0995SMarek Vasut bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; 5692aa0995SMarek Vasut stdout-path = "serial0:115200n8"; 5792aa0995SMarek Vasut }; 5892aa0995SMarek Vasut 5992aa0995SMarek Vasut memory@40000000 { 6092aa0995SMarek Vasut device_type = "memory"; 6192aa0995SMarek Vasut reg = <0 0x40000000 0 0x40000000>; 6292aa0995SMarek Vasut }; 6392aa0995SMarek Vasut 6492aa0995SMarek Vasut gpio-keys { 6592aa0995SMarek Vasut compatible = "gpio-keys"; 6692aa0995SMarek Vasut 6792aa0995SMarek Vasut key-1 { 6892aa0995SMarek Vasut gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 6992aa0995SMarek Vasut linux,code = <KEY_1>; 7092aa0995SMarek Vasut label = "SW2-1"; 7192aa0995SMarek Vasut wakeup-source; 7292aa0995SMarek Vasut debounce-interval = <20>; 7392aa0995SMarek Vasut }; 7492aa0995SMarek Vasut key-2 { 7592aa0995SMarek Vasut gpios = <&gpio5 1 GPIO_ACTIVE_LOW>; 7692aa0995SMarek Vasut linux,code = <KEY_2>; 7792aa0995SMarek Vasut label = "SW2-2"; 7892aa0995SMarek Vasut wakeup-source; 7992aa0995SMarek Vasut debounce-interval = <20>; 8092aa0995SMarek Vasut }; 8192aa0995SMarek Vasut key-3 { 8292aa0995SMarek Vasut gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; 8392aa0995SMarek Vasut linux,code = <KEY_3>; 8492aa0995SMarek Vasut label = "SW2-3"; 8592aa0995SMarek Vasut wakeup-source; 8692aa0995SMarek Vasut debounce-interval = <20>; 8792aa0995SMarek Vasut }; 8892aa0995SMarek Vasut key-4 { 8992aa0995SMarek Vasut gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; 9092aa0995SMarek Vasut linux,code = <KEY_4>; 9192aa0995SMarek Vasut label = "SW2-4"; 9292aa0995SMarek Vasut wakeup-source; 9392aa0995SMarek Vasut debounce-interval = <20>; 9492aa0995SMarek Vasut }; 9592aa0995SMarek Vasut key-a { 9692aa0995SMarek Vasut gpios = <&gpio7 0 GPIO_ACTIVE_LOW>; 9792aa0995SMarek Vasut linux,code = <KEY_A>; 9892aa0995SMarek Vasut label = "SW30"; 9992aa0995SMarek Vasut wakeup-source; 10092aa0995SMarek Vasut debounce-interval = <20>; 10192aa0995SMarek Vasut }; 10292aa0995SMarek Vasut key-b { 10392aa0995SMarek Vasut gpios = <&gpio7 1 GPIO_ACTIVE_LOW>; 10492aa0995SMarek Vasut linux,code = <KEY_B>; 10592aa0995SMarek Vasut label = "SW31"; 10692aa0995SMarek Vasut wakeup-source; 10792aa0995SMarek Vasut debounce-interval = <20>; 10892aa0995SMarek Vasut }; 10992aa0995SMarek Vasut key-c { 11092aa0995SMarek Vasut gpios = <&gpio7 2 GPIO_ACTIVE_LOW>; 11192aa0995SMarek Vasut linux,code = <KEY_C>; 11292aa0995SMarek Vasut label = "SW32"; 11392aa0995SMarek Vasut wakeup-source; 11492aa0995SMarek Vasut debounce-interval = <20>; 11592aa0995SMarek Vasut }; 11692aa0995SMarek Vasut key-d { 11792aa0995SMarek Vasut gpios = <&gpio7 3 GPIO_ACTIVE_LOW>; 11892aa0995SMarek Vasut linux,code = <KEY_D>; 11992aa0995SMarek Vasut label = "SW33"; 12092aa0995SMarek Vasut wakeup-source; 12192aa0995SMarek Vasut debounce-interval = <20>; 12292aa0995SMarek Vasut }; 12392aa0995SMarek Vasut key-e { 12492aa0995SMarek Vasut gpios = <&gpio7 4 GPIO_ACTIVE_LOW>; 12592aa0995SMarek Vasut linux,code = <KEY_E>; 12692aa0995SMarek Vasut label = "SW34"; 12792aa0995SMarek Vasut wakeup-source; 12892aa0995SMarek Vasut debounce-interval = <20>; 12992aa0995SMarek Vasut }; 13092aa0995SMarek Vasut key-f { 13192aa0995SMarek Vasut gpios = <&gpio7 5 GPIO_ACTIVE_LOW>; 13292aa0995SMarek Vasut linux,code = <KEY_F>; 13392aa0995SMarek Vasut label = "SW35"; 13492aa0995SMarek Vasut wakeup-source; 13592aa0995SMarek Vasut debounce-interval = <20>; 13692aa0995SMarek Vasut }; 13792aa0995SMarek Vasut key-g { 13892aa0995SMarek Vasut gpios = <&gpio7 6 GPIO_ACTIVE_LOW>; 13992aa0995SMarek Vasut linux,code = <KEY_G>; 14092aa0995SMarek Vasut label = "SW36"; 14192aa0995SMarek Vasut wakeup-source; 14292aa0995SMarek Vasut debounce-interval = <20>; 14392aa0995SMarek Vasut }; 14492aa0995SMarek Vasut }; 14592aa0995SMarek Vasut 14692aa0995SMarek Vasut leds { 14792aa0995SMarek Vasut compatible = "gpio-leds"; 14892aa0995SMarek Vasut led6 { 14992aa0995SMarek Vasut gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; 15092aa0995SMarek Vasut label = "LED6"; 15192aa0995SMarek Vasut }; 15292aa0995SMarek Vasut led7 { 15392aa0995SMarek Vasut gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; 15492aa0995SMarek Vasut label = "LED7"; 15592aa0995SMarek Vasut }; 15692aa0995SMarek Vasut led8 { 15792aa0995SMarek Vasut gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; 15892aa0995SMarek Vasut label = "LED8"; 15992aa0995SMarek Vasut }; 16092aa0995SMarek Vasut }; 16192aa0995SMarek Vasut 16292aa0995SMarek Vasut vcc_sdhi0: regulator-vcc-sdhi0 { 16392aa0995SMarek Vasut compatible = "regulator-fixed"; 16492aa0995SMarek Vasut 16592aa0995SMarek Vasut regulator-name = "SDHI0 Vcc"; 16692aa0995SMarek Vasut regulator-min-microvolt = <3300000>; 16792aa0995SMarek Vasut regulator-max-microvolt = <3300000>; 16892aa0995SMarek Vasut 16992aa0995SMarek Vasut gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>; 17092aa0995SMarek Vasut enable-active-high; 17192aa0995SMarek Vasut }; 17292aa0995SMarek Vasut 17392aa0995SMarek Vasut vccq_sdhi0: regulator-vccq-sdhi0 { 17492aa0995SMarek Vasut compatible = "regulator-gpio"; 17592aa0995SMarek Vasut 17692aa0995SMarek Vasut regulator-name = "SDHI0 VccQ"; 17792aa0995SMarek Vasut regulator-min-microvolt = <1800000>; 17892aa0995SMarek Vasut regulator-max-microvolt = <3300000>; 17992aa0995SMarek Vasut 18092aa0995SMarek Vasut gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>; 18192aa0995SMarek Vasut gpios-states = <1>; 18292aa0995SMarek Vasut states = <3300000 1 18392aa0995SMarek Vasut 1800000 0>; 18492aa0995SMarek Vasut }; 18592aa0995SMarek Vasut 18692aa0995SMarek Vasut vcc_sdhi1: regulator-vcc-sdhi1 { 18792aa0995SMarek Vasut compatible = "regulator-fixed"; 18892aa0995SMarek Vasut 18992aa0995SMarek Vasut regulator-name = "SDHI1 Vcc"; 19092aa0995SMarek Vasut regulator-min-microvolt = <3300000>; 19192aa0995SMarek Vasut regulator-max-microvolt = <3300000>; 19292aa0995SMarek Vasut 19392aa0995SMarek Vasut gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>; 19492aa0995SMarek Vasut enable-active-high; 19592aa0995SMarek Vasut }; 19692aa0995SMarek Vasut 19792aa0995SMarek Vasut vccq_sdhi1: regulator-vccq-sdhi1 { 19892aa0995SMarek Vasut compatible = "regulator-gpio"; 19992aa0995SMarek Vasut 20092aa0995SMarek Vasut regulator-name = "SDHI1 VccQ"; 20192aa0995SMarek Vasut regulator-min-microvolt = <1800000>; 20292aa0995SMarek Vasut regulator-max-microvolt = <3300000>; 20392aa0995SMarek Vasut 20492aa0995SMarek Vasut gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; 20592aa0995SMarek Vasut gpios-states = <1>; 20692aa0995SMarek Vasut states = <3300000 1 20792aa0995SMarek Vasut 1800000 0>; 20892aa0995SMarek Vasut }; 20992aa0995SMarek Vasut 21092aa0995SMarek Vasut vcc_sdhi2: regulator-vcc-sdhi2 { 21192aa0995SMarek Vasut compatible = "regulator-fixed"; 21292aa0995SMarek Vasut 21392aa0995SMarek Vasut regulator-name = "SDHI2 Vcc"; 21492aa0995SMarek Vasut regulator-min-microvolt = <3300000>; 21592aa0995SMarek Vasut regulator-max-microvolt = <3300000>; 21692aa0995SMarek Vasut 21792aa0995SMarek Vasut gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>; 21892aa0995SMarek Vasut enable-active-high; 21992aa0995SMarek Vasut }; 22092aa0995SMarek Vasut 22192aa0995SMarek Vasut vccq_sdhi2: regulator-vccq-sdhi2 { 22292aa0995SMarek Vasut compatible = "regulator-gpio"; 22392aa0995SMarek Vasut 22492aa0995SMarek Vasut regulator-name = "SDHI2 VccQ"; 22592aa0995SMarek Vasut regulator-min-microvolt = <1800000>; 22692aa0995SMarek Vasut regulator-max-microvolt = <3300000>; 22792aa0995SMarek Vasut 22892aa0995SMarek Vasut gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>; 22992aa0995SMarek Vasut gpios-states = <1>; 23092aa0995SMarek Vasut states = <3300000 1 23192aa0995SMarek Vasut 1800000 0>; 23292aa0995SMarek Vasut }; 23392aa0995SMarek Vasut 23492aa0995SMarek Vasut audio_clock: audio_clock { 23592aa0995SMarek Vasut compatible = "fixed-clock"; 23692aa0995SMarek Vasut #clock-cells = <0>; 23792aa0995SMarek Vasut clock-frequency = <11289600>; 23892aa0995SMarek Vasut }; 23992aa0995SMarek Vasut 24092aa0995SMarek Vasut rsnd_ak4643: sound { 24192aa0995SMarek Vasut compatible = "simple-audio-card"; 24292aa0995SMarek Vasut 24392aa0995SMarek Vasut simple-audio-card,format = "left_j"; 24492aa0995SMarek Vasut simple-audio-card,bitclock-master = <&sndcodec>; 24592aa0995SMarek Vasut simple-audio-card,frame-master = <&sndcodec>; 24692aa0995SMarek Vasut 24792aa0995SMarek Vasut sndcpu: simple-audio-card,cpu { 24892aa0995SMarek Vasut sound-dai = <&rcar_sound>; 24992aa0995SMarek Vasut }; 25092aa0995SMarek Vasut 25192aa0995SMarek Vasut sndcodec: simple-audio-card,codec { 25292aa0995SMarek Vasut sound-dai = <&ak4643>; 25392aa0995SMarek Vasut clocks = <&audio_clock>; 25492aa0995SMarek Vasut }; 25592aa0995SMarek Vasut }; 25692aa0995SMarek Vasut 25792aa0995SMarek Vasut hdmi-in { 25892aa0995SMarek Vasut compatible = "hdmi-connector"; 25992aa0995SMarek Vasut type = "a"; 26092aa0995SMarek Vasut 26192aa0995SMarek Vasut port { 26292aa0995SMarek Vasut hdmi_con_in: endpoint { 26392aa0995SMarek Vasut remote-endpoint = <&adv7612_in>; 26492aa0995SMarek Vasut }; 26592aa0995SMarek Vasut }; 26692aa0995SMarek Vasut }; 26792aa0995SMarek Vasut 26892aa0995SMarek Vasut hdmi-out { 26992aa0995SMarek Vasut compatible = "hdmi-connector"; 27092aa0995SMarek Vasut type = "a"; 27192aa0995SMarek Vasut 27292aa0995SMarek Vasut port { 27392aa0995SMarek Vasut hdmi_con_out: endpoint { 27492aa0995SMarek Vasut remote-endpoint = <&adv7511_out>; 27592aa0995SMarek Vasut }; 27692aa0995SMarek Vasut }; 27792aa0995SMarek Vasut }; 27892aa0995SMarek Vasut 27992aa0995SMarek Vasut composite-in { 28092aa0995SMarek Vasut compatible = "composite-video-connector"; 28192aa0995SMarek Vasut 28292aa0995SMarek Vasut port { 28392aa0995SMarek Vasut composite_con_in: endpoint { 28492aa0995SMarek Vasut remote-endpoint = <&adv7180_in>; 28592aa0995SMarek Vasut }; 28692aa0995SMarek Vasut }; 28792aa0995SMarek Vasut }; 28892aa0995SMarek Vasut 28992aa0995SMarek Vasut x2_clk: x2-clock { 29092aa0995SMarek Vasut compatible = "fixed-clock"; 29192aa0995SMarek Vasut #clock-cells = <0>; 29292aa0995SMarek Vasut clock-frequency = <74250000>; 29392aa0995SMarek Vasut }; 29492aa0995SMarek Vasut 29592aa0995SMarek Vasut x13_clk: x13-clock { 29692aa0995SMarek Vasut compatible = "fixed-clock"; 29792aa0995SMarek Vasut #clock-cells = <0>; 29892aa0995SMarek Vasut clock-frequency = <148500000>; 29992aa0995SMarek Vasut }; 300*252c8b45SMarek Vasut 301*252c8b45SMarek Vasut gpioi2c2: i2c-9 { 302*252c8b45SMarek Vasut #address-cells = <1>; 303*252c8b45SMarek Vasut #size-cells = <0>; 304*252c8b45SMarek Vasut compatible = "i2c-gpio"; 305*252c8b45SMarek Vasut status = "disabled"; 306*252c8b45SMarek Vasut scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 307*252c8b45SMarek Vasut sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 308*252c8b45SMarek Vasut i2c-gpio,delay-us = <5>; 309*252c8b45SMarek Vasut }; 310*252c8b45SMarek Vasut 311*252c8b45SMarek Vasut gpioi2c4: i2c-10 { 312*252c8b45SMarek Vasut #address-cells = <1>; 313*252c8b45SMarek Vasut #size-cells = <0>; 314*252c8b45SMarek Vasut compatible = "i2c-gpio"; 315*252c8b45SMarek Vasut status = "disabled"; 316*252c8b45SMarek Vasut scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 317*252c8b45SMarek Vasut sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 318*252c8b45SMarek Vasut i2c-gpio,delay-us = <5>; 319*252c8b45SMarek Vasut }; 320*252c8b45SMarek Vasut 321*252c8b45SMarek Vasut /* 322*252c8b45SMarek Vasut * A fallback to GPIO is provided for I2C2. 323*252c8b45SMarek Vasut */ 324*252c8b45SMarek Vasut i2chdmi: i2c-11 { 325*252c8b45SMarek Vasut compatible = "i2c-demux-pinctrl"; 326*252c8b45SMarek Vasut i2c-parent = <&i2c2>, <&gpioi2c2>; 327*252c8b45SMarek Vasut i2c-bus-name = "i2c-hdmi"; 328*252c8b45SMarek Vasut #address-cells = <1>; 329*252c8b45SMarek Vasut #size-cells = <0>; 330*252c8b45SMarek Vasut 331*252c8b45SMarek Vasut ak4643: codec@12 { 332*252c8b45SMarek Vasut compatible = "asahi-kasei,ak4643"; 333*252c8b45SMarek Vasut #sound-dai-cells = <0>; 334*252c8b45SMarek Vasut reg = <0x12>; 335*252c8b45SMarek Vasut }; 336*252c8b45SMarek Vasut 337*252c8b45SMarek Vasut composite-in@20 { 338*252c8b45SMarek Vasut compatible = "adi,adv7180cp"; 339*252c8b45SMarek Vasut reg = <0x20>; 340*252c8b45SMarek Vasut remote = <&vin1>; 341*252c8b45SMarek Vasut 342*252c8b45SMarek Vasut port { 343*252c8b45SMarek Vasut #address-cells = <1>; 344*252c8b45SMarek Vasut #size-cells = <0>; 345*252c8b45SMarek Vasut 346*252c8b45SMarek Vasut port@0 { 347*252c8b45SMarek Vasut reg = <0>; 348*252c8b45SMarek Vasut adv7180_in: endpoint { 349*252c8b45SMarek Vasut remote-endpoint = <&composite_con_in>; 350*252c8b45SMarek Vasut }; 351*252c8b45SMarek Vasut }; 352*252c8b45SMarek Vasut 353*252c8b45SMarek Vasut port@3 { 354*252c8b45SMarek Vasut reg = <3>; 355*252c8b45SMarek Vasut adv7180_out: endpoint { 356*252c8b45SMarek Vasut bus-width = <8>; 357*252c8b45SMarek Vasut remote-endpoint = <&vin1ep>; 358*252c8b45SMarek Vasut }; 359*252c8b45SMarek Vasut }; 360*252c8b45SMarek Vasut }; 361*252c8b45SMarek Vasut }; 362*252c8b45SMarek Vasut 363*252c8b45SMarek Vasut hdmi@39 { 364*252c8b45SMarek Vasut compatible = "adi,adv7511w"; 365*252c8b45SMarek Vasut reg = <0x39>; 366*252c8b45SMarek Vasut interrupt-parent = <&gpio3>; 367*252c8b45SMarek Vasut interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 368*252c8b45SMarek Vasut 369*252c8b45SMarek Vasut adi,input-depth = <8>; 370*252c8b45SMarek Vasut adi,input-colorspace = "rgb"; 371*252c8b45SMarek Vasut adi,input-clock = "1x"; 372*252c8b45SMarek Vasut adi,input-style = <1>; 373*252c8b45SMarek Vasut adi,input-justification = "evenly"; 374*252c8b45SMarek Vasut 375*252c8b45SMarek Vasut ports { 376*252c8b45SMarek Vasut #address-cells = <1>; 377*252c8b45SMarek Vasut #size-cells = <0>; 378*252c8b45SMarek Vasut 379*252c8b45SMarek Vasut port@0 { 380*252c8b45SMarek Vasut reg = <0>; 381*252c8b45SMarek Vasut adv7511_in: endpoint { 382*252c8b45SMarek Vasut remote-endpoint = <&du_out_rgb>; 383*252c8b45SMarek Vasut }; 384*252c8b45SMarek Vasut }; 385*252c8b45SMarek Vasut 386*252c8b45SMarek Vasut port@1 { 387*252c8b45SMarek Vasut reg = <1>; 388*252c8b45SMarek Vasut adv7511_out: endpoint { 389*252c8b45SMarek Vasut remote-endpoint = <&hdmi_con_out>; 390*252c8b45SMarek Vasut }; 391*252c8b45SMarek Vasut }; 392*252c8b45SMarek Vasut }; 393*252c8b45SMarek Vasut }; 394*252c8b45SMarek Vasut 395*252c8b45SMarek Vasut hdmi-in@4c { 396*252c8b45SMarek Vasut compatible = "adi,adv7612"; 397*252c8b45SMarek Vasut reg = <0x4c>; 398*252c8b45SMarek Vasut interrupt-parent = <&gpio4>; 399*252c8b45SMarek Vasut interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 400*252c8b45SMarek Vasut default-input = <0>; 401*252c8b45SMarek Vasut 402*252c8b45SMarek Vasut port { 403*252c8b45SMarek Vasut #address-cells = <1>; 404*252c8b45SMarek Vasut #size-cells = <0>; 405*252c8b45SMarek Vasut 406*252c8b45SMarek Vasut port@0 { 407*252c8b45SMarek Vasut reg = <0>; 408*252c8b45SMarek Vasut adv7612_in: endpoint { 409*252c8b45SMarek Vasut remote-endpoint = <&hdmi_con_in>; 410*252c8b45SMarek Vasut }; 411*252c8b45SMarek Vasut }; 412*252c8b45SMarek Vasut 413*252c8b45SMarek Vasut port@2 { 414*252c8b45SMarek Vasut reg = <2>; 415*252c8b45SMarek Vasut adv7612_out: endpoint { 416*252c8b45SMarek Vasut remote-endpoint = <&vin0ep2>; 417*252c8b45SMarek Vasut }; 418*252c8b45SMarek Vasut }; 419*252c8b45SMarek Vasut }; 420*252c8b45SMarek Vasut }; 421*252c8b45SMarek Vasut 422*252c8b45SMarek Vasut eeprom@50 { 423*252c8b45SMarek Vasut compatible = "renesas,r1ex24002", "atmel,24c02"; 424*252c8b45SMarek Vasut reg = <0x50>; 425*252c8b45SMarek Vasut pagesize = <16>; 426*252c8b45SMarek Vasut }; 427*252c8b45SMarek Vasut }; 428*252c8b45SMarek Vasut 429*252c8b45SMarek Vasut /* 430*252c8b45SMarek Vasut * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA). 431*252c8b45SMarek Vasut * A fallback to GPIO is provided. 432*252c8b45SMarek Vasut */ 433*252c8b45SMarek Vasut i2cexio4: i2c-12 { 434*252c8b45SMarek Vasut compatible = "i2c-demux-pinctrl"; 435*252c8b45SMarek Vasut i2c-parent = <&i2c4>, <&gpioi2c4>; 436*252c8b45SMarek Vasut i2c-bus-name = "i2c-exio4"; 437*252c8b45SMarek Vasut #address-cells = <1>; 438*252c8b45SMarek Vasut #size-cells = <0>; 439*252c8b45SMarek Vasut }; 44092aa0995SMarek Vasut}; 44192aa0995SMarek Vasut 44292aa0995SMarek Vasut&du { 44392aa0995SMarek Vasut pinctrl-0 = <&du_pins>; 44492aa0995SMarek Vasut pinctrl-names = "default"; 44592aa0995SMarek Vasut status = "okay"; 44692aa0995SMarek Vasut 447*252c8b45SMarek Vasut clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, 44892aa0995SMarek Vasut <&x13_clk>, <&x2_clk>; 449*252c8b45SMarek Vasut clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1"; 45092aa0995SMarek Vasut 45192aa0995SMarek Vasut ports { 45292aa0995SMarek Vasut port@0 { 45392aa0995SMarek Vasut endpoint { 45492aa0995SMarek Vasut remote-endpoint = <&adv7511_in>; 45592aa0995SMarek Vasut }; 45692aa0995SMarek Vasut }; 457*252c8b45SMarek Vasut }; 458*252c8b45SMarek Vasut}; 459*252c8b45SMarek Vasut 460*252c8b45SMarek Vasut&lvds0 { 461*252c8b45SMarek Vasut ports { 46292aa0995SMarek Vasut port@1 { 46392aa0995SMarek Vasut lvds_connector: endpoint { 46492aa0995SMarek Vasut }; 46592aa0995SMarek Vasut }; 46692aa0995SMarek Vasut }; 46792aa0995SMarek Vasut}; 46892aa0995SMarek Vasut 46992aa0995SMarek Vasut&extal_clk { 47092aa0995SMarek Vasut clock-frequency = <20000000>; 47192aa0995SMarek Vasut}; 47292aa0995SMarek Vasut 47392aa0995SMarek Vasut&pfc { 47492aa0995SMarek Vasut pinctrl-0 = <&scif_clk_pins>; 47592aa0995SMarek Vasut pinctrl-names = "default"; 47692aa0995SMarek Vasut 47792aa0995SMarek Vasut i2c2_pins: i2c2 { 47892aa0995SMarek Vasut groups = "i2c2"; 47992aa0995SMarek Vasut function = "i2c2"; 48092aa0995SMarek Vasut }; 48192aa0995SMarek Vasut 482*252c8b45SMarek Vasut i2c4_pins: i2c4 { 483*252c8b45SMarek Vasut groups = "i2c4_c"; 484*252c8b45SMarek Vasut function = "i2c4"; 485*252c8b45SMarek Vasut }; 486*252c8b45SMarek Vasut 48792aa0995SMarek Vasut du_pins: du { 48892aa0995SMarek Vasut groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 48992aa0995SMarek Vasut function = "du"; 49092aa0995SMarek Vasut }; 49192aa0995SMarek Vasut 49292aa0995SMarek Vasut scif0_pins: scif0 { 49392aa0995SMarek Vasut groups = "scif0_data_d"; 49492aa0995SMarek Vasut function = "scif0"; 49592aa0995SMarek Vasut }; 49692aa0995SMarek Vasut 49792aa0995SMarek Vasut scif1_pins: scif1 { 49892aa0995SMarek Vasut groups = "scif1_data_d"; 49992aa0995SMarek Vasut function = "scif1"; 50092aa0995SMarek Vasut }; 50192aa0995SMarek Vasut 50292aa0995SMarek Vasut scif_clk_pins: scif_clk { 50392aa0995SMarek Vasut groups = "scif_clk"; 50492aa0995SMarek Vasut function = "scif_clk"; 50592aa0995SMarek Vasut }; 50692aa0995SMarek Vasut 50792aa0995SMarek Vasut ether_pins: ether { 50892aa0995SMarek Vasut groups = "eth_link", "eth_mdio", "eth_rmii"; 50992aa0995SMarek Vasut function = "eth"; 51092aa0995SMarek Vasut }; 51192aa0995SMarek Vasut 51292aa0995SMarek Vasut phy1_pins: phy1 { 51392aa0995SMarek Vasut groups = "intc_irq0"; 51492aa0995SMarek Vasut function = "intc"; 51592aa0995SMarek Vasut }; 51692aa0995SMarek Vasut 51792aa0995SMarek Vasut sdhi0_pins: sd0 { 51892aa0995SMarek Vasut groups = "sdhi0_data4", "sdhi0_ctrl"; 51992aa0995SMarek Vasut function = "sdhi0"; 52092aa0995SMarek Vasut power-source = <3300>; 52192aa0995SMarek Vasut }; 52292aa0995SMarek Vasut 52392aa0995SMarek Vasut sdhi0_pins_uhs: sd0_uhs { 52492aa0995SMarek Vasut groups = "sdhi0_data4", "sdhi0_ctrl"; 52592aa0995SMarek Vasut function = "sdhi0"; 52692aa0995SMarek Vasut power-source = <1800>; 52792aa0995SMarek Vasut }; 52892aa0995SMarek Vasut 52992aa0995SMarek Vasut sdhi1_pins: sd1 { 53092aa0995SMarek Vasut groups = "sdhi1_data4", "sdhi1_ctrl"; 53192aa0995SMarek Vasut function = "sdhi1"; 53292aa0995SMarek Vasut power-source = <3300>; 53392aa0995SMarek Vasut }; 53492aa0995SMarek Vasut 53592aa0995SMarek Vasut sdhi1_pins_uhs: sd1_uhs { 53692aa0995SMarek Vasut groups = "sdhi1_data4", "sdhi1_ctrl"; 53792aa0995SMarek Vasut function = "sdhi1"; 53892aa0995SMarek Vasut power-source = <1800>; 53992aa0995SMarek Vasut }; 54092aa0995SMarek Vasut 54192aa0995SMarek Vasut sdhi2_pins: sd2 { 54292aa0995SMarek Vasut groups = "sdhi2_data4", "sdhi2_ctrl"; 54392aa0995SMarek Vasut function = "sdhi2"; 54492aa0995SMarek Vasut power-source = <3300>; 54592aa0995SMarek Vasut }; 54692aa0995SMarek Vasut 54792aa0995SMarek Vasut sdhi2_pins_uhs: sd2_uhs { 54892aa0995SMarek Vasut groups = "sdhi2_data4", "sdhi2_ctrl"; 54992aa0995SMarek Vasut function = "sdhi2"; 55092aa0995SMarek Vasut power-source = <1800>; 55192aa0995SMarek Vasut }; 55292aa0995SMarek Vasut 55392aa0995SMarek Vasut qspi_pins: qspi { 55492aa0995SMarek Vasut groups = "qspi_ctrl", "qspi_data4"; 55592aa0995SMarek Vasut function = "qspi"; 55692aa0995SMarek Vasut }; 55792aa0995SMarek Vasut 55892aa0995SMarek Vasut sound_pins: sound { 55992aa0995SMarek Vasut groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data"; 56092aa0995SMarek Vasut function = "ssi"; 56192aa0995SMarek Vasut }; 56292aa0995SMarek Vasut 56392aa0995SMarek Vasut sound_clk_pins: sound_clk { 56492aa0995SMarek Vasut groups = "audio_clk_a"; 56592aa0995SMarek Vasut function = "audio_clk"; 56692aa0995SMarek Vasut }; 56792aa0995SMarek Vasut 56892aa0995SMarek Vasut vin0_pins: vin0 { 56992aa0995SMarek Vasut groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk"; 57092aa0995SMarek Vasut function = "vin0"; 57192aa0995SMarek Vasut }; 57292aa0995SMarek Vasut 57392aa0995SMarek Vasut vin1_pins: vin1 { 57492aa0995SMarek Vasut groups = "vin1_data8", "vin1_clk"; 57592aa0995SMarek Vasut function = "vin1"; 57692aa0995SMarek Vasut }; 57792aa0995SMarek Vasut}; 57892aa0995SMarek Vasut 57992aa0995SMarek Vasutðer { 58092aa0995SMarek Vasut pinctrl-0 = <ðer_pins &phy1_pins>; 58192aa0995SMarek Vasut pinctrl-names = "default"; 58292aa0995SMarek Vasut 58392aa0995SMarek Vasut phy-handle = <&phy1>; 58492aa0995SMarek Vasut renesas,ether-link-active-low; 58592aa0995SMarek Vasut status = "okay"; 58692aa0995SMarek Vasut 58792aa0995SMarek Vasut phy1: ethernet-phy@1 { 58892aa0995SMarek Vasut reg = <1>; 58992aa0995SMarek Vasut interrupt-parent = <&irqc0>; 59092aa0995SMarek Vasut interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 59192aa0995SMarek Vasut micrel,led-mode = <1>; 59292aa0995SMarek Vasut }; 59392aa0995SMarek Vasut}; 59492aa0995SMarek Vasut 59592aa0995SMarek Vasut&cmt0 { 59692aa0995SMarek Vasut status = "okay"; 59792aa0995SMarek Vasut}; 59892aa0995SMarek Vasut 59992aa0995SMarek Vasut&scif0 { 60092aa0995SMarek Vasut pinctrl-0 = <&scif0_pins>; 60192aa0995SMarek Vasut pinctrl-names = "default"; 60292aa0995SMarek Vasut 60392aa0995SMarek Vasut status = "okay"; 60492aa0995SMarek Vasut}; 60592aa0995SMarek Vasut 60692aa0995SMarek Vasut&scif1 { 60792aa0995SMarek Vasut pinctrl-0 = <&scif1_pins>; 60892aa0995SMarek Vasut pinctrl-names = "default"; 60992aa0995SMarek Vasut 61092aa0995SMarek Vasut status = "okay"; 61192aa0995SMarek Vasut}; 61292aa0995SMarek Vasut 61392aa0995SMarek Vasut&scif_clk { 61492aa0995SMarek Vasut clock-frequency = <14745600>; 61592aa0995SMarek Vasut}; 61692aa0995SMarek Vasut 61792aa0995SMarek Vasut&sdhi0 { 61892aa0995SMarek Vasut pinctrl-0 = <&sdhi0_pins>; 61992aa0995SMarek Vasut pinctrl-1 = <&sdhi0_pins_uhs>; 62092aa0995SMarek Vasut pinctrl-names = "default", "state_uhs"; 62192aa0995SMarek Vasut 62292aa0995SMarek Vasut vmmc-supply = <&vcc_sdhi0>; 62392aa0995SMarek Vasut vqmmc-supply = <&vccq_sdhi0>; 62492aa0995SMarek Vasut cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>; 62592aa0995SMarek Vasut wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; 62692aa0995SMarek Vasut sd-uhs-sdr50; 62792aa0995SMarek Vasut sd-uhs-sdr104; 62892aa0995SMarek Vasut status = "okay"; 62992aa0995SMarek Vasut}; 63092aa0995SMarek Vasut 63192aa0995SMarek Vasut&sdhi1 { 63292aa0995SMarek Vasut pinctrl-0 = <&sdhi1_pins>; 63392aa0995SMarek Vasut pinctrl-1 = <&sdhi1_pins_uhs>; 63492aa0995SMarek Vasut pinctrl-names = "default", "state_uhs"; 63592aa0995SMarek Vasut 63692aa0995SMarek Vasut vmmc-supply = <&vcc_sdhi1>; 63792aa0995SMarek Vasut vqmmc-supply = <&vccq_sdhi1>; 63892aa0995SMarek Vasut cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; 63992aa0995SMarek Vasut wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>; 64092aa0995SMarek Vasut sd-uhs-sdr50; 64192aa0995SMarek Vasut status = "okay"; 64292aa0995SMarek Vasut}; 64392aa0995SMarek Vasut 64492aa0995SMarek Vasut&sdhi2 { 64592aa0995SMarek Vasut pinctrl-0 = <&sdhi2_pins>; 64692aa0995SMarek Vasut pinctrl-1 = <&sdhi2_pins_uhs>; 64792aa0995SMarek Vasut pinctrl-names = "default", "state_uhs"; 64892aa0995SMarek Vasut 64992aa0995SMarek Vasut vmmc-supply = <&vcc_sdhi2>; 65092aa0995SMarek Vasut vqmmc-supply = <&vccq_sdhi2>; 65192aa0995SMarek Vasut cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>; 65292aa0995SMarek Vasut sd-uhs-sdr50; 65392aa0995SMarek Vasut status = "okay"; 65492aa0995SMarek Vasut}; 65592aa0995SMarek Vasut 65692aa0995SMarek Vasut&qspi { 65792aa0995SMarek Vasut pinctrl-0 = <&qspi_pins>; 65892aa0995SMarek Vasut pinctrl-names = "default"; 65992aa0995SMarek Vasut 66092aa0995SMarek Vasut status = "okay"; 66192aa0995SMarek Vasut 66292aa0995SMarek Vasut flash@0 { 66392aa0995SMarek Vasut compatible = "spansion,s25fl512s", "jedec,spi-nor"; 66492aa0995SMarek Vasut reg = <0>; 66592aa0995SMarek Vasut spi-max-frequency = <30000000>; 66692aa0995SMarek Vasut spi-tx-bus-width = <4>; 66792aa0995SMarek Vasut spi-rx-bus-width = <4>; 66892aa0995SMarek Vasut spi-cpol; 66992aa0995SMarek Vasut spi-cpha; 67092aa0995SMarek Vasut m25p,fast-read; 67192aa0995SMarek Vasut 67292aa0995SMarek Vasut partitions { 67392aa0995SMarek Vasut compatible = "fixed-partitions"; 67492aa0995SMarek Vasut #address-cells = <1>; 67592aa0995SMarek Vasut #size-cells = <1>; 67692aa0995SMarek Vasut 67792aa0995SMarek Vasut partition@0 { 67892aa0995SMarek Vasut label = "loader"; 67992aa0995SMarek Vasut reg = <0x00000000 0x00040000>; 68092aa0995SMarek Vasut read-only; 68192aa0995SMarek Vasut }; 68292aa0995SMarek Vasut partition@40000 { 68392aa0995SMarek Vasut label = "user"; 68492aa0995SMarek Vasut reg = <0x00040000 0x00400000>; 68592aa0995SMarek Vasut read-only; 68692aa0995SMarek Vasut }; 68792aa0995SMarek Vasut partition@440000 { 68892aa0995SMarek Vasut label = "flash"; 68992aa0995SMarek Vasut reg = <0x00440000 0x03bc0000>; 69092aa0995SMarek Vasut }; 69192aa0995SMarek Vasut }; 69292aa0995SMarek Vasut }; 69392aa0995SMarek Vasut}; 69492aa0995SMarek Vasut 69592aa0995SMarek Vasut&i2c2 { 69692aa0995SMarek Vasut pinctrl-0 = <&i2c2_pins>; 697*252c8b45SMarek Vasut pinctrl-names = "i2c-hdmi"; 69892aa0995SMarek Vasut 69992aa0995SMarek Vasut status = "okay"; 70092aa0995SMarek Vasut clock-frequency = <100000>; 70192aa0995SMarek Vasut 70292aa0995SMarek Vasut}; 70392aa0995SMarek Vasut 70492aa0995SMarek Vasut&i2c6 { 70592aa0995SMarek Vasut status = "okay"; 70692aa0995SMarek Vasut clock-frequency = <100000>; 70792aa0995SMarek Vasut 70892aa0995SMarek Vasut pmic@58 { 70992aa0995SMarek Vasut compatible = "dlg,da9063"; 71092aa0995SMarek Vasut reg = <0x58>; 71192aa0995SMarek Vasut interrupt-parent = <&irqc0>; 71292aa0995SMarek Vasut interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 71392aa0995SMarek Vasut interrupt-controller; 71492aa0995SMarek Vasut 71592aa0995SMarek Vasut rtc { 71692aa0995SMarek Vasut compatible = "dlg,da9063-rtc"; 71792aa0995SMarek Vasut }; 71892aa0995SMarek Vasut 71992aa0995SMarek Vasut wdt { 72092aa0995SMarek Vasut compatible = "dlg,da9063-watchdog"; 72192aa0995SMarek Vasut }; 72292aa0995SMarek Vasut }; 72392aa0995SMarek Vasut}; 72492aa0995SMarek Vasut 725*252c8b45SMarek Vasut&i2c4 { 726*252c8b45SMarek Vasut pinctrl-0 = <&i2c4_pins>; 727*252c8b45SMarek Vasut pinctrl-names = "i2c-exio4"; 728*252c8b45SMarek Vasut}; 729*252c8b45SMarek Vasut 73092aa0995SMarek Vasut&rcar_sound { 73192aa0995SMarek Vasut pinctrl-0 = <&sound_pins &sound_clk_pins>; 73292aa0995SMarek Vasut pinctrl-names = "default"; 73392aa0995SMarek Vasut 73492aa0995SMarek Vasut /* Single DAI */ 73592aa0995SMarek Vasut #sound-dai-cells = <0>; 73692aa0995SMarek Vasut 73792aa0995SMarek Vasut status = "okay"; 73892aa0995SMarek Vasut 73992aa0995SMarek Vasut rcar_sound,dai { 74092aa0995SMarek Vasut dai0 { 74192aa0995SMarek Vasut playback = <&ssi0 &src2 &dvc0>; 74292aa0995SMarek Vasut capture = <&ssi1 &src3 &dvc1>; 74392aa0995SMarek Vasut }; 74492aa0995SMarek Vasut }; 74592aa0995SMarek Vasut}; 74692aa0995SMarek Vasut 74792aa0995SMarek Vasut&ssi1 { 74892aa0995SMarek Vasut shared-pin; 74992aa0995SMarek Vasut}; 75092aa0995SMarek Vasut 75192aa0995SMarek Vasut/* HDMI video input */ 75292aa0995SMarek Vasut&vin0 { 75392aa0995SMarek Vasut status = "okay"; 75492aa0995SMarek Vasut pinctrl-0 = <&vin0_pins>; 75592aa0995SMarek Vasut pinctrl-names = "default"; 75692aa0995SMarek Vasut 75792aa0995SMarek Vasut port { 75892aa0995SMarek Vasut #address-cells = <1>; 75992aa0995SMarek Vasut #size-cells = <0>; 76092aa0995SMarek Vasut 76192aa0995SMarek Vasut vin0ep2: endpoint { 76292aa0995SMarek Vasut remote-endpoint = <&adv7612_out>; 76392aa0995SMarek Vasut bus-width = <24>; 76492aa0995SMarek Vasut hsync-active = <0>; 76592aa0995SMarek Vasut vsync-active = <0>; 76692aa0995SMarek Vasut pclk-sample = <1>; 76792aa0995SMarek Vasut data-active = <1>; 76892aa0995SMarek Vasut }; 76992aa0995SMarek Vasut }; 77092aa0995SMarek Vasut}; 77192aa0995SMarek Vasut 77292aa0995SMarek Vasut/* composite video input */ 77392aa0995SMarek Vasut&vin1 { 77492aa0995SMarek Vasut pinctrl-0 = <&vin1_pins>; 77592aa0995SMarek Vasut pinctrl-names = "default"; 77692aa0995SMarek Vasut 77792aa0995SMarek Vasut status = "okay"; 77892aa0995SMarek Vasut 77992aa0995SMarek Vasut port { 78092aa0995SMarek Vasut #address-cells = <1>; 78192aa0995SMarek Vasut #size-cells = <0>; 78292aa0995SMarek Vasut 78392aa0995SMarek Vasut vin1ep: endpoint { 78492aa0995SMarek Vasut remote-endpoint = <&adv7180_out>; 78592aa0995SMarek Vasut bus-width = <8>; 78692aa0995SMarek Vasut }; 78792aa0995SMarek Vasut }; 78892aa0995SMarek Vasut}; 789