1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Device Tree Source for common parts of Salvator-X board variants 4 * 5 * Copyright (C) 2015-2016 Renesas Electronics Corp. 6 */ 7 8/* 9 * SSI-AK4613 10 * 11 * This command is required when Playback/Capture 12 * 13 * amixer set "DVC Out" 100% 14 * amixer set "DVC In" 100% 15 * 16 * You can use Mute 17 * 18 * amixer set "DVC Out Mute" on 19 * amixer set "DVC In Mute" on 20 * 21 * You can use Volume Ramp 22 * 23 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" 24 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" 25 * amixer set "DVC Out Ramp" on 26 * aplay xxx.wav & 27 * amixer set "DVC Out" 80% // Volume Down 28 * amixer set "DVC Out" 100% // Volume Up 29 */ 30 31#include <dt-bindings/gpio/gpio.h> 32#include <dt-bindings/input/input.h> 33 34/ { 35 aliases { 36 i2c0 = &i2c0; 37 i2c1 = &i2c1; 38 i2c2 = &i2c2; 39 i2c3 = &i2c3; 40 i2c4 = &i2c4; 41 i2c5 = &i2c5; 42 i2c6 = &i2c6; 43 i2c7 = &i2c_dvfs; 44 serial0 = &scif2; 45 serial1 = &hscif1; 46 ethernet0 = &avb; 47 mmc0 = &sdhi2; 48 mmc1 = &sdhi0; 49 mmc2 = &sdhi3; 50 }; 51 52 chosen { 53 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on"; 54 stdout-path = "serial0:115200n8"; 55 }; 56 57 audio_clkout: audio-clkout { 58 /* 59 * This is same as <&rcar_sound 0> 60 * but needed to avoid cs2000/rcar_sound probe dead-lock 61 */ 62 compatible = "fixed-clock"; 63 #clock-cells = <0>; 64 clock-frequency = <12288000>; 65 }; 66 67 backlight: backlight { 68 compatible = "pwm-backlight"; 69 pwms = <&pwm1 0 50000>; 70 71 brightness-levels = <256 128 64 16 8 4 0>; 72 default-brightness-level = <6>; 73 74 power-supply = <®_12v>; 75 enable-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; 76 }; 77 78 cvbs-in { 79 compatible = "composite-video-connector"; 80 label = "CVBS IN"; 81 82 port { 83 cvbs_con: endpoint { 84 remote-endpoint = <&adv7482_ain7>; 85 }; 86 }; 87 }; 88 89 hdmi-in { 90 compatible = "hdmi-connector"; 91 label = "HDMI IN"; 92 type = "a"; 93 94 port { 95 hdmi_in_con: endpoint { 96 remote-endpoint = <&adv7482_hdmi>; 97 }; 98 }; 99 }; 100 101 hdmi0-out { 102 compatible = "hdmi-connector"; 103 label = "HDMI0 OUT"; 104 type = "a"; 105 106 port { 107 hdmi0_con: endpoint { 108 remote-endpoint = <&rcar_dw_hdmi0_out>; 109 }; 110 }; 111 }; 112 113 hdmi1-out { 114 compatible = "hdmi-connector"; 115 label = "HDMI1 OUT"; 116 type = "a"; 117 118 port { 119 hdmi1_con: endpoint { 120 }; 121 }; 122 }; 123 124 keys { 125 compatible = "gpio-keys"; 126 127 pinctrl-0 = <&keys_pins>; 128 pinctrl-names = "default"; 129 130 key-1 { 131 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>; 132 linux,code = <KEY_1>; 133 label = "SW4-1"; 134 wakeup-source; 135 debounce-interval = <20>; 136 }; 137 key-2 { 138 gpios = <&gpio5 20 GPIO_ACTIVE_LOW>; 139 linux,code = <KEY_2>; 140 label = "SW4-2"; 141 wakeup-source; 142 debounce-interval = <20>; 143 }; 144 key-3 { 145 gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; 146 linux,code = <KEY_3>; 147 label = "SW4-3"; 148 wakeup-source; 149 debounce-interval = <20>; 150 }; 151 key-4 { 152 gpios = <&gpio5 23 GPIO_ACTIVE_LOW>; 153 linux,code = <KEY_4>; 154 label = "SW4-4"; 155 wakeup-source; 156 debounce-interval = <20>; 157 }; 158 key-a { 159 gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; 160 linux,code = <KEY_A>; 161 label = "TSW0"; 162 wakeup-source; 163 debounce-interval = <20>; 164 }; 165 key-b { 166 gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; 167 linux,code = <KEY_B>; 168 label = "TSW1"; 169 wakeup-source; 170 debounce-interval = <20>; 171 }; 172 key-c { 173 gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; 174 linux,code = <KEY_C>; 175 label = "TSW2"; 176 wakeup-source; 177 debounce-interval = <20>; 178 }; 179 }; 180 181 reg_1p8v: regulator-1p8v { 182 compatible = "regulator-fixed"; 183 regulator-name = "fixed-1.8V"; 184 regulator-min-microvolt = <1800000>; 185 regulator-max-microvolt = <1800000>; 186 regulator-boot-on; 187 regulator-always-on; 188 }; 189 190 reg_3p3v: regulator-3p3v { 191 compatible = "regulator-fixed"; 192 regulator-name = "fixed-3.3V"; 193 regulator-min-microvolt = <3300000>; 194 regulator-max-microvolt = <3300000>; 195 regulator-boot-on; 196 regulator-always-on; 197 }; 198 199 reg_12v: regulator-12v { 200 compatible = "regulator-fixed"; 201 regulator-name = "fixed-12V"; 202 regulator-min-microvolt = <12000000>; 203 regulator-max-microvolt = <12000000>; 204 regulator-boot-on; 205 regulator-always-on; 206 }; 207 208 sound_card: sound { 209 compatible = "audio-graph-card"; 210 211 label = "rcar-sound"; 212 213 dais = <&rsnd_port0 /* ak4613 */ 214 &rsnd_port1 /* HDMI0 */ 215#ifdef SOC_HAS_HDMI1 216 &rsnd_port2 /* HDMI1 */ 217#endif 218 >; 219 }; 220 221 vbus0_usb2: regulator-vbus0-usb2 { 222 compatible = "regulator-fixed"; 223 224 regulator-name = "USB20_VBUS0"; 225 regulator-min-microvolt = <5000000>; 226 regulator-max-microvolt = <5000000>; 227 228 gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>; 229 enable-active-high; 230 }; 231 232 vcc_sdhi0: regulator-vcc-sdhi0 { 233 compatible = "regulator-fixed"; 234 235 regulator-name = "SDHI0 Vcc"; 236 regulator-min-microvolt = <3300000>; 237 regulator-max-microvolt = <3300000>; 238 239 gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>; 240 enable-active-high; 241 }; 242 243 vccq_sdhi0: regulator-vccq-sdhi0 { 244 compatible = "regulator-gpio"; 245 246 regulator-name = "SDHI0 VccQ"; 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <3300000>; 249 250 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; 251 gpios-states = <1>; 252 states = <3300000 1>, <1800000 0>; 253 }; 254 255 vcc_sdhi3: regulator-vcc-sdhi3 { 256 compatible = "regulator-fixed"; 257 258 regulator-name = "SDHI3 Vcc"; 259 regulator-min-microvolt = <3300000>; 260 regulator-max-microvolt = <3300000>; 261 262 gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>; 263 enable-active-high; 264 }; 265 266 vccq_sdhi3: regulator-vccq-sdhi3 { 267 compatible = "regulator-gpio"; 268 269 regulator-name = "SDHI3 VccQ"; 270 regulator-min-microvolt = <1800000>; 271 regulator-max-microvolt = <3300000>; 272 273 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 274 gpios-states = <1>; 275 states = <3300000 1>, <1800000 0>; 276 }; 277 278 vga { 279 compatible = "vga-connector"; 280 281 port { 282 vga_in: endpoint { 283 remote-endpoint = <&adv7123_out>; 284 }; 285 }; 286 }; 287 288 vga-encoder { 289 compatible = "adi,adv7123"; 290 291 ports { 292 #address-cells = <1>; 293 #size-cells = <0>; 294 295 port@0 { 296 reg = <0>; 297 adv7123_in: endpoint { 298 remote-endpoint = <&du_out_rgb>; 299 }; 300 }; 301 port@1 { 302 reg = <1>; 303 adv7123_out: endpoint { 304 remote-endpoint = <&vga_in>; 305 }; 306 }; 307 }; 308 }; 309 310 x12_clk: x12 { 311 compatible = "fixed-clock"; 312 #clock-cells = <0>; 313 clock-frequency = <24576000>; 314 }; 315 316 /* External DU dot clocks */ 317 x21_clk: x21-clock { 318 compatible = "fixed-clock"; 319 #clock-cells = <0>; 320 clock-frequency = <33000000>; 321 }; 322 323 x22_clk: x22-clock { 324 compatible = "fixed-clock"; 325 #clock-cells = <0>; 326 clock-frequency = <33000000>; 327 }; 328 329 x23_clk: x23-clock { 330 compatible = "fixed-clock"; 331 #clock-cells = <0>; 332 clock-frequency = <25000000>; 333 }; 334}; 335 336&a57_0 { 337 cpu-supply = <&dvfs>; 338}; 339 340&audio_clk_a { 341 clock-frequency = <22579200>; 342}; 343 344&avb { 345 pinctrl-0 = <&avb_pins>; 346 pinctrl-names = "default"; 347 phy-handle = <&phy0>; 348 tx-internal-delay-ps = <2000>; 349 status = "okay"; 350 351 phy0: ethernet-phy@0 { 352 compatible = "ethernet-phy-id0022.1622", 353 "ethernet-phy-ieee802.3-c22"; 354 rxc-skew-ps = <1500>; 355 reg = <0>; 356 interrupt-parent = <&gpio2>; 357 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 358 reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; 359 }; 360}; 361 362&csi20 { 363 status = "okay"; 364 365 ports { 366 port@0 { 367 csi20_in: endpoint { 368 clock-lanes = <0>; 369 data-lanes = <1>; 370 remote-endpoint = <&adv7482_txb>; 371 }; 372 }; 373 }; 374}; 375 376&csi40 { 377 status = "okay"; 378 379 ports { 380 port@0 { 381 csi40_in: endpoint { 382 clock-lanes = <0>; 383 data-lanes = <1 2 3 4>; 384 remote-endpoint = <&adv7482_txa>; 385 }; 386 }; 387 }; 388}; 389 390&du { 391 pinctrl-0 = <&du_pins>; 392 pinctrl-names = "default"; 393 status = "okay"; 394 395 ports { 396 port@0 { 397 du_out_rgb: endpoint { 398 remote-endpoint = <&adv7123_in>; 399 }; 400 }; 401 }; 402}; 403 404&ehci0 { 405 dr_mode = "otg"; 406 status = "okay"; 407}; 408 409&ehci1 { 410 status = "okay"; 411}; 412 413&extalr_clk { 414 clock-frequency = <32768>; 415}; 416 417&hdmi0 { 418 status = "okay"; 419 420 ports { 421 port@1 { 422 reg = <1>; 423 rcar_dw_hdmi0_out: endpoint { 424 remote-endpoint = <&hdmi0_con>; 425 }; 426 }; 427 port@2 { 428 reg = <2>; 429 dw_hdmi0_snd_in: endpoint { 430 remote-endpoint = <&rsnd_endpoint1>; 431 }; 432 }; 433 }; 434}; 435 436#ifdef SOC_HAS_HDMI1 437&hdmi1 { 438 status = "okay"; 439 440 ports { 441 port@1 { 442 reg = <1>; 443 rcar_dw_hdmi1_out: endpoint { 444 remote-endpoint = <&hdmi1_con>; 445 }; 446 }; 447 port@2 { 448 reg = <2>; 449 dw_hdmi1_snd_in: endpoint { 450 remote-endpoint = <&rsnd_endpoint2>; 451 }; 452 }; 453 }; 454}; 455 456&hdmi1_con { 457 remote-endpoint = <&rcar_dw_hdmi1_out>; 458}; 459#endif /* SOC_HAS_HDMI1 */ 460 461&hscif1 { 462 pinctrl-0 = <&hscif1_pins>; 463 pinctrl-names = "default"; 464 465 uart-has-rtscts; 466 /* Please only enable hscif1 or scif1 */ 467 status = "okay"; 468}; 469 470&hsusb { 471 dr_mode = "otg"; 472 status = "okay"; 473}; 474 475&i2c2 { 476 pinctrl-0 = <&i2c2_pins>; 477 pinctrl-names = "default"; 478 479 status = "okay"; 480 481 clock-frequency = <100000>; 482 483 ak4613: codec@10 { 484 compatible = "asahi-kasei,ak4613"; 485 #sound-dai-cells = <0>; 486 reg = <0x10>; 487 clocks = <&rcar_sound 3>; 488 489 asahi-kasei,in1-single-end; 490 asahi-kasei,in2-single-end; 491 asahi-kasei,out1-single-end; 492 asahi-kasei,out2-single-end; 493 asahi-kasei,out3-single-end; 494 asahi-kasei,out4-single-end; 495 asahi-kasei,out5-single-end; 496 asahi-kasei,out6-single-end; 497 498 port { 499 ak4613_endpoint: endpoint { 500 remote-endpoint = <&rsnd_endpoint0>; 501 }; 502 }; 503 }; 504 505 cs2000: clk_multiplier@4f { 506 #clock-cells = <0>; 507 compatible = "cirrus,cs2000-cp"; 508 reg = <0x4f>; 509 clocks = <&audio_clkout>, <&x12_clk>; 510 clock-names = "clk_in", "ref_clk"; 511 512 assigned-clocks = <&cs2000>; 513 assigned-clock-rates = <24576000>; /* 1/1 divide */ 514 }; 515}; 516 517&i2c4 { 518 status = "okay"; 519 520 pca9654: gpio@20 { 521 compatible = "onnn,pca9654"; 522 reg = <0x20>; 523 gpio-controller; 524 #gpio-cells = <2>; 525 }; 526 527 video-receiver@70 { 528 compatible = "adi,adv7482"; 529 reg = <0x70 0x71 0x72 0x73 0x74 0x75 530 0x60 0x61 0x62 0x63 0x64 0x65>; 531 reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater", 532 "infoframe", "cbus", "cec", "sdp", "txa", "txb" ; 533 534 interrupt-parent = <&gpio6>; 535 interrupt-names = "intrq1", "intrq2"; 536 interrupts = <30 IRQ_TYPE_LEVEL_LOW>, 537 <31 IRQ_TYPE_LEVEL_LOW>; 538 539 ports { 540 #address-cells = <1>; 541 #size-cells = <0>; 542 543 port@7 { 544 reg = <7>; 545 546 adv7482_ain7: endpoint { 547 remote-endpoint = <&cvbs_con>; 548 }; 549 }; 550 551 port@8 { 552 reg = <8>; 553 554 adv7482_hdmi: endpoint { 555 remote-endpoint = <&hdmi_in_con>; 556 }; 557 }; 558 559 port@a { 560 reg = <10>; 561 562 adv7482_txa: endpoint { 563 clock-lanes = <0>; 564 data-lanes = <1 2 3 4>; 565 remote-endpoint = <&csi40_in>; 566 }; 567 }; 568 569 port@b { 570 reg = <11>; 571 572 adv7482_txb: endpoint { 573 clock-lanes = <0>; 574 data-lanes = <1>; 575 remote-endpoint = <&csi20_in>; 576 }; 577 }; 578 }; 579 }; 580 581 csa_vdd: adc@7c { 582 compatible = "maxim,max9611"; 583 reg = <0x7c>; 584 585 shunt-resistor-micro-ohms = <5000>; 586 }; 587 588 csa_dvfs: adc@7f { 589 compatible = "maxim,max9611"; 590 reg = <0x7f>; 591 592 shunt-resistor-micro-ohms = <5000>; 593 }; 594}; 595 596&i2c_dvfs { 597 status = "okay"; 598 599 clock-frequency = <400000>; 600 601 pmic: pmic@30 { 602 pinctrl-0 = <&irq0_pins>; 603 pinctrl-names = "default"; 604 605 compatible = "rohm,bd9571mwv"; 606 reg = <0x30>; 607 interrupt-parent = <&intc_ex>; 608 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 609 interrupt-controller; 610 #interrupt-cells = <2>; 611 gpio-controller; 612 #gpio-cells = <2>; 613 rohm,ddr-backup-power = <0xf>; 614 rohm,rstbmode-level; 615 616 regulators { 617 dvfs: dvfs { 618 regulator-name = "dvfs"; 619 regulator-min-microvolt = <750000>; 620 regulator-max-microvolt = <1030000>; 621 regulator-boot-on; 622 regulator-always-on; 623 }; 624 }; 625 }; 626 627 eeprom@50 { 628 compatible = "rohm,br24t01", "atmel,24c01"; 629 reg = <0x50>; 630 pagesize = <8>; 631 }; 632}; 633 634&ohci0 { 635 dr_mode = "otg"; 636 status = "okay"; 637}; 638 639&ohci1 { 640 status = "okay"; 641}; 642 643&pcie_bus_clk { 644 clock-frequency = <100000000>; 645}; 646 647&pciec0 { 648 status = "okay"; 649}; 650 651&pciec1 { 652 status = "okay"; 653}; 654 655&pfc { 656 pinctrl-0 = <&scif_clk_pins>; 657 pinctrl-names = "default"; 658 659 avb_pins: avb { 660 mux { 661 groups = "avb_link", "avb_mdio", "avb_mii"; 662 function = "avb"; 663 }; 664 665 pins_mdio { 666 groups = "avb_mdio"; 667 drive-strength = <24>; 668 }; 669 670 pins_mii_tx { 671 pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0", 672 "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3"; 673 drive-strength = <12>; 674 }; 675 }; 676 677 du_pins: du { 678 groups = "du_rgb888", "du_sync", "du_oddf", "du_clk_out_0"; 679 function = "du"; 680 }; 681 682 hscif1_pins: hscif1 { 683 groups = "hscif1_data_a", "hscif1_ctrl_a"; 684 function = "hscif1"; 685 }; 686 687 i2c2_pins: i2c2 { 688 groups = "i2c2_a"; 689 function = "i2c2"; 690 }; 691 692 irq0_pins: irq0 { 693 groups = "intc_ex_irq0"; 694 function = "intc_ex"; 695 }; 696 697 keys_pins: keys { 698 pins = "GP_5_17", "GP_5_20", "GP_5_22"; 699 bias-pull-up; 700 }; 701 702 pwm1_pins: pwm1 { 703 groups = "pwm1_a"; 704 function = "pwm1"; 705 }; 706 707 scif1_pins: scif1 { 708 groups = "scif1_data_a", "scif1_ctrl"; 709 function = "scif1"; 710 }; 711 712 scif2_pins: scif2 { 713 groups = "scif2_data_a"; 714 function = "scif2"; 715 }; 716 717 scif_clk_pins: scif_clk { 718 groups = "scif_clk_a"; 719 function = "scif_clk"; 720 }; 721 722 sdhi0_pins: sd0 { 723 groups = "sdhi0_data4", "sdhi0_ctrl"; 724 function = "sdhi0"; 725 power-source = <3300>; 726 }; 727 728 sdhi0_pins_uhs: sd0_uhs { 729 groups = "sdhi0_data4", "sdhi0_ctrl"; 730 function = "sdhi0"; 731 power-source = <1800>; 732 }; 733 734 sdhi2_pins: sd2 { 735 groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds"; 736 function = "sdhi2"; 737 power-source = <1800>; 738 }; 739 740 sdhi3_pins: sd3 { 741 groups = "sdhi3_data4", "sdhi3_ctrl"; 742 function = "sdhi3"; 743 power-source = <3300>; 744 }; 745 746 sdhi3_pins_uhs: sd3_uhs { 747 groups = "sdhi3_data4", "sdhi3_ctrl"; 748 function = "sdhi3"; 749 power-source = <1800>; 750 }; 751 752 sound_pins: sound { 753 groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a"; 754 function = "ssi"; 755 }; 756 757 sound_clk_pins: sound_clk { 758 groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a", 759 "audio_clkout_a", "audio_clkout3_a"; 760 function = "audio_clk"; 761 }; 762 763 usb0_pins: usb0 { 764 groups = "usb0"; 765 function = "usb0"; 766 }; 767 768 usb1_pins: usb1 { 769 mux { 770 groups = "usb1"; 771 function = "usb1"; 772 }; 773 774 ovc { 775 pins = "GP_6_27"; 776 bias-pull-up; 777 }; 778 779 pwen { 780 pins = "GP_6_26"; 781 bias-pull-down; 782 }; 783 }; 784 785 usb30_pins: usb30 { 786 groups = "usb30"; 787 function = "usb30"; 788 }; 789}; 790 791&pwm1 { 792 pinctrl-0 = <&pwm1_pins>; 793 pinctrl-names = "default"; 794 795 status = "okay"; 796}; 797 798&rcar_sound { 799 pinctrl-0 = <&sound_pins>, <&sound_clk_pins>; 800 pinctrl-names = "default"; 801 802 /* audio_clkout0/1/2/3 */ 803 #clock-cells = <1>; 804 clock-frequency = <12288000 11289600>; 805 806 status = "okay"; 807 808 /* update <audio_clk_b> to <cs2000> */ 809 clocks = <&cpg CPG_MOD 1005>, 810 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 811 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 812 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 813 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 814 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 815 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 816 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 817 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 818 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 819 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 820 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 821 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, 822 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, 823 <&audio_clk_a>, <&cs2000>, 824 <&audio_clk_c>, 825 <&cpg CPG_MOD 922>; 826 827 ports { 828 #address-cells = <1>; 829 #size-cells = <0>; 830 rsnd_port0: port@0 { 831 reg = <0>; 832 rsnd_endpoint0: endpoint { 833 remote-endpoint = <&ak4613_endpoint>; 834 835 dai-format = "left_j"; 836 bitclock-master = <&rsnd_endpoint0>; 837 frame-master = <&rsnd_endpoint0>; 838 839 playback = <&ssi0>, <&src0>, <&dvc0>; 840 capture = <&ssi1>, <&src1>, <&dvc1>; 841 }; 842 }; 843 844 rsnd_port1: port@1 { 845 reg = <1>; 846 rsnd_endpoint1: endpoint { 847 remote-endpoint = <&dw_hdmi0_snd_in>; 848 849 dai-format = "i2s"; 850 bitclock-master = <&rsnd_endpoint1>; 851 frame-master = <&rsnd_endpoint1>; 852 853 playback = <&ssi2>; 854 }; 855 }; 856 857#ifdef SOC_HAS_HDMI1 858 rsnd_port2: port@2 { 859 reg = <2>; 860 rsnd_endpoint2: endpoint { 861 remote-endpoint = <&dw_hdmi1_snd_in>; 862 863 dai-format = "i2s"; 864 bitclock-master = <&rsnd_endpoint2>; 865 frame-master = <&rsnd_endpoint2>; 866 867 playback = <&ssi3>; 868 }; 869 }; 870#endif /* SOC_HAS_HDMI1 */ 871 }; 872}; 873 874&rpc { 875 /* Left disabled. To be enabled by firmware when unlocked. */ 876 877 flash@0 { 878 compatible = "cypress,hyperflash", "cfi-flash"; 879 reg = <0>; 880 881 partitions { 882 compatible = "fixed-partitions"; 883 #address-cells = <1>; 884 #size-cells = <1>; 885 886 bootparam@0 { 887 reg = <0x00000000 0x040000>; 888 read-only; 889 }; 890 bl2@40000 { 891 reg = <0x00040000 0x140000>; 892 read-only; 893 }; 894 cert_header_sa6@180000 { 895 reg = <0x00180000 0x040000>; 896 read-only; 897 }; 898 bl31@1c0000 { 899 reg = <0x001c0000 0x040000>; 900 read-only; 901 }; 902 tee@200000 { 903 reg = <0x00200000 0x440000>; 904 read-only; 905 }; 906 uboot@640000 { 907 reg = <0x00640000 0x100000>; 908 read-only; 909 }; 910 dtb@740000 { 911 reg = <0x00740000 0x080000>; 912 }; 913 kernel@7c0000 { 914 reg = <0x007c0000 0x1400000>; 915 }; 916 user@1bc0000 { 917 reg = <0x01bc0000 0x2440000>; 918 }; 919 }; 920 }; 921}; 922 923&rwdt { 924 timeout-sec = <60>; 925 status = "okay"; 926}; 927 928#ifdef SOC_HAS_SATA 929&sata { 930 status = "okay"; 931}; 932#endif /* SOC_HAS_SATA */ 933 934&scif1 { 935 pinctrl-0 = <&scif1_pins>; 936 pinctrl-names = "default"; 937 938 uart-has-rtscts; 939 /* Please only enable hscif1 or scif1 */ 940 /* status = "okay"; */ 941}; 942 943&scif2 { 944 pinctrl-0 = <&scif2_pins>; 945 pinctrl-names = "default"; 946 947 status = "okay"; 948}; 949 950&scif_clk { 951 clock-frequency = <14745600>; 952}; 953 954&sdhi0 { 955 pinctrl-0 = <&sdhi0_pins>; 956 pinctrl-1 = <&sdhi0_pins_uhs>; 957 pinctrl-names = "default", "state_uhs"; 958 959 vmmc-supply = <&vcc_sdhi0>; 960 vqmmc-supply = <&vccq_sdhi0>; 961 cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 962 wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 963 bus-width = <4>; 964 sd-uhs-sdr50; 965 sd-uhs-sdr104; 966 status = "okay"; 967}; 968 969&sdhi2 { 970 /* used for on-board 8bit eMMC */ 971 pinctrl-0 = <&sdhi2_pins>; 972 pinctrl-1 = <&sdhi2_pins>; 973 pinctrl-names = "default", "state_uhs"; 974 975 vmmc-supply = <®_3p3v>; 976 vqmmc-supply = <®_1p8v>; 977 bus-width = <8>; 978 mmc-hs200-1_8v; 979 mmc-hs400-1_8v; 980 no-sd; 981 no-sdio; 982 non-removable; 983 fixed-emmc-driver-type = <1>; 984 full-pwr-cycle-in-suspend; 985 status = "okay"; 986}; 987 988&sdhi3 { 989 pinctrl-0 = <&sdhi3_pins>; 990 pinctrl-1 = <&sdhi3_pins_uhs>; 991 pinctrl-names = "default", "state_uhs"; 992 993 vmmc-supply = <&vcc_sdhi3>; 994 vqmmc-supply = <&vccq_sdhi3>; 995 cd-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; 996 wp-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>; 997 bus-width = <4>; 998 sd-uhs-sdr50; 999 sd-uhs-sdr104; 1000 status = "okay"; 1001}; 1002 1003&ssi1 { 1004 shared-pin; 1005}; 1006 1007&usb_extal_clk { 1008 clock-frequency = <50000000>; 1009}; 1010 1011&usb2_phy0 { 1012 pinctrl-0 = <&usb0_pins>; 1013 pinctrl-names = "default"; 1014 1015 vbus-supply = <&vbus0_usb2>; 1016 status = "okay"; 1017}; 1018 1019&usb2_phy1 { 1020 pinctrl-0 = <&usb1_pins>; 1021 pinctrl-names = "default"; 1022 1023 status = "okay"; 1024}; 1025 1026&usb3_peri0 { 1027 phys = <&usb3_phy0>; 1028 phy-names = "usb"; 1029 1030 companion = <&xhci0>; 1031 1032 status = "okay"; 1033}; 1034 1035&usb3_phy0 { 1036 status = "okay"; 1037}; 1038 1039&usb3s0_clk { 1040 clock-frequency = <100000000>; 1041}; 1042 1043&vin0 { 1044 status = "okay"; 1045}; 1046 1047&vin1 { 1048 status = "okay"; 1049}; 1050 1051&vin2 { 1052 status = "okay"; 1053}; 1054 1055&vin3 { 1056 status = "okay"; 1057}; 1058 1059&vin4 { 1060 status = "okay"; 1061}; 1062 1063&vin5 { 1064 status = "okay"; 1065}; 1066 1067&vin6 { 1068 status = "okay"; 1069}; 1070 1071&vin7 { 1072 status = "okay"; 1073}; 1074 1075&xhci0 { 1076 pinctrl-0 = <&usb30_pins>; 1077 pinctrl-names = "default"; 1078 1079 status = "okay"; 1080}; 1081 1082#ifdef SOC_HAS_USB2_CH2 1083&ehci2 { 1084 status = "okay"; 1085}; 1086 1087&ohci2 { 1088 status = "okay"; 1089}; 1090 1091&pfc { 1092 usb2_pins: usb2 { 1093 groups = "usb2"; 1094 function = "usb2"; 1095 }; 1096}; 1097 1098&usb2_phy2 { 1099 pinctrl-0 = <&usb2_pins>; 1100 pinctrl-names = "default"; 1101 1102 status = "okay"; 1103}; 1104#endif /* SOC_HAS_USB2_CH2 */ 1105