1 // SPDX-License-Identifier: GPL-2.0
3 * Device Tree Source for common parts of Salvator-X board variants
5 * Copyright (C) 2015-2016 Renesas Electronics Corp.
11 * This command is required when Playback/Capture
13 * amixer set "DVC Out" 100%
14 * amixer set "DVC In" 100%
18 * amixer set "DVC Out Mute" on
19 * amixer set "DVC In Mute" on
21 * You can use Volume Ramp
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
27 * amixer set "DVC Out" 80% // Volume Down
28 * amixer set "DVC Out" 100% // Volume Up
31 #include <dt-bindings/gpio/gpio.h>
32 #include <dt-bindings/input/input.h>
45 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
46 stdout-path = "serial0:115200n8";
49 audio_clkout: audio-clkout {
51 * This is same as <&rcar_sound 0>
52 * but needed to avoid cs2000/rcar_sound probe dead-lock
54 compatible = "fixed-clock";
56 clock-frequency = <12288000>;
59 backlight: backlight {
60 compatible = "pwm-backlight";
61 pwms = <&pwm1 0 50000>;
63 brightness-levels = <256 128 64 16 8 4 0>;
64 default-brightness-level = <6>;
66 power-supply = <®_12v>;
67 enable-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
71 compatible = "composite-video-connector";
76 remote-endpoint = <&adv7482_ain7>;
82 compatible = "hdmi-connector";
87 hdmi_in_con: endpoint {
88 remote-endpoint = <&adv7482_hdmi>;
94 compatible = "hdmi-connector";
105 compatible = "hdmi-connector";
110 hdmi1_con: endpoint {
116 compatible = "gpio-keys";
118 pinctrl-0 = <&keys_pins>;
119 pinctrl-names = "default";
122 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
123 linux,code = <KEY_1>;
126 debounce-interval = <20>;
129 gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
130 linux,code = <KEY_2>;
133 debounce-interval = <20>;
136 gpios = <&gpio5 22 GPIO_ACTIVE_LOW>;
137 linux,code = <KEY_3>;
140 debounce-interval = <20>;
143 gpios = <&gpio5 23 GPIO_ACTIVE_LOW>;
144 linux,code = <KEY_4>;
147 debounce-interval = <20>;
150 gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
151 linux,code = <KEY_A>;
154 debounce-interval = <20>;
157 gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
158 linux,code = <KEY_B>;
161 debounce-interval = <20>;
164 gpios = <&gpio6 13 GPIO_ACTIVE_LOW>;
165 linux,code = <KEY_C>;
168 debounce-interval = <20>;
172 reg_1p8v: regulator0 {
173 compatible = "regulator-fixed";
174 regulator-name = "fixed-1.8V";
175 regulator-min-microvolt = <1800000>;
176 regulator-max-microvolt = <1800000>;
181 reg_3p3v: regulator1 {
182 compatible = "regulator-fixed";
183 regulator-name = "fixed-3.3V";
184 regulator-min-microvolt = <3300000>;
185 regulator-max-microvolt = <3300000>;
190 reg_12v: regulator2 {
191 compatible = "regulator-fixed";
192 regulator-name = "fixed-12V";
193 regulator-min-microvolt = <12000000>;
194 regulator-max-microvolt = <12000000>;
200 compatible = "audio-graph-card";
202 label = "rcar-sound";
204 dais = <&rsnd_port0 /* ak4613 */
205 &rsnd_port1>; /* HDMI0 */
208 vbus0_usb2: regulator-vbus0-usb2 {
209 compatible = "regulator-fixed";
211 regulator-name = "USB20_VBUS0";
212 regulator-min-microvolt = <5000000>;
213 regulator-max-microvolt = <5000000>;
215 gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>;
219 vcc_sdhi0: regulator-vcc-sdhi0 {
220 compatible = "regulator-fixed";
222 regulator-name = "SDHI0 Vcc";
223 regulator-min-microvolt = <3300000>;
224 regulator-max-microvolt = <3300000>;
226 gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
230 vccq_sdhi0: regulator-vccq-sdhi0 {
231 compatible = "regulator-gpio";
233 regulator-name = "SDHI0 VccQ";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <3300000>;
237 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
239 states = <3300000 1>, <1800000 0>;
242 vcc_sdhi3: regulator-vcc-sdhi3 {
243 compatible = "regulator-fixed";
245 regulator-name = "SDHI3 Vcc";
246 regulator-min-microvolt = <3300000>;
247 regulator-max-microvolt = <3300000>;
249 gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
253 vccq_sdhi3: regulator-vccq-sdhi3 {
254 compatible = "regulator-gpio";
256 regulator-name = "SDHI3 VccQ";
257 regulator-min-microvolt = <1800000>;
258 regulator-max-microvolt = <3300000>;
260 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
262 states = <3300000 1>, <1800000 0>;
266 compatible = "vga-connector";
270 remote-endpoint = <&adv7123_out>;
276 compatible = "adi,adv7123";
279 #address-cells = <1>;
284 adv7123_in: endpoint {
285 remote-endpoint = <&du_out_rgb>;
290 adv7123_out: endpoint {
291 remote-endpoint = <&vga_in>;
298 compatible = "fixed-clock";
300 clock-frequency = <24576000>;
303 /* External DU dot clocks */
305 compatible = "fixed-clock";
307 clock-frequency = <33000000>;
311 compatible = "fixed-clock";
313 clock-frequency = <33000000>;
317 compatible = "fixed-clock";
319 clock-frequency = <25000000>;
324 cpu-supply = <&dvfs>;
328 clock-frequency = <22579200>;
332 pinctrl-0 = <&avb_pins>;
333 pinctrl-names = "default";
334 phy-handle = <&phy0>;
335 tx-internal-delay-ps = <2000>;
338 phy0: ethernet-phy@0 {
339 rxc-skew-ps = <1500>;
341 interrupt-parent = <&gpio2>;
342 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
343 reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
355 remote-endpoint = <&adv7482_txb>;
368 data-lanes = <1 2 3 4>;
369 remote-endpoint = <&adv7482_txa>;
376 pinctrl-0 = <&du_pins>;
377 pinctrl-names = "default";
383 remote-endpoint = <&adv7123_in>;
399 clock-frequency = <32768>;
408 rcar_dw_hdmi0_out: endpoint {
409 remote-endpoint = <&hdmi0_con>;
414 dw_hdmi0_snd_in: endpoint {
415 remote-endpoint = <&rsnd_endpoint1>;
422 remote-endpoint = <&rcar_dw_hdmi0_out>;
426 pinctrl-0 = <&hscif1_pins>;
427 pinctrl-names = "default";
430 /* Please only enable hscif1 or scif1 */
440 pinctrl-0 = <&i2c2_pins>;
441 pinctrl-names = "default";
445 clock-frequency = <100000>;
448 compatible = "asahi-kasei,ak4613";
449 #sound-dai-cells = <0>;
451 clocks = <&rcar_sound 3>;
453 asahi-kasei,in1-single-end;
454 asahi-kasei,in2-single-end;
455 asahi-kasei,out1-single-end;
456 asahi-kasei,out2-single-end;
457 asahi-kasei,out3-single-end;
458 asahi-kasei,out4-single-end;
459 asahi-kasei,out5-single-end;
460 asahi-kasei,out6-single-end;
463 ak4613_endpoint: endpoint {
464 remote-endpoint = <&rsnd_endpoint0>;
469 cs2000: clk_multiplier@4f {
471 compatible = "cirrus,cs2000-cp";
473 clocks = <&audio_clkout>, <&x12_clk>;
474 clock-names = "clk_in", "ref_clk";
476 assigned-clocks = <&cs2000>;
477 assigned-clock-rates = <24576000>; /* 1/1 divide */
485 compatible = "onnn,pca9654";
492 compatible = "adi,adv7482";
493 reg = <0x70 0x71 0x72 0x73 0x74 0x75
494 0x60 0x61 0x62 0x63 0x64 0x65>;
495 reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater",
496 "infoframe", "cbus", "cec", "sdp", "txa", "txb" ;
498 #address-cells = <1>;
501 interrupt-parent = <&gpio6>;
502 interrupt-names = "intrq1", "intrq2";
503 interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
504 <31 IRQ_TYPE_LEVEL_LOW>;
509 adv7482_ain7: endpoint {
510 remote-endpoint = <&cvbs_con>;
517 adv7482_hdmi: endpoint {
518 remote-endpoint = <&hdmi_in_con>;
525 adv7482_txa: endpoint {
527 data-lanes = <1 2 3 4>;
528 remote-endpoint = <&csi40_in>;
535 adv7482_txb: endpoint {
538 remote-endpoint = <&csi20_in>;
544 compatible = "maxim,max9611";
547 shunt-resistor-micro-ohms = <5000>;
551 compatible = "maxim,max9611";
554 shunt-resistor-micro-ohms = <5000>;
561 clock-frequency = <400000>;
564 pinctrl-0 = <&irq0_pins>;
565 pinctrl-names = "default";
567 compatible = "rohm,bd9571mwv";
569 interrupt-parent = <&intc_ex>;
570 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
571 interrupt-controller;
572 #interrupt-cells = <2>;
575 rohm,ddr-backup-power = <0xf>;
580 regulator-name = "dvfs";
581 regulator-min-microvolt = <750000>;
582 regulator-max-microvolt = <1030000>;
590 compatible = "rohm,br24t01", "atmel,24c01";
606 clock-frequency = <100000000>;
618 pinctrl-0 = <&scif_clk_pins>;
619 pinctrl-names = "default";
623 groups = "avb_link", "avb_mdio", "avb_mii";
629 drive-strength = <24>;
633 pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0",
634 "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3";
635 drive-strength = <12>;
640 groups = "du_rgb888", "du_sync", "du_oddf", "du_clk_out_0";
644 hscif1_pins: hscif1 {
645 groups = "hscif1_data_a", "hscif1_ctrl_a";
655 groups = "intc_ex_irq0";
656 function = "intc_ex";
660 pins = "GP_5_17", "GP_5_20", "GP_5_22";
670 groups = "scif1_data_a", "scif1_ctrl";
675 groups = "scif2_data_a";
679 scif_clk_pins: scif_clk {
680 groups = "scif_clk_a";
681 function = "scif_clk";
685 groups = "sdhi0_data4", "sdhi0_ctrl";
687 power-source = <3300>;
690 sdhi0_pins_uhs: sd0_uhs {
691 groups = "sdhi0_data4", "sdhi0_ctrl";
693 power-source = <1800>;
697 groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
699 power-source = <1800>;
703 groups = "sdhi3_data4", "sdhi3_ctrl";
705 power-source = <3300>;
708 sdhi3_pins_uhs: sd3_uhs {
709 groups = "sdhi3_data4", "sdhi3_ctrl";
711 power-source = <1800>;
715 groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
719 sound_clk_pins: sound_clk {
720 groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
721 "audio_clkout_a", "audio_clkout3_a";
722 function = "audio_clk";
754 pinctrl-0 = <&pwm1_pins>;
755 pinctrl-names = "default";
761 pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
762 pinctrl-names = "default";
765 #sound-dai-cells = <0>;
767 /* audio_clkout0/1/2/3 */
769 clock-frequency = <12288000 11289600>;
773 /* update <audio_clk_b> to <cs2000> */
774 clocks = <&cpg CPG_MOD 1005>,
775 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
776 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
777 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
778 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
779 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
780 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
781 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
782 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
783 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
784 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
785 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
786 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
787 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
788 <&audio_clk_a>, <&cs2000>,
790 <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
793 #address-cells = <1>;
797 rsnd_endpoint0: endpoint {
798 remote-endpoint = <&ak4613_endpoint>;
800 dai-format = "left_j";
801 bitclock-master = <&rsnd_endpoint0>;
802 frame-master = <&rsnd_endpoint0>;
804 playback = <&ssi0>, <&src0>, <&dvc0>;
805 capture = <&ssi1>, <&src1>, <&dvc1>;
811 rsnd_endpoint1: endpoint {
812 remote-endpoint = <&dw_hdmi0_snd_in>;
815 bitclock-master = <&rsnd_endpoint1>;
816 frame-master = <&rsnd_endpoint1>;
830 pinctrl-0 = <&scif1_pins>;
831 pinctrl-names = "default";
834 /* Please only enable hscif1 or scif1 */
835 /* status = "okay"; */
839 pinctrl-0 = <&scif2_pins>;
840 pinctrl-names = "default";
846 clock-frequency = <14745600>;
850 pinctrl-0 = <&sdhi0_pins>;
851 pinctrl-1 = <&sdhi0_pins_uhs>;
852 pinctrl-names = "default", "state_uhs";
854 vmmc-supply = <&vcc_sdhi0>;
855 vqmmc-supply = <&vccq_sdhi0>;
856 cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
857 wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
865 /* used for on-board 8bit eMMC */
866 pinctrl-0 = <&sdhi2_pins>;
867 pinctrl-1 = <&sdhi2_pins>;
868 pinctrl-names = "default", "state_uhs";
870 vmmc-supply = <®_3p3v>;
871 vqmmc-supply = <®_1p8v>;
878 fixed-emmc-driver-type = <1>;
879 full-pwr-cycle-in-suspend;
884 pinctrl-0 = <&sdhi3_pins>;
885 pinctrl-1 = <&sdhi3_pins_uhs>;
886 pinctrl-names = "default", "state_uhs";
888 vmmc-supply = <&vcc_sdhi3>;
889 vqmmc-supply = <&vccq_sdhi3>;
890 cd-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
891 wp-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
903 clock-frequency = <50000000>;
907 pinctrl-0 = <&usb0_pins>;
908 pinctrl-names = "default";
910 vbus-supply = <&vbus0_usb2>;
915 pinctrl-0 = <&usb1_pins>;
916 pinctrl-names = "default";
925 companion = <&xhci0>;
935 clock-frequency = <100000000>;
971 pinctrl-0 = <&usb30_pins>;
972 pinctrl-names = "default";