Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Device Tree Source for the Kingfisher (ULCB extension) board
0004  *
0005  * Copyright (C) 2017 Renesas Electronics Corp.
0006  * Copyright (C) 2017 Cogent Embedded, Inc.
0007  */
0008 
0009 /*
0010  * SSI-PCM3168A
0011  *      aplay   -D plughw:0,2 xxx.wav
0012  *      arecord -D plughw:0,3 xxx.wav
0013  */
0014 
0015 / {
0016         aliases {
0017                 serial1 = &hscif0;
0018                 serial2 = &scif1;
0019                 mmc2 = &sdhi3;
0020         };
0021 
0022         clksndsel: clksndsel {
0023                 #clock-cells = <0>;
0024                 compatible = "gpio-mux-clock";
0025                 clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
0026                 select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
0027         };
0028 
0029         hdmi1-out {
0030                 compatible = "hdmi-connector";
0031                 type = "a";
0032 
0033                 port {
0034                         hdmi1_con: endpoint {
0035                                 remote-endpoint = <&adv7513_out>;
0036                         };
0037                 };
0038         };
0039 
0040         accel_3v3: regulator-acc-3v3 {
0041                 compatible = "regulator-fixed";
0042                 regulator-name = "accel-3v3";
0043                 regulator-min-microvolt = <3300000>;
0044                 regulator-max-microvolt = <3300000>;
0045         };
0046 
0047         hdmi_1v8: regulator-hdmi-1v8 {
0048                 compatible = "regulator-fixed";
0049                 regulator-name = "hdmi-1v8";
0050                 regulator-min-microvolt = <1800000>;
0051                 regulator-max-microvolt = <1800000>;
0052         };
0053 
0054         hdmi_3v3: regulator-hdmi-3v3 {
0055                 compatible = "regulator-fixed";
0056                 regulator-name = "hdmi-3v3";
0057                 regulator-min-microvolt = <3300000>;
0058                 regulator-max-microvolt = <3300000>;
0059         };
0060 
0061         snd_3p3v: regulator-snd_3p3v {
0062                 compatible = "regulator-fixed";
0063                 regulator-name = "snd-3.3v";
0064                 regulator-min-microvolt = <3300000>;
0065                 regulator-max-microvolt = <3300000>;
0066         };
0067 
0068         snd_vcc5v: regulator-snd_vcc5v {
0069                 compatible = "regulator-fixed";
0070                 regulator-name = "snd-vcc5v";
0071                 regulator-min-microvolt = <5000000>;
0072                 regulator-max-microvolt = <5000000>;
0073         };
0074 
0075         wlan_en: regulator-wlan_en {
0076                 compatible = "regulator-fixed";
0077                 regulator-name = "wlan-en-regulator";
0078 
0079                 regulator-min-microvolt = <3300000>;
0080                 regulator-max-microvolt = <3300000>;
0081 
0082                 gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
0083                 startup-delay-us = <70000>;
0084                 enable-active-high;
0085         };
0086 };
0087 
0088 &can0 {
0089         pinctrl-0 = <&can0_pins>;
0090         pinctrl-names = "default";
0091         status = "okay";
0092 };
0093 
0094 &can1 {
0095         pinctrl-0 = <&can1_pins>;
0096         pinctrl-names = "default";
0097         status = "okay";
0098 };
0099 
0100 &du {
0101         ports {
0102                 port@0 {
0103                         du_out_rgb: endpoint {
0104                                 remote-endpoint = <&adv7513_in>;
0105                         };
0106                 };
0107         };
0108 };
0109 
0110 &ehci0 {
0111         dr_mode = "otg";
0112         status = "okay";
0113 };
0114 
0115 &hscif0 {
0116         pinctrl-0 = <&hscif0_pins>;
0117         pinctrl-names = "default";
0118         uart-has-rtscts;
0119 
0120         status = "okay";
0121 };
0122 
0123 &hsusb {
0124         dr_mode = "otg";
0125         status = "okay";
0126 };
0127 
0128 &i2c2 {
0129         i2cswitch2: i2c-switch@71 {
0130                 compatible = "nxp,pca9548";
0131                 #address-cells = <1>;
0132                 #size-cells = <0>;
0133                 reg = <0x71>;
0134                 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
0135 
0136                 /* HDMIoSDA, HDMIoSCL */
0137                 i2c@4 {
0138                         #address-cells = <1>;
0139                         #size-cells = <0>;
0140                         reg = <4>;
0141 
0142                         hdmi@3d {
0143                                 compatible = "adi,adv7513";
0144                                 reg = <0x3d>;
0145 
0146                                 pinctrl-0 = <&hdmi1_pins>;
0147                                 pinctrl-names = "default";
0148 
0149                                 interrupt-parent = <&gpio2>;
0150                                 interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
0151 
0152                                 clocks = <&cs2000>;
0153                                 clock-names = "cec";
0154 
0155                                 pd-gpios = <&gpio_exp_75 5 GPIO_ACTIVE_LOW>;
0156 
0157                                 avdd-supply = <&hdmi_1v8>;
0158                                 dvdd-supply = <&hdmi_1v8>;
0159                                 pvdd-supply = <&hdmi_1v8>;
0160                                 dvdd-3v-supply = <&hdmi_3v3>;
0161                                 bgvdd-supply = <&hdmi_1v8>;
0162 
0163                                 adi,input-depth = <8>;
0164                                 adi,input-colorspace = "rgb";
0165                                 adi,input-clock = "1x";
0166 
0167                                 ports {
0168                                         #address-cells = <1>;
0169                                         #size-cells = <0>;
0170 
0171                                         port@0 {
0172                                                 reg = <0>;
0173                                                 adv7513_in: endpoint {
0174                                                         remote-endpoint = <&du_out_rgb>;
0175                                                 };
0176                                         };
0177 
0178                                         port@1 {
0179                                                 reg = <1>;
0180                                                 adv7513_out: endpoint {
0181                                                         remote-endpoint = <&hdmi1_con>;
0182                                                 };
0183                                         };
0184                                 };
0185                         };
0186                 };
0187 
0188                 /* Audio_SDA, Audio_SCL */
0189                 i2c@7 {
0190                         #address-cells = <1>;
0191                         #size-cells = <0>;
0192                         reg = <7>;
0193 
0194                         accelerometer@1d {
0195                                 compatible = "st,lsm9ds0-imu";
0196                                 reg = <0x1d>;
0197 
0198                                 vdd-supply = <&accel_3v3>;
0199                                 vddio-supply = <&accel_3v3>;
0200                         };
0201 
0202                         pcm3168a: audio-codec@44 {
0203                                 #sound-dai-cells = <0>;
0204                                 compatible = "ti,pcm3168a";
0205                                 reg = <0x44>;
0206                                 clocks = <&clksndsel>;
0207                                 clock-names = "scki";
0208 
0209                                 VDD1-supply = <&snd_3p3v>;
0210                                 VDD2-supply = <&snd_3p3v>;
0211                                 VCCAD1-supply = <&snd_vcc5v>;
0212                                 VCCAD2-supply = <&snd_vcc5v>;
0213                                 VCCDA1-supply = <&snd_vcc5v>;
0214                                 VCCDA2-supply = <&snd_vcc5v>;
0215 
0216                                 ports {
0217                                         #address-cells = <1>;
0218                                         #size-cells = <0>;
0219                                         mclk-fs = <512>;
0220                                         port@0 {
0221                                                 reg = <0>;
0222                                                 pcm3168a_endpoint_p: endpoint {
0223                                                         remote-endpoint = <&rsnd_for_pcm3168a_play>;
0224                                                         clocks = <&clksndsel>;
0225                                                 };
0226                                         };
0227                                         port@1 {
0228                                                 reg = <1>;
0229                                                 pcm3168a_endpoint_c: endpoint {
0230                                                         remote-endpoint = <&rsnd_for_pcm3168a_capture>;
0231                                                         clocks = <&clksndsel>;
0232                                                 };
0233                                         };
0234                                 };
0235                         };
0236 
0237                         gyroscope@6b {
0238                                 compatible = "st,lsm9ds0-gyro";
0239                                 reg = <0x6b>;
0240 
0241                                 vdd-supply = <&accel_3v3>;
0242                                 vddio-supply = <&accel_3v3>;
0243                         };
0244                 };
0245         };
0246 
0247         /* U11 */
0248         gpio_exp_74: gpio@74 {
0249                 compatible = "ti,tca9539";
0250                 reg = <0x74>;
0251                 gpio-controller;
0252                 #gpio-cells = <2>;
0253                 interrupt-controller;
0254                 interrupt-parent = <&gpio6>;
0255                 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
0256 
0257                 audio-out-off-hog {
0258                         gpio-hog;
0259                         gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
0260                         output-high;
0261                         line-name = "Audio_Out_OFF";
0262                 };
0263 
0264                 hub-pwen-hog {
0265                         gpio-hog;
0266                         gpios = <6 GPIO_ACTIVE_HIGH>;
0267                         output-high;
0268                         line-name = "HUB pwen";
0269                 };
0270 
0271                 hub-rst-hog {
0272                         gpio-hog;
0273                         gpios = <7 GPIO_ACTIVE_HIGH>;
0274                         output-high;
0275                         line-name = "HUB rst";
0276                 };
0277 
0278                 otg-extlpn-hog {
0279                         gpio-hog;
0280                         gpios = <9 GPIO_ACTIVE_HIGH>;
0281                         output-high;
0282                         line-name = "OTG EXTLPn";
0283                 };
0284 
0285                 otg-offvbusn-hog {
0286                         gpio-hog;
0287                         gpios = <8 GPIO_ACTIVE_HIGH>;
0288                         output-low;
0289                         line-name = "OTG OFFVBUSn";
0290                 };
0291 
0292                 sd-wifi-mux-hog {
0293                         gpio-hog;
0294                         gpios = <5 GPIO_ACTIVE_HIGH>;
0295                         output-low;     /* Connect WL1837 */
0296                         line-name = "SD WiFi mux";
0297                 };
0298 
0299                 snd-rst-hog {
0300                         gpio-hog;
0301                         gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
0302                         output-high;
0303                         line-name = "SND_RST";
0304                 };
0305         };
0306 
0307         /* U5 */
0308         gpio_exp_75: gpio@75 {
0309                 compatible = "ti,tca9539";
0310                 reg = <0x75>;
0311                 gpio-controller;
0312                 #gpio-cells = <2>;
0313                 interrupt-controller;
0314                 interrupt-parent = <&gpio6>;
0315                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
0316         };
0317 };
0318 
0319 &i2c4 {
0320         i2cswitch4: i2c-switch@71 {
0321                 compatible = "nxp,pca9548";
0322                 #address-cells = <1>;
0323                 #size-cells = <0>;
0324                 reg = <0x71>;
0325                 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
0326         };
0327 
0328         gpio_exp_76: gpio@76 {
0329                 compatible = "ti,tca9539";
0330                 reg = <0x76>;
0331                 gpio-controller;
0332                 #gpio-cells = <2>;
0333                 interrupt-controller;
0334                 interrupt-parent = <&gpio7>;
0335                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
0336         };
0337 
0338         gpio_exp_77: gpio@77 {
0339                 compatible = "ti,tca9539";
0340                 reg = <0x77>;
0341                 gpio-controller;
0342                 #gpio-cells = <2>;
0343                 interrupt-controller;
0344                 interrupt-parent = <&gpio5>;
0345                 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
0346         };
0347 };
0348 
0349 &ohci0 {
0350         dr_mode = "otg";
0351         status = "okay";
0352 };
0353 
0354 &pcie_bus_clk {
0355         clock-frequency = <100000000>;
0356 };
0357 
0358 &pciec0 {
0359         status = "okay";
0360 };
0361 
0362 &pciec1 {
0363         status = "okay";
0364 };
0365 
0366 &pfc {
0367         can0_pins: can0 {
0368                 groups = "can0_data_a";
0369                 function = "can0";
0370         };
0371 
0372         can1_pins: can1 {
0373                 groups = "can1_data";
0374                 function = "can1";
0375         };
0376 
0377         hdmi1_pins: hdmi1 {
0378                 adv7513-interrupt {
0379                         pins = "GP_2_14";
0380                         bias-pull-up;
0381                 };
0382 
0383                 du {
0384                         groups = "du_rgb888", "du_sync", "du_clk_out_0",
0385                                  "du_disp";
0386                         function = "du";
0387                 };
0388         };
0389 
0390         hscif0_pins: hscif0 {
0391                 groups = "hscif0_data", "hscif0_ctrl";
0392                 function = "hscif0";
0393         };
0394 
0395         scif1_pins: scif1 {
0396                 groups = "scif1_data_b", "scif1_ctrl";
0397                 function = "scif1";
0398         };
0399 
0400         sdhi3_pins: sdhi3 {
0401                 groups = "sdhi3_data4", "sdhi3_ctrl";
0402                 function = "sdhi3";
0403                 power-source = <3300>;
0404         };
0405 
0406         sound_pcm_pins: sound-pcm {
0407                 groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
0408                 function = "ssi";
0409         };
0410 
0411         usb0_pins: usb0 {
0412                 groups = "usb0";
0413                 function = "usb0";
0414         };
0415 };
0416 
0417 &rcar_sound {
0418         pinctrl-0 = <&sound_pins
0419                      &sound_clk_pins
0420                      &sound_pcm_pins>;
0421 
0422         ports {
0423                 /* rsnd_port0/1 are defined in ulcb.dtsi */
0424                 rsnd_port2: port@2 {
0425                         reg = <2>;
0426                         rsnd_for_pcm3168a_play: endpoint {
0427                                 remote-endpoint = <&pcm3168a_endpoint_p>;
0428                                 bitclock-master;
0429                                 frame-master;
0430                                 dai-tdm-slot-num = <8>;
0431                                 playback = <&ssi3>;
0432                         };
0433                 };
0434                 rsnd_port3: port@3 {
0435                         reg = <3>;
0436                         rsnd_for_pcm3168a_capture: endpoint {
0437                                 remote-endpoint = <&pcm3168a_endpoint_c>;
0438                                 bitclock-master;
0439                                 frame-master;
0440                                 dai-tdm-slot-num = <6>;
0441                                 capture = <&ssi4>;
0442                         };
0443                 };
0444         };
0445 };
0446 
0447 &scif1 {
0448         pinctrl-0 = <&scif1_pins>;
0449         pinctrl-names = "default";
0450         uart-has-rtscts;
0451 
0452         status = "okay";
0453 };
0454 
0455 &sdhi3 {
0456         pinctrl-0 = <&sdhi3_pins>;
0457         pinctrl-names = "default";
0458 
0459         vmmc-supply = <&wlan_en>;
0460         vqmmc-supply = <&wlan_en>;
0461         bus-width = <4>;
0462         no-1-8-v;
0463         non-removable;
0464         cap-power-off-card;
0465         keep-power-in-suspend;
0466         max-frequency = <26000000>;
0467         status = "okay";
0468 
0469         #address-cells = <1>;
0470         #size-cells = <0>;
0471         wlcore: wlcore@2 {
0472                 compatible = "ti,wl1837";
0473                 reg = <2>;
0474                 interrupt-parent = <&gpio1>;
0475                 interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
0476         };
0477 };
0478 
0479 &sound_card {
0480         links = <&rsnd_port0    /* ak4613 */
0481                  &rsnd_port1    /* HDMI0  */
0482                  &rsnd_port2    /* pcm3168a playback */
0483                  &rsnd_port3    /* pcm3168a capture  */
0484                 >;
0485 };
0486 
0487 &ssi4 {
0488         shared-pin;
0489 };
0490 
0491 &usb2_phy0 {
0492         pinctrl-0 = <&usb0_pins>;
0493         pinctrl-names = "default";
0494 
0495         status = "okay";
0496 };
0497 
0498 &xhci0 {
0499         status = "okay";
0500 };