1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree Source for the Wheat board 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2016 Renesas Electronics Corporation 6*724ba675SRob Herring * Copyright (C) 2016 Cogent Embedded, Inc. 7*724ba675SRob Herring */ 8*724ba675SRob Herring 9*724ba675SRob Herring/dts-v1/; 10*724ba675SRob Herring#include "r8a7792.dtsi" 11*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 12*724ba675SRob Herring#include <dt-bindings/input/input.h> 13*724ba675SRob Herring 14*724ba675SRob Herring/ { 15*724ba675SRob Herring model = "Wheat"; 16*724ba675SRob Herring compatible = "renesas,wheat", "renesas,r8a7792"; 17*724ba675SRob Herring 18*724ba675SRob Herring aliases { 19*724ba675SRob Herring serial0 = &scif0; 20*724ba675SRob Herring }; 21*724ba675SRob Herring 22*724ba675SRob Herring chosen { 23*724ba675SRob Herring bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 24*724ba675SRob Herring stdout-path = "serial0:115200n8"; 25*724ba675SRob Herring }; 26*724ba675SRob Herring 27*724ba675SRob Herring memory@40000000 { 28*724ba675SRob Herring device_type = "memory"; 29*724ba675SRob Herring reg = <0 0x40000000 0 0x40000000>; 30*724ba675SRob Herring }; 31*724ba675SRob Herring 32*724ba675SRob Herring d3_3v: regulator-3v3 { 33*724ba675SRob Herring compatible = "regulator-fixed"; 34*724ba675SRob Herring regulator-name = "D3.3V"; 35*724ba675SRob Herring regulator-min-microvolt = <3300000>; 36*724ba675SRob Herring regulator-max-microvolt = <3300000>; 37*724ba675SRob Herring regulator-boot-on; 38*724ba675SRob Herring regulator-always-on; 39*724ba675SRob Herring }; 40*724ba675SRob Herring 41*724ba675SRob Herring ethernet@18000000 { 42*724ba675SRob Herring compatible = "smsc,lan89218", "smsc,lan9115"; 43*724ba675SRob Herring reg = <0 0x18000000 0 0x100>; 44*724ba675SRob Herring phy-mode = "mii"; 45*724ba675SRob Herring interrupt-parent = <&irqc>; 46*724ba675SRob Herring interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 47*724ba675SRob Herring smsc,irq-push-pull; 48*724ba675SRob Herring smsc,save-mac-address; 49*724ba675SRob Herring reg-io-width = <4>; 50*724ba675SRob Herring vddvario-supply = <&d3_3v>; 51*724ba675SRob Herring vdd33a-supply = <&d3_3v>; 52*724ba675SRob Herring 53*724ba675SRob Herring pinctrl-0 = <&lan89218_pins>; 54*724ba675SRob Herring pinctrl-names = "default"; 55*724ba675SRob Herring }; 56*724ba675SRob Herring 57*724ba675SRob Herring keyboard { 58*724ba675SRob Herring compatible = "gpio-keys"; 59*724ba675SRob Herring 60*724ba675SRob Herring key-a { 61*724ba675SRob Herring linux,code = <KEY_A>; 62*724ba675SRob Herring label = "SW2"; 63*724ba675SRob Herring wakeup-source; 64*724ba675SRob Herring debounce-interval = <20>; 65*724ba675SRob Herring gpios = <&gpio3 20 GPIO_ACTIVE_LOW>; 66*724ba675SRob Herring }; 67*724ba675SRob Herring key-b { 68*724ba675SRob Herring linux,code = <KEY_B>; 69*724ba675SRob Herring label = "SW3"; 70*724ba675SRob Herring wakeup-source; 71*724ba675SRob Herring debounce-interval = <20>; 72*724ba675SRob Herring gpios = <&gpio11 2 GPIO_ACTIVE_LOW>; 73*724ba675SRob Herring }; 74*724ba675SRob Herring }; 75*724ba675SRob Herring 76*724ba675SRob Herring vcc_sdhi0: regulator-vcc-sdhi0 { 77*724ba675SRob Herring compatible = "regulator-fixed"; 78*724ba675SRob Herring 79*724ba675SRob Herring regulator-name = "SDHI0 Vcc"; 80*724ba675SRob Herring regulator-min-microvolt = <3300000>; 81*724ba675SRob Herring regulator-max-microvolt = <3300000>; 82*724ba675SRob Herring 83*724ba675SRob Herring gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>; 84*724ba675SRob Herring enable-active-high; 85*724ba675SRob Herring }; 86*724ba675SRob Herring 87*724ba675SRob Herring hdmi-out0 { 88*724ba675SRob Herring compatible = "hdmi-connector"; 89*724ba675SRob Herring type = "a"; 90*724ba675SRob Herring 91*724ba675SRob Herring port { 92*724ba675SRob Herring hdmi_con0: endpoint { 93*724ba675SRob Herring remote-endpoint = <&adv7513_0_out>; 94*724ba675SRob Herring }; 95*724ba675SRob Herring }; 96*724ba675SRob Herring }; 97*724ba675SRob Herring 98*724ba675SRob Herring hdmi-out1 { 99*724ba675SRob Herring compatible = "hdmi-connector"; 100*724ba675SRob Herring type = "a"; 101*724ba675SRob Herring 102*724ba675SRob Herring port { 103*724ba675SRob Herring hdmi_con1: endpoint { 104*724ba675SRob Herring remote-endpoint = <&adv7513_1_out>; 105*724ba675SRob Herring }; 106*724ba675SRob Herring }; 107*724ba675SRob Herring }; 108*724ba675SRob Herring 109*724ba675SRob Herring osc2_clk: osc2 { 110*724ba675SRob Herring compatible = "fixed-clock"; 111*724ba675SRob Herring #clock-cells = <0>; 112*724ba675SRob Herring clock-frequency = <74250000>; 113*724ba675SRob Herring }; 114*724ba675SRob Herring}; 115*724ba675SRob Herring 116*724ba675SRob Herring&extal_clk { 117*724ba675SRob Herring clock-frequency = <20000000>; 118*724ba675SRob Herring}; 119*724ba675SRob Herring 120*724ba675SRob Herring&pfc { 121*724ba675SRob Herring scif0_pins: scif0 { 122*724ba675SRob Herring groups = "scif0_data"; 123*724ba675SRob Herring function = "scif0"; 124*724ba675SRob Herring }; 125*724ba675SRob Herring 126*724ba675SRob Herring lan89218_pins: lan89218 { 127*724ba675SRob Herring intc { 128*724ba675SRob Herring groups = "intc_irq0"; 129*724ba675SRob Herring function = "intc"; 130*724ba675SRob Herring }; 131*724ba675SRob Herring lbsc { 132*724ba675SRob Herring groups = "lbsc_ex_cs0"; 133*724ba675SRob Herring function = "lbsc"; 134*724ba675SRob Herring }; 135*724ba675SRob Herring }; 136*724ba675SRob Herring 137*724ba675SRob Herring can0_pins: can0 { 138*724ba675SRob Herring groups = "can0_data"; 139*724ba675SRob Herring function = "can0"; 140*724ba675SRob Herring }; 141*724ba675SRob Herring 142*724ba675SRob Herring can1_pins: can1 { 143*724ba675SRob Herring groups = "can1_data"; 144*724ba675SRob Herring function = "can1"; 145*724ba675SRob Herring }; 146*724ba675SRob Herring 147*724ba675SRob Herring sdhi0_pins: sdhi0 { 148*724ba675SRob Herring groups = "sdhi0_data4", "sdhi0_ctrl"; 149*724ba675SRob Herring function = "sdhi0"; 150*724ba675SRob Herring }; 151*724ba675SRob Herring 152*724ba675SRob Herring qspi_pins: qspi { 153*724ba675SRob Herring groups = "qspi_ctrl", "qspi_data4"; 154*724ba675SRob Herring function = "qspi"; 155*724ba675SRob Herring }; 156*724ba675SRob Herring 157*724ba675SRob Herring du0_pins: du0 { 158*724ba675SRob Herring groups = "du0_rgb888", "du0_sync", "du0_disp"; 159*724ba675SRob Herring function = "du0"; 160*724ba675SRob Herring }; 161*724ba675SRob Herring 162*724ba675SRob Herring du1_pins: du1 { 163*724ba675SRob Herring groups = "du1_rgb666", "du1_sync", "du1_disp"; 164*724ba675SRob Herring function = "du1"; 165*724ba675SRob Herring }; 166*724ba675SRob Herring}; 167*724ba675SRob Herring 168*724ba675SRob Herring&rwdt { 169*724ba675SRob Herring timeout-sec = <60>; 170*724ba675SRob Herring status = "okay"; 171*724ba675SRob Herring}; 172*724ba675SRob Herring 173*724ba675SRob Herring&scif0 { 174*724ba675SRob Herring pinctrl-0 = <&scif0_pins>; 175*724ba675SRob Herring pinctrl-names = "default"; 176*724ba675SRob Herring 177*724ba675SRob Herring status = "okay"; 178*724ba675SRob Herring}; 179*724ba675SRob Herring 180*724ba675SRob Herring&can0 { 181*724ba675SRob Herring pinctrl-0 = <&can0_pins>; 182*724ba675SRob Herring pinctrl-names = "default"; 183*724ba675SRob Herring 184*724ba675SRob Herring status = "okay"; 185*724ba675SRob Herring}; 186*724ba675SRob Herring 187*724ba675SRob Herring&can1 { 188*724ba675SRob Herring pinctrl-0 = <&can1_pins>; 189*724ba675SRob Herring pinctrl-names = "default"; 190*724ba675SRob Herring 191*724ba675SRob Herring status = "okay"; 192*724ba675SRob Herring}; 193*724ba675SRob Herring 194*724ba675SRob Herring&sdhi0 { 195*724ba675SRob Herring pinctrl-0 = <&sdhi0_pins>; 196*724ba675SRob Herring pinctrl-names = "default"; 197*724ba675SRob Herring 198*724ba675SRob Herring vmmc-supply = <&vcc_sdhi0>; 199*724ba675SRob Herring cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>; 200*724ba675SRob Herring status = "okay"; 201*724ba675SRob Herring}; 202*724ba675SRob Herring 203*724ba675SRob Herring&qspi { 204*724ba675SRob Herring pinctrl-0 = <&qspi_pins>; 205*724ba675SRob Herring pinctrl-names = "default"; 206*724ba675SRob Herring status = "okay"; 207*724ba675SRob Herring 208*724ba675SRob Herring flash@0 { 209*724ba675SRob Herring compatible = "spansion,s25fl512s", "jedec,spi-nor"; 210*724ba675SRob Herring reg = <0>; 211*724ba675SRob Herring spi-max-frequency = <30000000>; 212*724ba675SRob Herring spi-tx-bus-width = <4>; 213*724ba675SRob Herring spi-rx-bus-width = <4>; 214*724ba675SRob Herring spi-cpol; 215*724ba675SRob Herring spi-cpha; 216*724ba675SRob Herring m25p,fast-read; 217*724ba675SRob Herring 218*724ba675SRob Herring partitions { 219*724ba675SRob Herring compatible = "fixed-partitions"; 220*724ba675SRob Herring #address-cells = <1>; 221*724ba675SRob Herring #size-cells = <1>; 222*724ba675SRob Herring 223*724ba675SRob Herring partition@0 { 224*724ba675SRob Herring label = "loader"; 225*724ba675SRob Herring reg = <0x00000000 0x00040000>; 226*724ba675SRob Herring read-only; 227*724ba675SRob Herring }; 228*724ba675SRob Herring partition@40000 { 229*724ba675SRob Herring label = "user"; 230*724ba675SRob Herring reg = <0x00040000 0x00400000>; 231*724ba675SRob Herring read-only; 232*724ba675SRob Herring }; 233*724ba675SRob Herring partition@440000 { 234*724ba675SRob Herring label = "flash"; 235*724ba675SRob Herring reg = <0x00440000 0x03bc0000>; 236*724ba675SRob Herring }; 237*724ba675SRob Herring }; 238*724ba675SRob Herring }; 239*724ba675SRob Herring}; 240*724ba675SRob Herring 241*724ba675SRob Herring&i2c4 { 242*724ba675SRob Herring status = "okay"; 243*724ba675SRob Herring clock-frequency = <400000>; 244*724ba675SRob Herring 245*724ba675SRob Herring /* 246*724ba675SRob Herring * The adv75xx resets its addresses to defaults during low power mode. 247*724ba675SRob Herring * Because we have two ADV7513 devices on the same bus, we must change 248*724ba675SRob Herring * both of them away from the defaults so that they do not conflict. 249*724ba675SRob Herring */ 250*724ba675SRob Herring hdmi@3d { 251*724ba675SRob Herring compatible = "adi,adv7513"; 252*724ba675SRob Herring reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>; 253*724ba675SRob Herring reg-names = "main", "edid", "cec", "packet"; 254*724ba675SRob Herring 255*724ba675SRob Herring adi,input-depth = <8>; 256*724ba675SRob Herring adi,input-colorspace = "rgb"; 257*724ba675SRob Herring adi,input-clock = "1x"; 258*724ba675SRob Herring 259*724ba675SRob Herring ports { 260*724ba675SRob Herring #address-cells = <1>; 261*724ba675SRob Herring #size-cells = <0>; 262*724ba675SRob Herring 263*724ba675SRob Herring port@0 { 264*724ba675SRob Herring reg = <0>; 265*724ba675SRob Herring adv7513_0_in: endpoint { 266*724ba675SRob Herring remote-endpoint = <&du_out_rgb0>; 267*724ba675SRob Herring }; 268*724ba675SRob Herring }; 269*724ba675SRob Herring 270*724ba675SRob Herring port@1 { 271*724ba675SRob Herring reg = <1>; 272*724ba675SRob Herring adv7513_0_out: endpoint { 273*724ba675SRob Herring remote-endpoint = <&hdmi_con0>; 274*724ba675SRob Herring }; 275*724ba675SRob Herring }; 276*724ba675SRob Herring }; 277*724ba675SRob Herring }; 278*724ba675SRob Herring 279*724ba675SRob Herring hdmi@39 { 280*724ba675SRob Herring compatible = "adi,adv7513"; 281*724ba675SRob Herring reg = <0x39>, <0x49>, <0x29>, <0x59>; 282*724ba675SRob Herring reg-names = "main", "edid", "cec", "packet"; 283*724ba675SRob Herring 284*724ba675SRob Herring adi,input-depth = <8>; 285*724ba675SRob Herring adi,input-colorspace = "rgb"; 286*724ba675SRob Herring adi,input-clock = "1x"; 287*724ba675SRob Herring 288*724ba675SRob Herring ports { 289*724ba675SRob Herring #address-cells = <1>; 290*724ba675SRob Herring #size-cells = <0>; 291*724ba675SRob Herring 292*724ba675SRob Herring port@0 { 293*724ba675SRob Herring reg = <0>; 294*724ba675SRob Herring adv7513_1_in: endpoint { 295*724ba675SRob Herring remote-endpoint = <&du_out_rgb1>; 296*724ba675SRob Herring }; 297*724ba675SRob Herring }; 298*724ba675SRob Herring 299*724ba675SRob Herring port@1 { 300*724ba675SRob Herring reg = <1>; 301*724ba675SRob Herring adv7513_1_out: endpoint { 302*724ba675SRob Herring remote-endpoint = <&hdmi_con1>; 303*724ba675SRob Herring }; 304*724ba675SRob Herring }; 305*724ba675SRob Herring }; 306*724ba675SRob Herring }; 307*724ba675SRob Herring}; 308*724ba675SRob Herring 309*724ba675SRob Herring&du { 310*724ba675SRob Herring pinctrl-0 = <&du0_pins>, <&du1_pins>; 311*724ba675SRob Herring pinctrl-names = "default"; 312*724ba675SRob Herring 313*724ba675SRob Herring clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>; 314*724ba675SRob Herring clock-names = "du.0", "du.1", "dclkin.0"; 315*724ba675SRob Herring status = "okay"; 316*724ba675SRob Herring 317*724ba675SRob Herring ports { 318*724ba675SRob Herring port@0 { 319*724ba675SRob Herring endpoint { 320*724ba675SRob Herring remote-endpoint = <&adv7513_0_in>; 321*724ba675SRob Herring }; 322*724ba675SRob Herring }; 323*724ba675SRob Herring port@1 { 324*724ba675SRob Herring endpoint { 325*724ba675SRob Herring remote-endpoint = <&adv7513_1_in>; 326*724ba675SRob Herring }; 327*724ba675SRob Herring }; 328*724ba675SRob Herring }; 329*724ba675SRob Herring}; 330