0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree Source for common parts of Salvator-X board variants
0004 *
0005 * Copyright (C) 2015-2016 Renesas Electronics Corp.
0006 */
0007
0008 /*
0009 * SSI-AK4613
0010 *
0011 * This command is required when Playback/Capture
0012 *
0013 * amixer set "DVC Out" 100%
0014 * amixer set "DVC In" 100%
0015 *
0016 * You can use Mute
0017 *
0018 * amixer set "DVC Out Mute" on
0019 * amixer set "DVC In Mute" on
0020 *
0021 * You can use Volume Ramp
0022 *
0023 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps"
0024 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
0025 * amixer set "DVC Out Ramp" on
0026 * aplay xxx.wav &
0027 * amixer set "DVC Out" 80% // Volume Down
0028 * amixer set "DVC Out" 100% // Volume Up
0029 */
0030
0031 #include <dt-bindings/gpio/gpio.h>
0032 #include <dt-bindings/input/input.h>
0033
0034 / {
0035 aliases {
0036 serial0 = &scif2;
0037 serial1 = &hscif1;
0038 ethernet0 = &avb;
0039 mmc0 = &sdhi2;
0040 mmc1 = &sdhi0;
0041 mmc2 = &sdhi3;
0042 };
0043
0044 chosen {
0045 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
0046 stdout-path = "serial0:115200n8";
0047 };
0048
0049 audio_clkout: audio-clkout {
0050 /*
0051 * This is same as <&rcar_sound 0>
0052 * but needed to avoid cs2000/rcar_sound probe dead-lock
0053 */
0054 compatible = "fixed-clock";
0055 #clock-cells = <0>;
0056 clock-frequency = <12288000>;
0057 };
0058
0059 backlight: backlight {
0060 compatible = "pwm-backlight";
0061 pwms = <&pwm1 0 50000>;
0062
0063 brightness-levels = <256 128 64 16 8 4 0>;
0064 default-brightness-level = <6>;
0065
0066 power-supply = <®_12v>;
0067 enable-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
0068 };
0069
0070 cvbs-in {
0071 compatible = "composite-video-connector";
0072 label = "CVBS IN";
0073
0074 port {
0075 cvbs_con: endpoint {
0076 remote-endpoint = <&adv7482_ain7>;
0077 };
0078 };
0079 };
0080
0081 hdmi-in {
0082 compatible = "hdmi-connector";
0083 label = "HDMI IN";
0084 type = "a";
0085
0086 port {
0087 hdmi_in_con: endpoint {
0088 remote-endpoint = <&adv7482_hdmi>;
0089 };
0090 };
0091 };
0092
0093 hdmi0-out {
0094 compatible = "hdmi-connector";
0095 label = "HDMI0 OUT";
0096 type = "a";
0097
0098 port {
0099 hdmi0_con: endpoint {
0100 remote-endpoint = <&rcar_dw_hdmi0_out>;
0101 };
0102 };
0103 };
0104
0105 hdmi1-out {
0106 compatible = "hdmi-connector";
0107 label = "HDMI1 OUT";
0108 type = "a";
0109
0110 port {
0111 hdmi1_con: endpoint {
0112 };
0113 };
0114 };
0115
0116 keys {
0117 compatible = "gpio-keys";
0118
0119 pinctrl-0 = <&keys_pins>;
0120 pinctrl-names = "default";
0121
0122 key-1 {
0123 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
0124 linux,code = <KEY_1>;
0125 label = "SW4-1";
0126 wakeup-source;
0127 debounce-interval = <20>;
0128 };
0129 key-2 {
0130 gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
0131 linux,code = <KEY_2>;
0132 label = "SW4-2";
0133 wakeup-source;
0134 debounce-interval = <20>;
0135 };
0136 key-3 {
0137 gpios = <&gpio5 22 GPIO_ACTIVE_LOW>;
0138 linux,code = <KEY_3>;
0139 label = "SW4-3";
0140 wakeup-source;
0141 debounce-interval = <20>;
0142 };
0143 key-4 {
0144 gpios = <&gpio5 23 GPIO_ACTIVE_LOW>;
0145 linux,code = <KEY_4>;
0146 label = "SW4-4";
0147 wakeup-source;
0148 debounce-interval = <20>;
0149 };
0150 key-a {
0151 gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
0152 linux,code = <KEY_A>;
0153 label = "TSW0";
0154 wakeup-source;
0155 debounce-interval = <20>;
0156 };
0157 key-b {
0158 gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
0159 linux,code = <KEY_B>;
0160 label = "TSW1";
0161 wakeup-source;
0162 debounce-interval = <20>;
0163 };
0164 key-c {
0165 gpios = <&gpio6 13 GPIO_ACTIVE_LOW>;
0166 linux,code = <KEY_C>;
0167 label = "TSW2";
0168 wakeup-source;
0169 debounce-interval = <20>;
0170 };
0171 };
0172
0173 reg_1p8v: regulator-1p8v {
0174 compatible = "regulator-fixed";
0175 regulator-name = "fixed-1.8V";
0176 regulator-min-microvolt = <1800000>;
0177 regulator-max-microvolt = <1800000>;
0178 regulator-boot-on;
0179 regulator-always-on;
0180 };
0181
0182 reg_3p3v: regulator-3p3v {
0183 compatible = "regulator-fixed";
0184 regulator-name = "fixed-3.3V";
0185 regulator-min-microvolt = <3300000>;
0186 regulator-max-microvolt = <3300000>;
0187 regulator-boot-on;
0188 regulator-always-on;
0189 };
0190
0191 reg_12v: regulator-12v {
0192 compatible = "regulator-fixed";
0193 regulator-name = "fixed-12V";
0194 regulator-min-microvolt = <12000000>;
0195 regulator-max-microvolt = <12000000>;
0196 regulator-boot-on;
0197 regulator-always-on;
0198 };
0199
0200 sound_card: sound {
0201 compatible = "audio-graph-card";
0202
0203 label = "rcar-sound";
0204
0205 dais = <&rsnd_port0 /* ak4613 */
0206 &rsnd_port1 /* HDMI0 */
0207 #ifdef SOC_HAS_HDMI1
0208 &rsnd_port2 /* HDMI1 */
0209 #endif
0210 >;
0211 };
0212
0213 vbus0_usb2: regulator-vbus0-usb2 {
0214 compatible = "regulator-fixed";
0215
0216 regulator-name = "USB20_VBUS0";
0217 regulator-min-microvolt = <5000000>;
0218 regulator-max-microvolt = <5000000>;
0219
0220 gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>;
0221 enable-active-high;
0222 };
0223
0224 vcc_sdhi0: regulator-vcc-sdhi0 {
0225 compatible = "regulator-fixed";
0226
0227 regulator-name = "SDHI0 Vcc";
0228 regulator-min-microvolt = <3300000>;
0229 regulator-max-microvolt = <3300000>;
0230
0231 gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
0232 enable-active-high;
0233 };
0234
0235 vccq_sdhi0: regulator-vccq-sdhi0 {
0236 compatible = "regulator-gpio";
0237
0238 regulator-name = "SDHI0 VccQ";
0239 regulator-min-microvolt = <1800000>;
0240 regulator-max-microvolt = <3300000>;
0241
0242 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
0243 gpios-states = <1>;
0244 states = <3300000 1>, <1800000 0>;
0245 };
0246
0247 vcc_sdhi3: regulator-vcc-sdhi3 {
0248 compatible = "regulator-fixed";
0249
0250 regulator-name = "SDHI3 Vcc";
0251 regulator-min-microvolt = <3300000>;
0252 regulator-max-microvolt = <3300000>;
0253
0254 gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
0255 enable-active-high;
0256 };
0257
0258 vccq_sdhi3: regulator-vccq-sdhi3 {
0259 compatible = "regulator-gpio";
0260
0261 regulator-name = "SDHI3 VccQ";
0262 regulator-min-microvolt = <1800000>;
0263 regulator-max-microvolt = <3300000>;
0264
0265 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
0266 gpios-states = <1>;
0267 states = <3300000 1>, <1800000 0>;
0268 };
0269
0270 vga {
0271 compatible = "vga-connector";
0272
0273 port {
0274 vga_in: endpoint {
0275 remote-endpoint = <&adv7123_out>;
0276 };
0277 };
0278 };
0279
0280 vga-encoder {
0281 compatible = "adi,adv7123";
0282
0283 ports {
0284 #address-cells = <1>;
0285 #size-cells = <0>;
0286
0287 port@0 {
0288 reg = <0>;
0289 adv7123_in: endpoint {
0290 remote-endpoint = <&du_out_rgb>;
0291 };
0292 };
0293 port@1 {
0294 reg = <1>;
0295 adv7123_out: endpoint {
0296 remote-endpoint = <&vga_in>;
0297 };
0298 };
0299 };
0300 };
0301
0302 x12_clk: x12 {
0303 compatible = "fixed-clock";
0304 #clock-cells = <0>;
0305 clock-frequency = <24576000>;
0306 };
0307
0308 /* External DU dot clocks */
0309 x21_clk: x21-clock {
0310 compatible = "fixed-clock";
0311 #clock-cells = <0>;
0312 clock-frequency = <33000000>;
0313 };
0314
0315 x22_clk: x22-clock {
0316 compatible = "fixed-clock";
0317 #clock-cells = <0>;
0318 clock-frequency = <33000000>;
0319 };
0320
0321 x23_clk: x23-clock {
0322 compatible = "fixed-clock";
0323 #clock-cells = <0>;
0324 clock-frequency = <25000000>;
0325 };
0326 };
0327
0328 &a57_0 {
0329 cpu-supply = <&dvfs>;
0330 };
0331
0332 &audio_clk_a {
0333 clock-frequency = <22579200>;
0334 };
0335
0336 &avb {
0337 pinctrl-0 = <&avb_pins>;
0338 pinctrl-names = "default";
0339 phy-handle = <&phy0>;
0340 tx-internal-delay-ps = <2000>;
0341 status = "okay";
0342
0343 phy0: ethernet-phy@0 {
0344 compatible = "ethernet-phy-id0022.1622",
0345 "ethernet-phy-ieee802.3-c22";
0346 rxc-skew-ps = <1500>;
0347 reg = <0>;
0348 interrupt-parent = <&gpio2>;
0349 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
0350 reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
0351 };
0352 };
0353
0354 &csi20 {
0355 status = "okay";
0356
0357 ports {
0358 port@0 {
0359 csi20_in: endpoint {
0360 clock-lanes = <0>;
0361 data-lanes = <1>;
0362 remote-endpoint = <&adv7482_txb>;
0363 };
0364 };
0365 };
0366 };
0367
0368 &csi40 {
0369 status = "okay";
0370
0371 ports {
0372 port@0 {
0373 csi40_in: endpoint {
0374 clock-lanes = <0>;
0375 data-lanes = <1 2 3 4>;
0376 remote-endpoint = <&adv7482_txa>;
0377 };
0378 };
0379 };
0380 };
0381
0382 &du {
0383 pinctrl-0 = <&du_pins>;
0384 pinctrl-names = "default";
0385 status = "okay";
0386
0387 ports {
0388 port@0 {
0389 du_out_rgb: endpoint {
0390 remote-endpoint = <&adv7123_in>;
0391 };
0392 };
0393 };
0394 };
0395
0396 &ehci0 {
0397 dr_mode = "otg";
0398 status = "okay";
0399 };
0400
0401 &ehci1 {
0402 status = "okay";
0403 };
0404
0405 &extalr_clk {
0406 clock-frequency = <32768>;
0407 };
0408
0409 &hdmi0 {
0410 status = "okay";
0411
0412 ports {
0413 port@1 {
0414 reg = <1>;
0415 rcar_dw_hdmi0_out: endpoint {
0416 remote-endpoint = <&hdmi0_con>;
0417 };
0418 };
0419 port@2 {
0420 reg = <2>;
0421 dw_hdmi0_snd_in: endpoint {
0422 remote-endpoint = <&rsnd_endpoint1>;
0423 };
0424 };
0425 };
0426 };
0427
0428 #ifdef SOC_HAS_HDMI1
0429 &hdmi1 {
0430 status = "okay";
0431
0432 ports {
0433 port@1 {
0434 reg = <1>;
0435 rcar_dw_hdmi1_out: endpoint {
0436 remote-endpoint = <&hdmi1_con>;
0437 };
0438 };
0439 port@2 {
0440 reg = <2>;
0441 dw_hdmi1_snd_in: endpoint {
0442 remote-endpoint = <&rsnd_endpoint2>;
0443 };
0444 };
0445 };
0446 };
0447
0448 &hdmi1_con {
0449 remote-endpoint = <&rcar_dw_hdmi1_out>;
0450 };
0451 #endif /* SOC_HAS_HDMI1 */
0452
0453 &hscif1 {
0454 pinctrl-0 = <&hscif1_pins>;
0455 pinctrl-names = "default";
0456
0457 uart-has-rtscts;
0458 /* Please only enable hscif1 or scif1 */
0459 status = "okay";
0460 };
0461
0462 &hsusb {
0463 dr_mode = "otg";
0464 status = "okay";
0465 };
0466
0467 &i2c2 {
0468 pinctrl-0 = <&i2c2_pins>;
0469 pinctrl-names = "default";
0470
0471 status = "okay";
0472
0473 clock-frequency = <100000>;
0474
0475 ak4613: codec@10 {
0476 compatible = "asahi-kasei,ak4613";
0477 #sound-dai-cells = <0>;
0478 reg = <0x10>;
0479 clocks = <&rcar_sound 3>;
0480
0481 asahi-kasei,in1-single-end;
0482 asahi-kasei,in2-single-end;
0483 asahi-kasei,out1-single-end;
0484 asahi-kasei,out2-single-end;
0485 asahi-kasei,out3-single-end;
0486 asahi-kasei,out4-single-end;
0487 asahi-kasei,out5-single-end;
0488 asahi-kasei,out6-single-end;
0489
0490 port {
0491 ak4613_endpoint: endpoint {
0492 remote-endpoint = <&rsnd_endpoint0>;
0493 };
0494 };
0495 };
0496
0497 cs2000: clk_multiplier@4f {
0498 #clock-cells = <0>;
0499 compatible = "cirrus,cs2000-cp";
0500 reg = <0x4f>;
0501 clocks = <&audio_clkout>, <&x12_clk>;
0502 clock-names = "clk_in", "ref_clk";
0503
0504 assigned-clocks = <&cs2000>;
0505 assigned-clock-rates = <24576000>; /* 1/1 divide */
0506 };
0507 };
0508
0509 &i2c4 {
0510 status = "okay";
0511
0512 pca9654: gpio@20 {
0513 compatible = "onnn,pca9654";
0514 reg = <0x20>;
0515 gpio-controller;
0516 #gpio-cells = <2>;
0517 };
0518
0519 video-receiver@70 {
0520 compatible = "adi,adv7482";
0521 reg = <0x70 0x71 0x72 0x73 0x74 0x75
0522 0x60 0x61 0x62 0x63 0x64 0x65>;
0523 reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater",
0524 "infoframe", "cbus", "cec", "sdp", "txa", "txb" ;
0525
0526 interrupt-parent = <&gpio6>;
0527 interrupt-names = "intrq1", "intrq2";
0528 interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
0529 <31 IRQ_TYPE_LEVEL_LOW>;
0530
0531 ports {
0532 #address-cells = <1>;
0533 #size-cells = <0>;
0534
0535 port@7 {
0536 reg = <7>;
0537
0538 adv7482_ain7: endpoint {
0539 remote-endpoint = <&cvbs_con>;
0540 };
0541 };
0542
0543 port@8 {
0544 reg = <8>;
0545
0546 adv7482_hdmi: endpoint {
0547 remote-endpoint = <&hdmi_in_con>;
0548 };
0549 };
0550
0551 port@a {
0552 reg = <10>;
0553
0554 adv7482_txa: endpoint {
0555 clock-lanes = <0>;
0556 data-lanes = <1 2 3 4>;
0557 remote-endpoint = <&csi40_in>;
0558 };
0559 };
0560
0561 port@b {
0562 reg = <11>;
0563
0564 adv7482_txb: endpoint {
0565 clock-lanes = <0>;
0566 data-lanes = <1>;
0567 remote-endpoint = <&csi20_in>;
0568 };
0569 };
0570 };
0571 };
0572
0573 csa_vdd: adc@7c {
0574 compatible = "maxim,max9611";
0575 reg = <0x7c>;
0576
0577 shunt-resistor-micro-ohms = <5000>;
0578 };
0579
0580 csa_dvfs: adc@7f {
0581 compatible = "maxim,max9611";
0582 reg = <0x7f>;
0583
0584 shunt-resistor-micro-ohms = <5000>;
0585 };
0586 };
0587
0588 &i2c_dvfs {
0589 status = "okay";
0590
0591 clock-frequency = <400000>;
0592
0593 pmic: pmic@30 {
0594 pinctrl-0 = <&irq0_pins>;
0595 pinctrl-names = "default";
0596
0597 compatible = "rohm,bd9571mwv";
0598 reg = <0x30>;
0599 interrupt-parent = <&intc_ex>;
0600 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
0601 interrupt-controller;
0602 #interrupt-cells = <2>;
0603 gpio-controller;
0604 #gpio-cells = <2>;
0605 rohm,ddr-backup-power = <0xf>;
0606 rohm,rstbmode-level;
0607
0608 regulators {
0609 dvfs: dvfs {
0610 regulator-name = "dvfs";
0611 regulator-min-microvolt = <750000>;
0612 regulator-max-microvolt = <1030000>;
0613 regulator-boot-on;
0614 regulator-always-on;
0615 };
0616 };
0617 };
0618
0619 eeprom@50 {
0620 compatible = "rohm,br24t01", "atmel,24c01";
0621 reg = <0x50>;
0622 pagesize = <8>;
0623 };
0624 };
0625
0626 &ohci0 {
0627 dr_mode = "otg";
0628 status = "okay";
0629 };
0630
0631 &ohci1 {
0632 status = "okay";
0633 };
0634
0635 &pcie_bus_clk {
0636 clock-frequency = <100000000>;
0637 };
0638
0639 &pciec0 {
0640 status = "okay";
0641 };
0642
0643 &pciec1 {
0644 status = "okay";
0645 };
0646
0647 &pfc {
0648 pinctrl-0 = <&scif_clk_pins>;
0649 pinctrl-names = "default";
0650
0651 avb_pins: avb {
0652 mux {
0653 groups = "avb_link", "avb_mdio", "avb_mii";
0654 function = "avb";
0655 };
0656
0657 pins_mdio {
0658 groups = "avb_mdio";
0659 drive-strength = <24>;
0660 };
0661
0662 pins_mii_tx {
0663 pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0",
0664 "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3";
0665 drive-strength = <12>;
0666 };
0667 };
0668
0669 du_pins: du {
0670 groups = "du_rgb888", "du_sync", "du_oddf", "du_clk_out_0";
0671 function = "du";
0672 };
0673
0674 hscif1_pins: hscif1 {
0675 groups = "hscif1_data_a", "hscif1_ctrl_a";
0676 function = "hscif1";
0677 };
0678
0679 i2c2_pins: i2c2 {
0680 groups = "i2c2_a";
0681 function = "i2c2";
0682 };
0683
0684 irq0_pins: irq0 {
0685 groups = "intc_ex_irq0";
0686 function = "intc_ex";
0687 };
0688
0689 keys_pins: keys {
0690 pins = "GP_5_17", "GP_5_20", "GP_5_22";
0691 bias-pull-up;
0692 };
0693
0694 pwm1_pins: pwm1 {
0695 groups = "pwm1_a";
0696 function = "pwm1";
0697 };
0698
0699 scif1_pins: scif1 {
0700 groups = "scif1_data_a", "scif1_ctrl";
0701 function = "scif1";
0702 };
0703
0704 scif2_pins: scif2 {
0705 groups = "scif2_data_a";
0706 function = "scif2";
0707 };
0708
0709 scif_clk_pins: scif_clk {
0710 groups = "scif_clk_a";
0711 function = "scif_clk";
0712 };
0713
0714 sdhi0_pins: sd0 {
0715 groups = "sdhi0_data4", "sdhi0_ctrl";
0716 function = "sdhi0";
0717 power-source = <3300>;
0718 };
0719
0720 sdhi0_pins_uhs: sd0_uhs {
0721 groups = "sdhi0_data4", "sdhi0_ctrl";
0722 function = "sdhi0";
0723 power-source = <1800>;
0724 };
0725
0726 sdhi2_pins: sd2 {
0727 groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
0728 function = "sdhi2";
0729 power-source = <1800>;
0730 };
0731
0732 sdhi3_pins: sd3 {
0733 groups = "sdhi3_data4", "sdhi3_ctrl";
0734 function = "sdhi3";
0735 power-source = <3300>;
0736 };
0737
0738 sdhi3_pins_uhs: sd3_uhs {
0739 groups = "sdhi3_data4", "sdhi3_ctrl";
0740 function = "sdhi3";
0741 power-source = <1800>;
0742 };
0743
0744 sound_pins: sound {
0745 groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
0746 function = "ssi";
0747 };
0748
0749 sound_clk_pins: sound_clk {
0750 groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
0751 "audio_clkout_a", "audio_clkout3_a";
0752 function = "audio_clk";
0753 };
0754
0755 usb0_pins: usb0 {
0756 groups = "usb0";
0757 function = "usb0";
0758 };
0759
0760 usb1_pins: usb1 {
0761 mux {
0762 groups = "usb1";
0763 function = "usb1";
0764 };
0765
0766 ovc {
0767 pins = "GP_6_27";
0768 bias-pull-up;
0769 };
0770
0771 pwen {
0772 pins = "GP_6_26";
0773 bias-pull-down;
0774 };
0775 };
0776
0777 usb30_pins: usb30 {
0778 groups = "usb30";
0779 function = "usb30";
0780 };
0781 };
0782
0783 &pwm1 {
0784 pinctrl-0 = <&pwm1_pins>;
0785 pinctrl-names = "default";
0786
0787 status = "okay";
0788 };
0789
0790 &rcar_sound {
0791 pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
0792 pinctrl-names = "default";
0793
0794 /* Single DAI */
0795 #sound-dai-cells = <0>;
0796
0797 /* audio_clkout0/1/2/3 */
0798 #clock-cells = <1>;
0799 clock-frequency = <12288000 11289600>;
0800
0801 status = "okay";
0802
0803 /* update <audio_clk_b> to <cs2000> */
0804 clocks = <&cpg CPG_MOD 1005>,
0805 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
0806 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
0807 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
0808 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
0809 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
0810 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
0811 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
0812 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
0813 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
0814 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
0815 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
0816 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
0817 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
0818 <&audio_clk_a>, <&cs2000>,
0819 <&audio_clk_c>,
0820 <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
0821
0822 ports {
0823 #address-cells = <1>;
0824 #size-cells = <0>;
0825 rsnd_port0: port@0 {
0826 reg = <0>;
0827 rsnd_endpoint0: endpoint {
0828 remote-endpoint = <&ak4613_endpoint>;
0829
0830 dai-format = "left_j";
0831 bitclock-master = <&rsnd_endpoint0>;
0832 frame-master = <&rsnd_endpoint0>;
0833
0834 playback = <&ssi0>, <&src0>, <&dvc0>;
0835 capture = <&ssi1>, <&src1>, <&dvc1>;
0836 };
0837 };
0838
0839 rsnd_port1: port@1 {
0840 reg = <1>;
0841 rsnd_endpoint1: endpoint {
0842 remote-endpoint = <&dw_hdmi0_snd_in>;
0843
0844 dai-format = "i2s";
0845 bitclock-master = <&rsnd_endpoint1>;
0846 frame-master = <&rsnd_endpoint1>;
0847
0848 playback = <&ssi2>;
0849 };
0850 };
0851
0852 #ifdef SOC_HAS_HDMI1
0853 rsnd_port2: port@2 {
0854 reg = <2>;
0855 rsnd_endpoint2: endpoint {
0856 remote-endpoint = <&dw_hdmi1_snd_in>;
0857
0858 dai-format = "i2s";
0859 bitclock-master = <&rsnd_endpoint2>;
0860 frame-master = <&rsnd_endpoint2>;
0861
0862 playback = <&ssi3>;
0863 };
0864 };
0865 #endif /* SOC_HAS_HDMI1 */
0866 };
0867 };
0868
0869 &rpc {
0870 /* Left disabled. To be enabled by firmware when unlocked. */
0871
0872 flash@0 {
0873 compatible = "cypress,hyperflash", "cfi-flash";
0874 reg = <0>;
0875
0876 partitions {
0877 compatible = "fixed-partitions";
0878 #address-cells = <1>;
0879 #size-cells = <1>;
0880
0881 bootparam@0 {
0882 reg = <0x00000000 0x040000>;
0883 read-only;
0884 };
0885 bl2@40000 {
0886 reg = <0x00040000 0x140000>;
0887 read-only;
0888 };
0889 cert_header_sa6@180000 {
0890 reg = <0x00180000 0x040000>;
0891 read-only;
0892 };
0893 bl31@1c0000 {
0894 reg = <0x001c0000 0x040000>;
0895 read-only;
0896 };
0897 tee@200000 {
0898 reg = <0x00200000 0x440000>;
0899 read-only;
0900 };
0901 uboot@640000 {
0902 reg = <0x00640000 0x100000>;
0903 read-only;
0904 };
0905 dtb@740000 {
0906 reg = <0x00740000 0x080000>;
0907 };
0908 kernel@7c0000 {
0909 reg = <0x007c0000 0x1400000>;
0910 };
0911 user@1bc0000 {
0912 reg = <0x01bc0000 0x2440000>;
0913 };
0914 };
0915 };
0916 };
0917
0918 &rwdt {
0919 timeout-sec = <60>;
0920 status = "okay";
0921 };
0922
0923 #ifdef SOC_HAS_SATA
0924 &sata {
0925 status = "okay";
0926 };
0927 #endif /* SOC_HAS_SATA */
0928
0929 &scif1 {
0930 pinctrl-0 = <&scif1_pins>;
0931 pinctrl-names = "default";
0932
0933 uart-has-rtscts;
0934 /* Please only enable hscif1 or scif1 */
0935 /* status = "okay"; */
0936 };
0937
0938 &scif2 {
0939 pinctrl-0 = <&scif2_pins>;
0940 pinctrl-names = "default";
0941
0942 status = "okay";
0943 };
0944
0945 &scif_clk {
0946 clock-frequency = <14745600>;
0947 };
0948
0949 &sdhi0 {
0950 pinctrl-0 = <&sdhi0_pins>;
0951 pinctrl-1 = <&sdhi0_pins_uhs>;
0952 pinctrl-names = "default", "state_uhs";
0953
0954 vmmc-supply = <&vcc_sdhi0>;
0955 vqmmc-supply = <&vccq_sdhi0>;
0956 cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
0957 wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
0958 bus-width = <4>;
0959 sd-uhs-sdr50;
0960 sd-uhs-sdr104;
0961 status = "okay";
0962 };
0963
0964 &sdhi2 {
0965 /* used for on-board 8bit eMMC */
0966 pinctrl-0 = <&sdhi2_pins>;
0967 pinctrl-1 = <&sdhi2_pins>;
0968 pinctrl-names = "default", "state_uhs";
0969
0970 vmmc-supply = <®_3p3v>;
0971 vqmmc-supply = <®_1p8v>;
0972 bus-width = <8>;
0973 mmc-hs200-1_8v;
0974 mmc-hs400-1_8v;
0975 no-sd;
0976 no-sdio;
0977 non-removable;
0978 fixed-emmc-driver-type = <1>;
0979 full-pwr-cycle-in-suspend;
0980 status = "okay";
0981 };
0982
0983 &sdhi3 {
0984 pinctrl-0 = <&sdhi3_pins>;
0985 pinctrl-1 = <&sdhi3_pins_uhs>;
0986 pinctrl-names = "default", "state_uhs";
0987
0988 vmmc-supply = <&vcc_sdhi3>;
0989 vqmmc-supply = <&vccq_sdhi3>;
0990 cd-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
0991 wp-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
0992 bus-width = <4>;
0993 sd-uhs-sdr50;
0994 sd-uhs-sdr104;
0995 status = "okay";
0996 };
0997
0998 &ssi1 {
0999 shared-pin;
1000 };
1001
1002 &usb_extal_clk {
1003 clock-frequency = <50000000>;
1004 };
1005
1006 &usb2_phy0 {
1007 pinctrl-0 = <&usb0_pins>;
1008 pinctrl-names = "default";
1009
1010 vbus-supply = <&vbus0_usb2>;
1011 status = "okay";
1012 };
1013
1014 &usb2_phy1 {
1015 pinctrl-0 = <&usb1_pins>;
1016 pinctrl-names = "default";
1017
1018 status = "okay";
1019 };
1020
1021 &usb3_peri0 {
1022 phys = <&usb3_phy0>;
1023 phy-names = "usb";
1024
1025 companion = <&xhci0>;
1026
1027 status = "okay";
1028 };
1029
1030 &usb3_phy0 {
1031 status = "okay";
1032 };
1033
1034 &usb3s0_clk {
1035 clock-frequency = <100000000>;
1036 };
1037
1038 &vin0 {
1039 status = "okay";
1040 };
1041
1042 &vin1 {
1043 status = "okay";
1044 };
1045
1046 &vin2 {
1047 status = "okay";
1048 };
1049
1050 &vin3 {
1051 status = "okay";
1052 };
1053
1054 &vin4 {
1055 status = "okay";
1056 };
1057
1058 &vin5 {
1059 status = "okay";
1060 };
1061
1062 &vin6 {
1063 status = "okay";
1064 };
1065
1066 &vin7 {
1067 status = "okay";
1068 };
1069
1070 &xhci0 {
1071 pinctrl-0 = <&usb30_pins>;
1072 pinctrl-names = "default";
1073
1074 status = "okay";
1075 };
1076
1077 #ifdef SOC_HAS_USB2_CH2
1078 &ehci2 {
1079 status = "okay";
1080 };
1081
1082 &ohci2 {
1083 status = "okay";
1084 };
1085
1086 &pfc {
1087 usb2_pins: usb2 {
1088 groups = "usb2";
1089 function = "usb2";
1090 };
1091 };
1092
1093 &usb2_phy2 {
1094 pinctrl-0 = <&usb2_pins>;
1095 pinctrl-names = "default";
1096
1097 status = "okay";
1098 };
1099 #endif /* SOC_HAS_USB2_CH2 */