Back to home page

OSCL-LXR

 
 

    


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 = <&reg_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 = <&reg_3p3v>;
0971         vqmmc-supply = <&reg_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 */