1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2724ba675SRob Herring/* 3724ba675SRob Herring * Device Tree Source for the Wheat board 4724ba675SRob Herring * 5724ba675SRob Herring * Copyright (C) 2016 Renesas Electronics Corporation 6724ba675SRob Herring * Copyright (C) 2016 Cogent Embedded, Inc. 7724ba675SRob Herring */ 8724ba675SRob Herring 9724ba675SRob Herring/dts-v1/; 10724ba675SRob Herring#include "r8a7792.dtsi" 11724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 12724ba675SRob Herring#include <dt-bindings/input/input.h> 13724ba675SRob Herring 14724ba675SRob Herring/ { 15724ba675SRob Herring model = "Wheat"; 16724ba675SRob Herring compatible = "renesas,wheat", "renesas,r8a7792"; 17724ba675SRob Herring 18724ba675SRob Herring aliases { 19724ba675SRob Herring serial0 = &scif0; 20724ba675SRob Herring }; 21724ba675SRob Herring 22724ba675SRob Herring chosen { 23724ba675SRob Herring bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 24724ba675SRob Herring stdout-path = "serial0:115200n8"; 25724ba675SRob Herring }; 26724ba675SRob Herring 27724ba675SRob Herring memory@40000000 { 28724ba675SRob Herring device_type = "memory"; 29724ba675SRob Herring reg = <0 0x40000000 0 0x40000000>; 30724ba675SRob Herring }; 31724ba675SRob Herring 32cc75154cSGeert Uytterhoeven d1_8v: regulator-1v8 { 33cc75154cSGeert Uytterhoeven compatible = "regulator-fixed"; 34cc75154cSGeert Uytterhoeven regulator-name = "D1.8V"; 35cc75154cSGeert Uytterhoeven regulator-min-microvolt = <1800000>; 36cc75154cSGeert Uytterhoeven regulator-max-microvolt = <1800000>; 37cc75154cSGeert Uytterhoeven regulator-boot-on; 38cc75154cSGeert Uytterhoeven regulator-always-on; 39cc75154cSGeert Uytterhoeven }; 40cc75154cSGeert Uytterhoeven 41724ba675SRob Herring d3_3v: regulator-3v3 { 42724ba675SRob Herring compatible = "regulator-fixed"; 43724ba675SRob Herring regulator-name = "D3.3V"; 44724ba675SRob Herring regulator-min-microvolt = <3300000>; 45724ba675SRob Herring regulator-max-microvolt = <3300000>; 46724ba675SRob Herring regulator-boot-on; 47724ba675SRob Herring regulator-always-on; 48724ba675SRob Herring }; 49724ba675SRob Herring 50724ba675SRob Herring keyboard { 51724ba675SRob Herring compatible = "gpio-keys"; 52724ba675SRob Herring 53724ba675SRob Herring key-a { 54724ba675SRob Herring linux,code = <KEY_A>; 55724ba675SRob Herring label = "SW2"; 56724ba675SRob Herring wakeup-source; 57724ba675SRob Herring debounce-interval = <20>; 58724ba675SRob Herring gpios = <&gpio3 20 GPIO_ACTIVE_LOW>; 59724ba675SRob Herring }; 60724ba675SRob Herring key-b { 61724ba675SRob Herring linux,code = <KEY_B>; 62724ba675SRob Herring label = "SW3"; 63724ba675SRob Herring wakeup-source; 64724ba675SRob Herring debounce-interval = <20>; 65724ba675SRob Herring gpios = <&gpio11 2 GPIO_ACTIVE_LOW>; 66724ba675SRob Herring }; 67724ba675SRob Herring }; 68724ba675SRob Herring 69724ba675SRob Herring vcc_sdhi0: regulator-vcc-sdhi0 { 70724ba675SRob Herring compatible = "regulator-fixed"; 71724ba675SRob Herring 72724ba675SRob Herring regulator-name = "SDHI0 Vcc"; 73724ba675SRob Herring regulator-min-microvolt = <3300000>; 74724ba675SRob Herring regulator-max-microvolt = <3300000>; 75724ba675SRob Herring 76724ba675SRob Herring gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>; 77724ba675SRob Herring enable-active-high; 78724ba675SRob Herring }; 79724ba675SRob Herring 80724ba675SRob Herring hdmi-out0 { 81724ba675SRob Herring compatible = "hdmi-connector"; 82724ba675SRob Herring type = "a"; 83724ba675SRob Herring 84724ba675SRob Herring port { 85724ba675SRob Herring hdmi_con0: endpoint { 86724ba675SRob Herring remote-endpoint = <&adv7513_0_out>; 87724ba675SRob Herring }; 88724ba675SRob Herring }; 89724ba675SRob Herring }; 90724ba675SRob Herring 91724ba675SRob Herring hdmi-out1 { 92724ba675SRob Herring compatible = "hdmi-connector"; 93724ba675SRob Herring type = "a"; 94724ba675SRob Herring 95724ba675SRob Herring port { 96724ba675SRob Herring hdmi_con1: endpoint { 97724ba675SRob Herring remote-endpoint = <&adv7513_1_out>; 98724ba675SRob Herring }; 99724ba675SRob Herring }; 100724ba675SRob Herring }; 101724ba675SRob Herring 102724ba675SRob Herring osc2_clk: osc2 { 103724ba675SRob Herring compatible = "fixed-clock"; 104724ba675SRob Herring #clock-cells = <0>; 105724ba675SRob Herring clock-frequency = <74250000>; 106724ba675SRob Herring }; 107724ba675SRob Herring}; 108724ba675SRob Herring 109724ba675SRob Herring&extal_clk { 110724ba675SRob Herring clock-frequency = <20000000>; 111724ba675SRob Herring}; 112724ba675SRob Herring 11386b37eb0SGeert Uytterhoeven&lbsc { 11486b37eb0SGeert Uytterhoeven ethernet@18000000 { 11586b37eb0SGeert Uytterhoeven compatible = "smsc,lan89218", "smsc,lan9115"; 11686b37eb0SGeert Uytterhoeven reg = <0x18000000 0x100>; 11786b37eb0SGeert Uytterhoeven phy-mode = "mii"; 118*1d7d6633SGeert Uytterhoeven interrupts-extended = <&irqc 0 IRQ_TYPE_EDGE_FALLING>; 11986b37eb0SGeert Uytterhoeven smsc,irq-push-pull; 12086b37eb0SGeert Uytterhoeven smsc,save-mac-address; 12186b37eb0SGeert Uytterhoeven reg-io-width = <4>; 12286b37eb0SGeert Uytterhoeven vddvario-supply = <&d3_3v>; 12386b37eb0SGeert Uytterhoeven vdd33a-supply = <&d3_3v>; 12486b37eb0SGeert Uytterhoeven 12586b37eb0SGeert Uytterhoeven pinctrl-0 = <&lan89218_pins>; 12686b37eb0SGeert Uytterhoeven pinctrl-names = "default"; 12786b37eb0SGeert Uytterhoeven }; 12886b37eb0SGeert Uytterhoeven}; 12986b37eb0SGeert Uytterhoeven 130724ba675SRob Herring&pfc { 131724ba675SRob Herring scif0_pins: scif0 { 132724ba675SRob Herring groups = "scif0_data"; 133724ba675SRob Herring function = "scif0"; 134724ba675SRob Herring }; 135724ba675SRob Herring 136724ba675SRob Herring lan89218_pins: lan89218 { 137724ba675SRob Herring intc { 138724ba675SRob Herring groups = "intc_irq0"; 139724ba675SRob Herring function = "intc"; 140724ba675SRob Herring }; 141724ba675SRob Herring lbsc { 142724ba675SRob Herring groups = "lbsc_ex_cs0"; 143724ba675SRob Herring function = "lbsc"; 144724ba675SRob Herring }; 145724ba675SRob Herring }; 146724ba675SRob Herring 147724ba675SRob Herring can0_pins: can0 { 148724ba675SRob Herring groups = "can0_data"; 149724ba675SRob Herring function = "can0"; 150724ba675SRob Herring }; 151724ba675SRob Herring 152724ba675SRob Herring can1_pins: can1 { 153724ba675SRob Herring groups = "can1_data"; 154724ba675SRob Herring function = "can1"; 155724ba675SRob Herring }; 156724ba675SRob Herring 157724ba675SRob Herring sdhi0_pins: sdhi0 { 158724ba675SRob Herring groups = "sdhi0_data4", "sdhi0_ctrl"; 159724ba675SRob Herring function = "sdhi0"; 160724ba675SRob Herring }; 161724ba675SRob Herring 162724ba675SRob Herring qspi_pins: qspi { 163724ba675SRob Herring groups = "qspi_ctrl", "qspi_data4"; 164724ba675SRob Herring function = "qspi"; 165724ba675SRob Herring }; 166724ba675SRob Herring 167724ba675SRob Herring du0_pins: du0 { 168724ba675SRob Herring groups = "du0_rgb888", "du0_sync", "du0_disp"; 169724ba675SRob Herring function = "du0"; 170724ba675SRob Herring }; 171724ba675SRob Herring 172724ba675SRob Herring du1_pins: du1 { 173724ba675SRob Herring groups = "du1_rgb666", "du1_sync", "du1_disp"; 174724ba675SRob Herring function = "du1"; 175724ba675SRob Herring }; 176724ba675SRob Herring}; 177724ba675SRob Herring 178724ba675SRob Herring&rwdt { 179724ba675SRob Herring timeout-sec = <60>; 180724ba675SRob Herring status = "okay"; 181724ba675SRob Herring}; 182724ba675SRob Herring 183724ba675SRob Herring&scif0 { 184724ba675SRob Herring pinctrl-0 = <&scif0_pins>; 185724ba675SRob Herring pinctrl-names = "default"; 186724ba675SRob Herring 187724ba675SRob Herring status = "okay"; 188724ba675SRob Herring}; 189724ba675SRob Herring 190724ba675SRob Herring&can0 { 191724ba675SRob Herring pinctrl-0 = <&can0_pins>; 192724ba675SRob Herring pinctrl-names = "default"; 193724ba675SRob Herring 194724ba675SRob Herring status = "okay"; 195724ba675SRob Herring}; 196724ba675SRob Herring 197724ba675SRob Herring&can1 { 198724ba675SRob Herring pinctrl-0 = <&can1_pins>; 199724ba675SRob Herring pinctrl-names = "default"; 200724ba675SRob Herring 201724ba675SRob Herring status = "okay"; 202724ba675SRob Herring}; 203724ba675SRob Herring 204724ba675SRob Herring&sdhi0 { 205724ba675SRob Herring pinctrl-0 = <&sdhi0_pins>; 206724ba675SRob Herring pinctrl-names = "default"; 207724ba675SRob Herring 208724ba675SRob Herring vmmc-supply = <&vcc_sdhi0>; 209724ba675SRob Herring cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>; 210724ba675SRob Herring status = "okay"; 211724ba675SRob Herring}; 212724ba675SRob Herring 213724ba675SRob Herring&qspi { 214724ba675SRob Herring pinctrl-0 = <&qspi_pins>; 215724ba675SRob Herring pinctrl-names = "default"; 216724ba675SRob Herring status = "okay"; 217724ba675SRob Herring 218724ba675SRob Herring flash@0 { 219724ba675SRob Herring compatible = "spansion,s25fl512s", "jedec,spi-nor"; 220724ba675SRob Herring reg = <0>; 221724ba675SRob Herring spi-max-frequency = <30000000>; 222724ba675SRob Herring spi-tx-bus-width = <4>; 223724ba675SRob Herring spi-rx-bus-width = <4>; 224724ba675SRob Herring spi-cpol; 225724ba675SRob Herring spi-cpha; 226724ba675SRob Herring m25p,fast-read; 227724ba675SRob Herring 228724ba675SRob Herring partitions { 229724ba675SRob Herring compatible = "fixed-partitions"; 230724ba675SRob Herring #address-cells = <1>; 231724ba675SRob Herring #size-cells = <1>; 232724ba675SRob Herring 233724ba675SRob Herring partition@0 { 234724ba675SRob Herring label = "loader"; 235724ba675SRob Herring reg = <0x00000000 0x00040000>; 236724ba675SRob Herring read-only; 237724ba675SRob Herring }; 238724ba675SRob Herring partition@40000 { 239724ba675SRob Herring label = "user"; 240724ba675SRob Herring reg = <0x00040000 0x00400000>; 241724ba675SRob Herring read-only; 242724ba675SRob Herring }; 243724ba675SRob Herring partition@440000 { 244724ba675SRob Herring label = "flash"; 245724ba675SRob Herring reg = <0x00440000 0x03bc0000>; 246724ba675SRob Herring }; 247724ba675SRob Herring }; 248724ba675SRob Herring }; 249724ba675SRob Herring}; 250724ba675SRob Herring 251724ba675SRob Herring&i2c4 { 252724ba675SRob Herring status = "okay"; 253724ba675SRob Herring clock-frequency = <400000>; 254724ba675SRob Herring 255724ba675SRob Herring /* 256724ba675SRob Herring * The adv75xx resets its addresses to defaults during low power mode. 257724ba675SRob Herring * Because we have two ADV7513 devices on the same bus, we must change 258724ba675SRob Herring * both of them away from the defaults so that they do not conflict. 259724ba675SRob Herring */ 260724ba675SRob Herring hdmi@3d { 261724ba675SRob Herring compatible = "adi,adv7513"; 262724ba675SRob Herring reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>; 263724ba675SRob Herring reg-names = "main", "edid", "cec", "packet"; 264724ba675SRob Herring 265cc75154cSGeert Uytterhoeven avdd-supply = <&d1_8v>; 266cc75154cSGeert Uytterhoeven dvdd-supply = <&d1_8v>; 267cc75154cSGeert Uytterhoeven pvdd-supply = <&d1_8v>; 268cc75154cSGeert Uytterhoeven dvdd-3v-supply = <&d3_3v>; 269cc75154cSGeert Uytterhoeven bgvdd-supply = <&d1_8v>; 270cc75154cSGeert Uytterhoeven 271724ba675SRob Herring adi,input-depth = <8>; 272724ba675SRob Herring adi,input-colorspace = "rgb"; 273724ba675SRob Herring adi,input-clock = "1x"; 274724ba675SRob Herring 275724ba675SRob Herring ports { 276724ba675SRob Herring #address-cells = <1>; 277724ba675SRob Herring #size-cells = <0>; 278724ba675SRob Herring 279724ba675SRob Herring port@0 { 280724ba675SRob Herring reg = <0>; 281724ba675SRob Herring adv7513_0_in: endpoint { 282724ba675SRob Herring remote-endpoint = <&du_out_rgb0>; 283724ba675SRob Herring }; 284724ba675SRob Herring }; 285724ba675SRob Herring 286724ba675SRob Herring port@1 { 287724ba675SRob Herring reg = <1>; 288724ba675SRob Herring adv7513_0_out: endpoint { 289724ba675SRob Herring remote-endpoint = <&hdmi_con0>; 290724ba675SRob Herring }; 291724ba675SRob Herring }; 292724ba675SRob Herring }; 293724ba675SRob Herring }; 294724ba675SRob Herring 295724ba675SRob Herring hdmi@39 { 296724ba675SRob Herring compatible = "adi,adv7513"; 297724ba675SRob Herring reg = <0x39>, <0x49>, <0x29>, <0x59>; 298724ba675SRob Herring reg-names = "main", "edid", "cec", "packet"; 299724ba675SRob Herring 300cc75154cSGeert Uytterhoeven avdd-supply = <&d1_8v>; 301cc75154cSGeert Uytterhoeven dvdd-supply = <&d1_8v>; 302cc75154cSGeert Uytterhoeven pvdd-supply = <&d1_8v>; 303cc75154cSGeert Uytterhoeven dvdd-3v-supply = <&d3_3v>; 304cc75154cSGeert Uytterhoeven bgvdd-supply = <&d1_8v>; 305cc75154cSGeert Uytterhoeven 306724ba675SRob Herring adi,input-depth = <8>; 307724ba675SRob Herring adi,input-colorspace = "rgb"; 308724ba675SRob Herring adi,input-clock = "1x"; 309724ba675SRob Herring 310724ba675SRob Herring ports { 311724ba675SRob Herring #address-cells = <1>; 312724ba675SRob Herring #size-cells = <0>; 313724ba675SRob Herring 314724ba675SRob Herring port@0 { 315724ba675SRob Herring reg = <0>; 316724ba675SRob Herring adv7513_1_in: endpoint { 317724ba675SRob Herring remote-endpoint = <&du_out_rgb1>; 318724ba675SRob Herring }; 319724ba675SRob Herring }; 320724ba675SRob Herring 321724ba675SRob Herring port@1 { 322724ba675SRob Herring reg = <1>; 323724ba675SRob Herring adv7513_1_out: endpoint { 324724ba675SRob Herring remote-endpoint = <&hdmi_con1>; 325724ba675SRob Herring }; 326724ba675SRob Herring }; 327724ba675SRob Herring }; 328724ba675SRob Herring }; 329724ba675SRob Herring}; 330724ba675SRob Herring 331724ba675SRob Herring&du { 332724ba675SRob Herring pinctrl-0 = <&du0_pins>, <&du1_pins>; 333724ba675SRob Herring pinctrl-names = "default"; 334724ba675SRob Herring 335724ba675SRob Herring clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>; 336724ba675SRob Herring clock-names = "du.0", "du.1", "dclkin.0"; 337724ba675SRob Herring status = "okay"; 338724ba675SRob Herring 339724ba675SRob Herring ports { 340724ba675SRob Herring port@0 { 341724ba675SRob Herring endpoint { 342724ba675SRob Herring remote-endpoint = <&adv7513_0_in>; 343724ba675SRob Herring }; 344724ba675SRob Herring }; 345724ba675SRob Herring port@1 { 346724ba675SRob Herring endpoint { 347724ba675SRob Herring remote-endpoint = <&adv7513_1_in>; 348724ba675SRob Herring }; 349724ba675SRob Herring }; 350724ba675SRob Herring }; 351724ba675SRob Herring}; 352