1/* 2 * Device Tree Source for the Blanche board 3 * 4 * Copyright (C) 2014 Renesas Electronics Corporation 5 * Copyright (C) 2016 Cogent Embedded, Inc. 6 * 7 * This file is licensed under the terms of the GNU General Public License 8 * version 2. This program is licensed "as is" without any warranty of any 9 * kind, whether express or implied. 10 */ 11 12/dts-v1/; 13#include "r8a7792.dtsi" 14#include <dt-bindings/gpio/gpio.h> 15#include <dt-bindings/input/input.h> 16 17/ { 18 model = "Blanche"; 19 compatible = "renesas,blanche", "renesas,r8a7792"; 20 21 aliases { 22 serial0 = &scif0; 23 serial1 = &scif3; 24 }; 25 26 chosen { 27 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; 28 stdout-path = "serial0:115200n8"; 29 }; 30 31 memory@40000000 { 32 device_type = "memory"; 33 reg = <0 0x40000000 0 0x40000000>; 34 }; 35 36 d3_3v: regulator-3v3 { 37 compatible = "regulator-fixed"; 38 regulator-name = "D3.3V"; 39 regulator-min-microvolt = <3300000>; 40 regulator-max-microvolt = <3300000>; 41 regulator-boot-on; 42 regulator-always-on; 43 }; 44 45 ethernet@18000000 { 46 compatible = "smsc,lan89218", "smsc,lan9115"; 47 reg = <0 0x18000000 0 0x100>; 48 phy-mode = "mii"; 49 interrupt-parent = <&irqc>; 50 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 51 smsc,irq-push-pull; 52 reg-io-width = <4>; 53 vddvario-supply = <&d3_3v>; 54 vdd33a-supply = <&d3_3v>; 55 56 pinctrl-0 = <&lan89218_pins>; 57 pinctrl-names = "default"; 58 }; 59 60 vga-encoder { 61 compatible = "adi,adv7123"; 62 63 ports { 64 #address-cells = <1>; 65 #size-cells = <0>; 66 67 port@0 { 68 reg = <0>; 69 adv7123_in: endpoint { 70 remote-endpoint = <&du_out_rgb1>; 71 }; 72 }; 73 port@1 { 74 reg = <1>; 75 adv7123_out: endpoint { 76 remote-endpoint = <&vga_in>; 77 }; 78 }; 79 }; 80 }; 81 82 hdmi-out { 83 compatible = "hdmi-connector"; 84 type = "a"; 85 86 port { 87 hdmi_con: endpoint { 88 remote-endpoint = <&adv7511_out>; 89 }; 90 }; 91 }; 92 93 vga { 94 compatible = "vga-connector"; 95 96 port { 97 vga_in: endpoint { 98 remote-endpoint = <&adv7123_out>; 99 }; 100 }; 101 }; 102 103 x1_clk: x1 { 104 compatible = "fixed-clock"; 105 #clock-cells = <0>; 106 clock-frequency = <74250000>; 107 }; 108 109 x2_clk: x2 { 110 compatible = "fixed-clock"; 111 #clock-cells = <0>; 112 clock-frequency = <65000000>; 113 }; 114 115 keyboard { 116 compatible = "gpio-keys"; 117 118 key-1 { 119 linux,code = <KEY_1>; 120 label = "SW2-1"; 121 wakeup-source; 122 debounce-interval = <20>; 123 gpios = <&gpio3 10 GPIO_ACTIVE_LOW>; 124 }; 125 key-2 { 126 linux,code = <KEY_2>; 127 label = "SW2-2"; 128 wakeup-source; 129 debounce-interval = <20>; 130 gpios = <&gpio3 11 GPIO_ACTIVE_LOW>; 131 }; 132 key-3 { 133 linux,code = <KEY_3>; 134 label = "SW2-3"; 135 wakeup-source; 136 debounce-interval = <20>; 137 gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 138 }; 139 key-4 { 140 linux,code = <KEY_4>; 141 label = "SW2-4"; 142 wakeup-source; 143 debounce-interval = <20>; 144 gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; 145 }; 146 key-a { 147 linux,code = <KEY_A>; 148 label = "SW24"; 149 wakeup-source; 150 debounce-interval = <20>; 151 gpios = <&gpio3 20 GPIO_ACTIVE_LOW>; 152 }; 153 key-b { 154 linux,code = <KEY_B>; 155 label = "SW25"; 156 wakeup-source; 157 debounce-interval = <20>; 158 gpios = <&gpio11 2 GPIO_ACTIVE_LOW>; 159 }; 160 }; 161 162 leds { 163 compatible = "gpio-leds"; 164 165 led17 { 166 gpios = <&gpio10 10 GPIO_ACTIVE_HIGH>; 167 }; 168 led18 { 169 gpios = <&gpio10 11 GPIO_ACTIVE_HIGH>; 170 }; 171 led19 { 172 gpios = <&gpio10 12 GPIO_ACTIVE_HIGH>; 173 }; 174 led20 { 175 gpios = <&gpio10 23 GPIO_ACTIVE_HIGH>; 176 }; 177 }; 178 179 vcc_sdhi0: regulator-vcc-sdhi0 { 180 compatible = "regulator-fixed"; 181 182 regulator-name = "SDHI0 Vcc"; 183 regulator-min-microvolt = <3300000>; 184 regulator-max-microvolt = <3300000>; 185 186 gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>; 187 enable-active-high; 188 }; 189}; 190 191&extal_clk { 192 clock-frequency = <20000000>; 193}; 194 195&can_clk { 196 clock-frequency = <48000000>; 197}; 198 199&pfc { 200 scif0_pins: scif0 { 201 groups = "scif0_data"; 202 function = "scif0"; 203 }; 204 205 scif3_pins: scif3 { 206 groups = "scif3_data"; 207 function = "scif3"; 208 }; 209 210 lan89218_pins: lan89218 { 211 intc { 212 groups = "intc_irq0"; 213 function = "intc"; 214 }; 215 lbsc { 216 groups = "lbsc_ex_cs0"; 217 function = "lbsc"; 218 }; 219 }; 220 221 can0_pins: can0 { 222 groups = "can0_data", "can_clk"; 223 function = "can0"; 224 }; 225 226 sdhi0_pins: sdhi0 { 227 groups = "sdhi0_data4", "sdhi0_ctrl"; 228 function = "sdhi0"; 229 }; 230 231 du0_pins: du0 { 232 groups = "du0_rgb888", "du0_sync", "du0_disp"; 233 function = "du0"; 234 }; 235 236 du1_pins: du1 { 237 groups = "du1_rgb666", "du1_sync", "du1_disp"; 238 function = "du1"; 239 }; 240}; 241 242&scif0 { 243 pinctrl-0 = <&scif0_pins>; 244 pinctrl-names = "default"; 245 246 status = "okay"; 247}; 248 249&scif3 { 250 pinctrl-0 = <&scif3_pins>; 251 pinctrl-names = "default"; 252 253 status = "okay"; 254}; 255 256&can0 { 257 pinctrl-0 = <&can0_pins>; 258 pinctrl-names = "default"; 259 260 status = "okay"; 261}; 262 263&sdhi0 { 264 pinctrl-0 = <&sdhi0_pins>; 265 pinctrl-names = "default"; 266 267 vmmc-supply = <&vcc_sdhi0>; 268 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>; 269 status = "okay"; 270}; 271 272&i2c1 { 273 status = "okay"; 274 clock-frequency = <400000>; 275 276 hdmi@39 { 277 compatible = "adi,adv7511w"; 278 reg = <0x39>; 279 interrupt-parent = <&irqc>; 280 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 281 282 adi,input-depth = <8>; 283 adi,input-colorspace = "rgb"; 284 adi,input-clock = "1x"; 285 adi,input-style = <1>; 286 adi,input-justification = "evenly"; 287 288 ports { 289 #address-cells = <1>; 290 #size-cells = <0>; 291 292 port@0 { 293 reg = <0>; 294 adv7511_in: endpoint { 295 remote-endpoint = <&du_out_rgb0>; 296 }; 297 }; 298 299 port@1 { 300 reg = <1>; 301 adv7511_out: endpoint { 302 remote-endpoint = <&hdmi_con>; 303 }; 304 }; 305 }; 306 }; 307}; 308 309&du { 310 pinctrl-0 = <&du0_pins &du1_pins>; 311 pinctrl-names = "default"; 312 313 clocks = <&mstp7_clks R8A7792_CLK_DU0>, <&mstp7_clks R8A7792_CLK_DU1>, 314 <&x1_clk>, <&x2_clk>; 315 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1"; 316 status = "okay"; 317 318 ports { 319 port@0 { 320 endpoint { 321 remote-endpoint = <&adv7511_in>; 322 }; 323 }; 324 port@1 { 325 endpoint { 326 remote-endpoint = <&adv7123_in>; 327 }; 328 }; 329 }; 330}; 331