1/* 2 * Device Tree Source for the Koelsch board 3 * 4 * Copyright (C) 2013 Renesas Electronics Corporation 5 * Copyright (C) 2013-2014 Renesas Solutions Corp. 6 * Copyright (C) 2014 Cogent Embedded, Inc. 7 * 8 * This file is licensed under the terms of the GNU General Public License 9 * version 2. This program is licensed "as is" without any warranty of any 10 * kind, whether express or implied. 11 */ 12 13/* 14 * SSI-AK4643 15 * 16 * SW1: 1: AK4643 17 * 2: CN22 18 * 3: ADV7511 19 * 20 * This command is required when Playback/Capture 21 * 22 * amixer set "LINEOUT Mixer DACL" on 23 * amixer set "DVC Out" 100% 24 * amixer set "DVC In" 100% 25 * 26 * You can use Mute 27 * 28 * amixer set "DVC Out Mute" on 29 * amixer set "DVC In Mute" on 30 * 31 * You can use Volume Ramp 32 * 33 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" 34 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" 35 * amixer set "DVC Out Ramp" on 36 * aplay xxx.wav & 37 * amixer set "DVC Out" 80% // Volume Down 38 * amixer set "DVC Out" 100% // Volume Up 39 */ 40 41/dts-v1/; 42#include "r8a7791.dtsi" 43#include <dt-bindings/gpio/gpio.h> 44#include <dt-bindings/input/input.h> 45 46/ { 47 model = "Koelsch"; 48 compatible = "renesas,koelsch", "renesas,r8a7791"; 49 50 aliases { 51 serial0 = &scif0; 52 serial1 = &scif1; 53 }; 54 55 chosen { 56 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; 57 stdout-path = &scif0; 58 }; 59 60 memory@40000000 { 61 device_type = "memory"; 62 reg = <0 0x40000000 0 0x40000000>; 63 }; 64 65 memory@200000000 { 66 device_type = "memory"; 67 reg = <2 0x00000000 0 0x40000000>; 68 }; 69 70 lbsc { 71 #address-cells = <1>; 72 #size-cells = <1>; 73 }; 74 75 keyboard { 76 compatible = "gpio-keys"; 77 78 key-1 { 79 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 80 linux,code = <KEY_1>; 81 label = "SW2-1"; 82 gpio-key,wakeup; 83 debounce-interval = <20>; 84 }; 85 key-2 { 86 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>; 87 linux,code = <KEY_2>; 88 label = "SW2-2"; 89 gpio-key,wakeup; 90 debounce-interval = <20>; 91 }; 92 key-3 { 93 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; 94 linux,code = <KEY_3>; 95 label = "SW2-3"; 96 gpio-key,wakeup; 97 debounce-interval = <20>; 98 }; 99 key-4 { 100 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; 101 linux,code = <KEY_4>; 102 label = "SW2-4"; 103 gpio-key,wakeup; 104 debounce-interval = <20>; 105 }; 106 key-a { 107 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>; 108 linux,code = <KEY_A>; 109 label = "SW30"; 110 gpio-key,wakeup; 111 debounce-interval = <20>; 112 }; 113 key-b { 114 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>; 115 linux,code = <KEY_B>; 116 label = "SW31"; 117 gpio-key,wakeup; 118 debounce-interval = <20>; 119 }; 120 key-c { 121 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>; 122 linux,code = <KEY_C>; 123 label = "SW32"; 124 gpio-key,wakeup; 125 debounce-interval = <20>; 126 }; 127 key-d { 128 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>; 129 linux,code = <KEY_D>; 130 label = "SW33"; 131 gpio-key,wakeup; 132 debounce-interval = <20>; 133 }; 134 key-e { 135 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>; 136 linux,code = <KEY_E>; 137 label = "SW34"; 138 gpio-key,wakeup; 139 debounce-interval = <20>; 140 }; 141 key-f { 142 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>; 143 linux,code = <KEY_F>; 144 label = "SW35"; 145 gpio-key,wakeup; 146 debounce-interval = <20>; 147 }; 148 key-g { 149 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>; 150 linux,code = <KEY_G>; 151 label = "SW36"; 152 gpio-key,wakeup; 153 debounce-interval = <20>; 154 }; 155 }; 156 157 leds { 158 compatible = "gpio-leds"; 159 led6 { 160 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; 161 label = "LED6"; 162 }; 163 led7 { 164 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; 165 label = "LED7"; 166 }; 167 led8 { 168 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; 169 label = "LED8"; 170 }; 171 }; 172 173 vcc_sdhi0: regulator@0 { 174 compatible = "regulator-fixed"; 175 176 regulator-name = "SDHI0 Vcc"; 177 regulator-min-microvolt = <3300000>; 178 regulator-max-microvolt = <3300000>; 179 180 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>; 181 enable-active-high; 182 }; 183 184 vccq_sdhi0: regulator@1 { 185 compatible = "regulator-gpio"; 186 187 regulator-name = "SDHI0 VccQ"; 188 regulator-min-microvolt = <1800000>; 189 regulator-max-microvolt = <3300000>; 190 191 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>; 192 gpios-states = <1>; 193 states = <3300000 1 194 1800000 0>; 195 }; 196 197 vcc_sdhi1: regulator@2 { 198 compatible = "regulator-fixed"; 199 200 regulator-name = "SDHI1 Vcc"; 201 regulator-min-microvolt = <3300000>; 202 regulator-max-microvolt = <3300000>; 203 204 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>; 205 enable-active-high; 206 }; 207 208 vccq_sdhi1: regulator@3 { 209 compatible = "regulator-gpio"; 210 211 regulator-name = "SDHI1 VccQ"; 212 regulator-min-microvolt = <1800000>; 213 regulator-max-microvolt = <3300000>; 214 215 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; 216 gpios-states = <1>; 217 states = <3300000 1 218 1800000 0>; 219 }; 220 221 vcc_sdhi2: regulator@4 { 222 compatible = "regulator-fixed"; 223 224 regulator-name = "SDHI2 Vcc"; 225 regulator-min-microvolt = <3300000>; 226 regulator-max-microvolt = <3300000>; 227 228 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>; 229 enable-active-high; 230 }; 231 232 vccq_sdhi2: regulator@5 { 233 compatible = "regulator-gpio"; 234 235 regulator-name = "SDHI2 VccQ"; 236 regulator-min-microvolt = <1800000>; 237 regulator-max-microvolt = <3300000>; 238 239 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>; 240 gpios-states = <1>; 241 states = <3300000 1 242 1800000 0>; 243 }; 244 245 sound { 246 compatible = "simple-audio-card"; 247 248 simple-audio-card,format = "left_j"; 249 simple-audio-card,bitclock-master = <&sndcodec>; 250 simple-audio-card,frame-master = <&sndcodec>; 251 252 sndcpu: simple-audio-card,cpu { 253 sound-dai = <&rcar_sound>; 254 }; 255 256 sndcodec: simple-audio-card,codec { 257 sound-dai = <&ak4643>; 258 system-clock-frequency = <11289600>; 259 }; 260 }; 261}; 262 263&du { 264 pinctrl-0 = <&du_pins>; 265 pinctrl-names = "default"; 266 status = "okay"; 267 268 ports { 269 port@1 { 270 lvds_connector: endpoint { 271 }; 272 }; 273 }; 274}; 275 276&extal_clk { 277 clock-frequency = <20000000>; 278}; 279 280&pfc { 281 i2c2_pins: i2c2 { 282 renesas,groups = "i2c2"; 283 renesas,function = "i2c2"; 284 }; 285 286 du_pins: du { 287 renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0"; 288 renesas,function = "du"; 289 }; 290 291 scif0_pins: serial0 { 292 renesas,groups = "scif0_data_d"; 293 renesas,function = "scif0"; 294 }; 295 296 scif1_pins: serial1 { 297 renesas,groups = "scif1_data_d"; 298 renesas,function = "scif1"; 299 }; 300 301 ether_pins: ether { 302 renesas,groups = "eth_link", "eth_mdio", "eth_rmii"; 303 renesas,function = "eth"; 304 }; 305 306 phy1_pins: phy1 { 307 renesas,groups = "intc_irq0"; 308 renesas,function = "intc"; 309 }; 310 311 sdhi0_pins: sd0 { 312 renesas,groups = "sdhi0_data4", "sdhi0_ctrl"; 313 renesas,function = "sdhi0"; 314 }; 315 316 sdhi1_pins: sd1 { 317 renesas,groups = "sdhi1_data4", "sdhi1_ctrl"; 318 renesas,function = "sdhi1"; 319 }; 320 321 sdhi2_pins: sd2 { 322 renesas,groups = "sdhi2_data4", "sdhi2_ctrl"; 323 renesas,function = "sdhi2"; 324 }; 325 326 qspi_pins: spi0 { 327 renesas,groups = "qspi_ctrl", "qspi_data4"; 328 renesas,function = "qspi"; 329 }; 330 331 msiof0_pins: spi1 { 332 renesas,groups = "msiof0_clk", "msiof0_sync", "msiof0_rx", 333 "msiof0_tx"; 334 renesas,function = "msiof0"; 335 }; 336 337 usb0_pins: usb0 { 338 renesas,groups = "usb0"; 339 renesas,function = "usb0"; 340 }; 341 342 usb1_pins: usb1 { 343 renesas,groups = "usb1"; 344 renesas,function = "usb1"; 345 }; 346 347 vin1_pins: vin1 { 348 renesas,groups = "vin1_data8", "vin1_clk"; 349 renesas,function = "vin1"; 350 }; 351 352 sound_pins: sound { 353 renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data"; 354 renesas,function = "ssi"; 355 }; 356 357 sound_clk_pins: sound_clk { 358 renesas,groups = "audio_clk_a"; 359 renesas,function = "audio_clk"; 360 }; 361}; 362 363ðer { 364 pinctrl-0 = <ðer_pins &phy1_pins>; 365 pinctrl-names = "default"; 366 367 phy-handle = <&phy1>; 368 renesas,ether-link-active-low; 369 status = "okay"; 370 371 phy1: ethernet-phy@1 { 372 reg = <1>; 373 interrupt-parent = <&irqc0>; 374 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 375 micrel,led-mode = <1>; 376 }; 377}; 378 379&cmt0 { 380 status = "okay"; 381}; 382 383&sata0 { 384 status = "okay"; 385}; 386 387&scif0 { 388 pinctrl-0 = <&scif0_pins>; 389 pinctrl-names = "default"; 390 391 status = "okay"; 392}; 393 394&scif1 { 395 pinctrl-0 = <&scif1_pins>; 396 pinctrl-names = "default"; 397 398 status = "okay"; 399}; 400 401&sdhi0 { 402 pinctrl-0 = <&sdhi0_pins>; 403 pinctrl-names = "default"; 404 405 vmmc-supply = <&vcc_sdhi0>; 406 vqmmc-supply = <&vccq_sdhi0>; 407 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>; 408 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; 409 status = "okay"; 410}; 411 412&sdhi1 { 413 pinctrl-0 = <&sdhi1_pins>; 414 pinctrl-names = "default"; 415 416 vmmc-supply = <&vcc_sdhi1>; 417 vqmmc-supply = <&vccq_sdhi1>; 418 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; 419 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>; 420 status = "okay"; 421}; 422 423&sdhi2 { 424 pinctrl-0 = <&sdhi2_pins>; 425 pinctrl-names = "default"; 426 427 vmmc-supply = <&vcc_sdhi2>; 428 vqmmc-supply = <&vccq_sdhi2>; 429 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>; 430 status = "okay"; 431}; 432 433&qspi { 434 pinctrl-0 = <&qspi_pins>; 435 pinctrl-names = "default"; 436 437 status = "okay"; 438 439 flash: flash@0 { 440 #address-cells = <1>; 441 #size-cells = <1>; 442 compatible = "spansion,s25fl512s"; 443 reg = <0>; 444 spi-max-frequency = <30000000>; 445 spi-tx-bus-width = <4>; 446 spi-rx-bus-width = <4>; 447 spi-cpha; 448 spi-cpol; 449 m25p,fast-read; 450 451 partition@0 { 452 label = "loader"; 453 reg = <0x00000000 0x00080000>; 454 read-only; 455 }; 456 partition@80000 { 457 label = "user"; 458 reg = <0x00080000 0x00580000>; 459 read-only; 460 }; 461 partition@600000 { 462 label = "flash"; 463 reg = <0x00600000 0x03a00000>; 464 }; 465 }; 466}; 467 468&msiof0 { 469 pinctrl-0 = <&msiof0_pins>; 470 pinctrl-names = "default"; 471 472 status = "okay"; 473 474 pmic: pmic@0 { 475 compatible = "renesas,r2a11302ft"; 476 reg = <0>; 477 spi-max-frequency = <6000000>; 478 spi-cpol; 479 spi-cpha; 480 }; 481}; 482 483&i2c2 { 484 pinctrl-0 = <&i2c2_pins>; 485 pinctrl-names = "default"; 486 487 status = "okay"; 488 clock-frequency = <100000>; 489 490 ak4643: sound-codec@12 { 491 compatible = "asahi-kasei,ak4643"; 492 #sound-dai-cells = <0>; 493 reg = <0x12>; 494 }; 495 496 composite-in@20 { 497 compatible = "adi,adv7180"; 498 reg = <0x20>; 499 remote = <&vin1>; 500 501 port { 502 adv7180: endpoint { 503 bus-width = <8>; 504 remote-endpoint = <&vin1ep>; 505 }; 506 }; 507 }; 508 509 eeprom@50 { 510 compatible = "renesas,24c02"; 511 reg = <0x50>; 512 pagesize = <16>; 513 }; 514}; 515 516&i2c6 { 517 status = "okay"; 518 clock-frequency = <100000>; 519 520 vdd_dvfs: regulator@68 { 521 compatible = "dlg,da9210"; 522 reg = <0x68>; 523 524 regulator-min-microvolt = <1000000>; 525 regulator-max-microvolt = <1000000>; 526 regulator-boot-on; 527 regulator-always-on; 528 }; 529}; 530 531&pci0 { 532 status = "okay"; 533 pinctrl-0 = <&usb0_pins>; 534 pinctrl-names = "default"; 535}; 536 537&pci1 { 538 status = "okay"; 539 pinctrl-0 = <&usb1_pins>; 540 pinctrl-names = "default"; 541}; 542 543&hsusb { 544 status = "okay"; 545 pinctrl-0 = <&usb0_pins>; 546 pinctrl-names = "default"; 547 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>; 548}; 549 550&usbphy { 551 status = "okay"; 552}; 553 554&pcie_bus_clk { 555 status = "okay"; 556}; 557 558&pciec { 559 status = "okay"; 560}; 561 562&cpu0 { 563 cpu0-supply = <&vdd_dvfs>; 564}; 565 566/* composite video input */ 567&vin1 { 568 status = "okay"; 569 pinctrl-0 = <&vin1_pins>; 570 pinctrl-names = "default"; 571 572 port { 573 #address-cells = <1>; 574 #size-cells = <0>; 575 576 vin1ep: endpoint { 577 remote-endpoint = <&adv7180>; 578 bus-width = <8>; 579 }; 580 }; 581}; 582 583&rcar_sound { 584 pinctrl-0 = <&sound_pins &sound_clk_pins>; 585 pinctrl-names = "default"; 586 587 /* Single DAI */ 588 #sound-dai-cells = <0>; 589 590 status = "okay"; 591 592 rcar_sound,dai { 593 dai0 { 594 playback = <&ssi0 &src2 &dvc0>; 595 capture = <&ssi1 &src3 &dvc1>; 596 }; 597 }; 598}; 599 600&ssi1 { 601 shared-pin; 602}; 603