1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Device Tree Source for the Blanche board 4 * 5 * Copyright (C) 2014 Renesas Electronics Corporation 6 * Copyright (C) 2016 Cogent Embedded, Inc. 7 */ 8 9/dts-v1/; 10#include "r8a7792.dtsi" 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/input/input.h> 13 14/ { 15 model = "Blanche"; 16 compatible = "renesas,blanche", "renesas,r8a7792"; 17 18 aliases { 19 serial0 = &scif0; 20 serial1 = &scif3; 21 }; 22 23 chosen { 24 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 25 stdout-path = "serial0:115200n8"; 26 }; 27 28 memory@40000000 { 29 device_type = "memory"; 30 reg = <0 0x40000000 0 0x40000000>; 31 }; 32 33 d1_8v: regulator-1v8 { 34 compatible = "regulator-fixed"; 35 regulator-name = "D1.8V"; 36 regulator-min-microvolt = <1800000>; 37 regulator-max-microvolt = <1800000>; 38 regulator-boot-on; 39 regulator-always-on; 40 }; 41 42 d3_3v: regulator-3v3 { 43 compatible = "regulator-fixed"; 44 regulator-name = "D3.3V"; 45 regulator-min-microvolt = <3300000>; 46 regulator-max-microvolt = <3300000>; 47 regulator-boot-on; 48 regulator-always-on; 49 }; 50 51 vga-encoder { 52 compatible = "adi,adv7123"; 53 54 ports { 55 #address-cells = <1>; 56 #size-cells = <0>; 57 58 port@0 { 59 reg = <0>; 60 adv7123_in: endpoint { 61 remote-endpoint = <&du_out_rgb1>; 62 }; 63 }; 64 port@1 { 65 reg = <1>; 66 adv7123_out: endpoint { 67 remote-endpoint = <&vga_in>; 68 }; 69 }; 70 }; 71 }; 72 73 hdmi-out { 74 compatible = "hdmi-connector"; 75 type = "a"; 76 77 port { 78 hdmi_con: endpoint { 79 remote-endpoint = <&adv7511_out>; 80 }; 81 }; 82 }; 83 84 vga { 85 compatible = "vga-connector"; 86 87 port { 88 vga_in: endpoint { 89 remote-endpoint = <&adv7123_out>; 90 }; 91 }; 92 }; 93 94 x1_clk: x1 { 95 compatible = "fixed-clock"; 96 #clock-cells = <0>; 97 clock-frequency = <74250000>; 98 }; 99 100 x2_clk: x2 { 101 compatible = "fixed-clock"; 102 #clock-cells = <0>; 103 clock-frequency = <65000000>; 104 }; 105 106 keyboard { 107 compatible = "gpio-keys"; 108 109 pinctrl-0 = <&keyboard_pins>; 110 pinctrl-names = "default"; 111 112 key-1 { 113 linux,code = <KEY_1>; 114 label = "SW2-1"; 115 wakeup-source; 116 debounce-interval = <20>; 117 gpios = <&gpio3 10 GPIO_ACTIVE_LOW>; 118 }; 119 key-2 { 120 linux,code = <KEY_2>; 121 label = "SW2-2"; 122 wakeup-source; 123 debounce-interval = <20>; 124 gpios = <&gpio3 11 GPIO_ACTIVE_LOW>; 125 }; 126 key-3 { 127 linux,code = <KEY_3>; 128 label = "SW2-3"; 129 wakeup-source; 130 debounce-interval = <20>; 131 gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 132 }; 133 key-4 { 134 linux,code = <KEY_4>; 135 label = "SW2-4"; 136 wakeup-source; 137 debounce-interval = <20>; 138 gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; 139 }; 140 key-a { 141 linux,code = <KEY_A>; 142 label = "SW24"; 143 wakeup-source; 144 debounce-interval = <20>; 145 gpios = <&gpio3 20 GPIO_ACTIVE_LOW>; 146 }; 147 key-b { 148 linux,code = <KEY_B>; 149 label = "SW25"; 150 wakeup-source; 151 debounce-interval = <20>; 152 gpios = <&gpio11 2 GPIO_ACTIVE_LOW>; 153 }; 154 }; 155 156 leds { 157 compatible = "gpio-leds"; 158 159 led17 { 160 gpios = <&gpio10 10 GPIO_ACTIVE_HIGH>; 161 }; 162 led18 { 163 gpios = <&gpio10 11 GPIO_ACTIVE_HIGH>; 164 }; 165 led19 { 166 gpios = <&gpio10 12 GPIO_ACTIVE_HIGH>; 167 }; 168 led20 { 169 gpios = <&gpio10 23 GPIO_ACTIVE_HIGH>; 170 }; 171 }; 172 173 vcc_sdhi0: regulator-vcc-sdhi0 { 174 compatible = "regulator-fixed"; 175 176 regulator-name = "SDHI0 Vcc"; 177 regulator-min-microvolt = <3300000>; 178 regulator-max-microvolt = <3300000>; 179 180 gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>; 181 enable-active-high; 182 }; 183}; 184 185&extal_clk { 186 clock-frequency = <20000000>; 187}; 188 189&can_clk { 190 clock-frequency = <48000000>; 191}; 192 193&lbsc { 194 flash@0 { 195 compatible = "cfi-flash"; 196 reg = <0x00000000 0x04000000>; 197 pinctrl-0 = <&flash_pins>; 198 pinctrl-names = "default"; 199 bank-width = <2>; 200 201 partitions { 202 compatible = "fixed-partitions"; 203 #address-cells = <1>; 204 #size-cells = <1>; 205 206 partition@0 { 207 label = "uboot"; 208 reg = <0x00000000 0x00040000>; 209 read-only; 210 }; 211 partition@40000 { 212 label = "uboot-env"; 213 reg = <0x00040000 0x00040000>; 214 read-only; 215 }; 216 partition@80000 { 217 label = "flash"; 218 reg = <0x00080000 0x03f80000>; 219 }; 220 }; 221 }; 222 223 ethernet@18000000 { 224 compatible = "smsc,lan89218", "smsc,lan9115"; 225 reg = <0x18000000 0x100>; 226 phy-mode = "mii"; 227 interrupt-parent = <&irqc>; 228 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 229 smsc,irq-push-pull; 230 reg-io-width = <4>; 231 vddvario-supply = <&d3_3v>; 232 vdd33a-supply = <&d3_3v>; 233 234 pinctrl-0 = <&lan89218_pins>; 235 pinctrl-names = "default"; 236 }; 237}; 238 239&pfc { 240 scif0_pins: scif0 { 241 groups = "scif0_data"; 242 function = "scif0"; 243 }; 244 245 scif3_pins: scif3 { 246 groups = "scif3_data"; 247 function = "scif3"; 248 }; 249 250 lan89218_pins: lan89218 { 251 intc { 252 groups = "intc_irq0"; 253 function = "intc"; 254 }; 255 lbsc { 256 groups = "lbsc_ex_cs0"; 257 function = "lbsc"; 258 }; 259 }; 260 261 can0_pins: can0 { 262 groups = "can0_data", "can_clk"; 263 function = "can0"; 264 }; 265 266 sdhi0_pins: sdhi0 { 267 groups = "sdhi0_data4", "sdhi0_ctrl"; 268 function = "sdhi0"; 269 }; 270 271 du0_pins: du0 { 272 groups = "du0_rgb888", "du0_sync", "du0_disp"; 273 function = "du0"; 274 }; 275 276 du1_pins: du1 { 277 groups = "du1_rgb666", "du1_sync", "du1_disp"; 278 function = "du1"; 279 }; 280 281 flash_pins: flash { 282 groups = "lbsc_cs0"; 283 function = "lbsc"; 284 }; 285 286 keyboard_pins: keyboard { 287 pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_2"; 288 bias-pull-up; 289 }; 290 291 pmic_irq_pins: pmicirq { 292 groups = "intc_irq2"; 293 function = "intc"; 294 }; 295}; 296 297&rwdt { 298 timeout-sec = <60>; 299 status = "okay"; 300}; 301 302&scif0 { 303 pinctrl-0 = <&scif0_pins>; 304 pinctrl-names = "default"; 305 306 status = "okay"; 307}; 308 309&scif3 { 310 pinctrl-0 = <&scif3_pins>; 311 pinctrl-names = "default"; 312 313 status = "okay"; 314}; 315 316&can0 { 317 pinctrl-0 = <&can0_pins>; 318 pinctrl-names = "default"; 319 320 status = "okay"; 321}; 322 323&sdhi0 { 324 pinctrl-0 = <&sdhi0_pins>; 325 pinctrl-names = "default"; 326 327 vmmc-supply = <&vcc_sdhi0>; 328 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>; 329 status = "okay"; 330}; 331 332&i2c1 { 333 status = "okay"; 334 clock-frequency = <400000>; 335 336 hdmi@39 { 337 compatible = "adi,adv7511w"; 338 reg = <0x39>; 339 interrupt-parent = <&irqc>; 340 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 341 342 avdd-supply = <&d1_8v>; 343 dvdd-supply = <&d1_8v>; 344 pvdd-supply = <&d1_8v>; 345 dvdd-3v-supply = <&d3_3v>; 346 bgvdd-supply = <&d1_8v>; 347 348 adi,input-depth = <8>; 349 adi,input-colorspace = "rgb"; 350 adi,input-clock = "1x"; 351 352 ports { 353 #address-cells = <1>; 354 #size-cells = <0>; 355 356 port@0 { 357 reg = <0>; 358 adv7511_in: endpoint { 359 remote-endpoint = <&du_out_rgb0>; 360 }; 361 }; 362 363 port@1 { 364 reg = <1>; 365 adv7511_out: endpoint { 366 remote-endpoint = <&hdmi_con>; 367 }; 368 }; 369 }; 370 }; 371}; 372 373&iic3 { 374 status = "okay"; 375 376 pmic@58 { 377 compatible = "dlg,da9063"; 378 reg = <0x58>; 379 pinctrl-names = "default"; 380 pinctrl-0 = <&pmic_irq_pins>; 381 interrupt-parent = <&irqc>; 382 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 383 interrupt-controller; 384 #interrupt-cells = <2>; 385 386 rtc { 387 compatible = "dlg,da9063-rtc"; 388 }; 389 390 watchdog { 391 compatible = "dlg,da9063-watchdog"; 392 }; 393 }; 394}; 395 396&du { 397 pinctrl-0 = <&du0_pins>, <&du1_pins>; 398 pinctrl-names = "default"; 399 400 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>; 401 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1"; 402 status = "okay"; 403 404 ports { 405 port@0 { 406 endpoint { 407 remote-endpoint = <&adv7511_in>; 408 }; 409 }; 410 port@1 { 411 endpoint { 412 remote-endpoint = <&adv7123_in>; 413 }; 414 }; 415 }; 416}; 417