1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright 2020, Compass Electronics Group, LLC
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/input/input.h>
10 backlight_lvds: backlight-lvds {
11 compatible = "pwm-backlight";
12 power-supply = <®_lcd>;
13 enable-gpios = <&gpio_exp1 3 GPIO_ACTIVE_LOW>;
14 pwms = <&pwm2 0 50000>;
15 brightness-levels = <0 4 8 16 32 64 128 255>;
16 default-brightness-level = <6>;
19 backlight_rgb: backlight-rgb {
20 compatible = "pwm-backlight";
21 power-supply = <®_lcd>;
22 enable-gpios = <&gpio_exp1 7 GPIO_ACTIVE_LOW>;
23 pwms = <&pwm0 0 50000>;
24 brightness-levels = <0 4 8 16 32 64 128 255>;
25 default-brightness-level = <6>;
29 compatible = "hdmi-connector";
34 remote-endpoint = <&rcar_dw_hdmi0_out>;
40 compatible = "gpio-keys";
43 gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
47 debounce-interval = <20>;
50 gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
54 debounce-interval = <20>;
57 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
61 debounce-interval = <20>;
64 gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
68 debounce-interval = <20>;
71 gpios = <&gpio5 22 GPIO_ACTIVE_LOW>;
75 debounce-interval = <20>;
80 compatible = "gpio-leds";
81 pinctrl-0 = <&led_pins>;
82 pinctrl-names = "default";
85 gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
87 linux,default-trigger = "heartbeat";
90 gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
94 gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
98 gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
104 compatible = "panel-lvds";
105 power-supply = <®_lcd_reset>;
108 backlight = <&backlight_lvds>;
109 data-mapping = "vesa-24";
113 clock-frequency = <30000000>;
125 pixelclk-active = <0>;
130 remote-endpoint = <&lvds0_out>;
136 /* Different LCD with compatible timings */
137 compatible = "rocktech,rk070er9427";
138 backlight = <&backlight_rgb>;
139 enable-gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
140 power-supply = <®_lcd>;
142 rgb_panel: endpoint {
143 remote-endpoint = <&du_out_rgb>;
148 reg_audio: regulator_audio {
149 compatible = "regulator-fixed";
150 regulator-name = "audio-1.8V";
151 regulator-min-microvolt = <1800000>;
152 regulator-max-microvolt = <1800000>;
153 gpio = <&gpio_exp2 7 GPIO_ACTIVE_HIGH>;
157 reg_lcd: regulator-lcd {
158 compatible = "regulator-fixed";
159 regulator-name = "lcd_panel_pwr";
160 regulator-min-microvolt = <3300000>;
161 regulator-max-microvolt = <3300000>;
162 gpio = <&gpio_exp1 1 GPIO_ACTIVE_HIGH>;
166 reg_lcd_reset: regulator-lcd-reset {
167 compatible = "regulator-fixed";
168 regulator-name = "nLCD_RESET";
169 regulator-min-microvolt = <3300000>;
170 regulator-max-microvolt = <3300000>;
171 gpio = <&gpio5 3 GPIO_ACTIVE_HIGH>;
173 vin-supply = <®_lcd>;
176 reg_cam0: regulator_camera {
177 compatible = "regulator-fixed";
178 regulator-name = "reg_cam0";
179 regulator-min-microvolt = <1800000>;
180 regulator-max-microvolt = <1800000>;
181 gpio = <&gpio_exp2 2 GPIO_ACTIVE_HIGH>;
185 reg_cam1: regulator_camera {
186 compatible = "regulator-fixed";
187 regulator-name = "reg_cam1";
188 regulator-min-microvolt = <1800000>;
189 regulator-max-microvolt = <1800000>;
190 gpio = <&gpio_exp2 5 GPIO_ACTIVE_HIGH>;
192 startup-delay-us = <100000>;
196 compatible = "audio-graph-card";
197 label = "rcar-sound";
198 dais = <&rsnd_port0>, <&rsnd_port1>;
201 vccq_sdhi0: regulator-vccq-sdhi0 {
202 compatible = "regulator-gpio";
204 regulator-name = "SDHI0 VccQ";
205 regulator-min-microvolt = <1800000>;
206 regulator-max-microvolt = <3300000>;
208 gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
210 states = <3300000 1>, <1800000 0>;
214 /* External DU dot clocks */
215 x302_clk: x302-clock {
216 compatible = "fixed-clock";
218 clock-frequency = <33000000>;
221 x304_clk: x304-clock {
222 compatible = "fixed-clock";
224 clock-frequency = <25000000>;
228 compatible = "usb-c-connector";
233 #address-cells = <1>;
238 remote-endpoint = <&usb3_hs_ep>;
244 remote-endpoint = <&hd3ss3220_in_ep>;
252 clock-frequency = <24576000>;
253 assigned-clocks = <&versaclock6_bb 4>;
254 assigned-clock-rates = <24576000>;
258 clock-frequency = <22579200>;
262 pinctrl-0 = <&can0_pins>;
263 pinctrl-names = "default";
264 renesas,can-clock-select = <0x0>;
269 pinctrl-0 = <&can1_pins>;
270 pinctrl-names = "default";
271 renesas,can-clock-select = <0x0>;
276 pinctrl-0 = <&du_pins>;
277 pinctrl-names = "default";
280 clocks = <&cpg CPG_MOD 724>,
286 clock-names = "du.0", "du.1", "du.2",
287 "dclkin.0", "dclkin.1", "dclkin.2";
291 remote-endpoint = <&rgb_panel>;
297 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
302 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>;
308 #address-cells = <1>;
312 dw_hdmi0_in: endpoint {
313 remote-endpoint = <&du_out_hdmi0>;
318 rcar_dw_hdmi0_out: endpoint {
319 remote-endpoint = <&hdmi0_con>;
324 dw_hdmi0_snd_in: endpoint {
325 remote-endpoint = <&rsnd_endpoint1>;
332 pinctrl-0 = <&hscif1_pins>;
333 pinctrl-names = "default";
345 clock-frequency = <100000>;
346 pinctrl-0 = <&i2c2_pins>;
347 pinctrl-names = "default";
350 compatible = "onnn,pca9654";
357 compatible = "onnn,pca9654";
364 compatible = "onnn,pca9654";
370 versaclock6_bb: clock-controller@6a {
371 compatible = "idt,5p49v6965";
374 clocks = <&x304_clk>;
376 /* CSI0_MCLK, CSI1_MCLK, AUDIO_CLKIN, USB_HUB_MCLK_BB */
377 assigned-clocks = <&versaclock6_bb 1>,
381 assigned-clock-rates = <24000000>, <24000000>, <24000000>, <24576000>;
387 clock-frequency = <400000>;
389 pinctrl-0 = <&i2c0_pins>;
390 pinctrl-names = "default";
395 clock-frequency = <100000>;
396 pinctrl-0 = <&i2c5_pins>;
397 pinctrl-names = "default";
400 compatible = "wlf,wm8962";
402 DCVDD-supply = <®_audio>;
403 DBVDD-supply = <®_audio>;
404 AVDD-supply = <®_audio>;
405 CPVDD-supply = <®_audio>;
406 MICVDD-supply = <®_audio>;
407 PLLVDD-supply = <®_audio>;
408 SPKVDD1-supply = <®_audio>;
409 SPKVDD2-supply = <®_audio>;
411 0x0000 /* 0:Default */
412 0x0000 /* 1:Default */
413 0x0000 /* 2:Default */
414 0x0000 /* 3:Default */
415 0x0000 /* 4:Default */
416 0x0000 /* 5:Default */
419 wm8962_endpoint: endpoint {
420 remote-endpoint = <&rsnd_endpoint0>;
428 /* 3 - backlight-enable */
429 /* 4 - Touch_shdwn */
433 compatible = "onnn,pca9654";
440 compatible = "ilitek,ili2117";
442 interrupt-parent = <&gpio5>;
443 interrupts = <9 IRQ_TYPE_EDGE_RISING>;
448 compatible = "ti,hd3ss3220";
450 interrupt-parent = <&gpio6>;
451 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
454 #address-cells = <1>;
458 hd3ss3220_in_ep: endpoint {
459 remote-endpoint = <&ss_ep>;
464 hd3ss3220_out_ep: endpoint {
465 remote-endpoint = <&usb3_role_switch>;
477 lvds0_out: endpoint {
478 remote-endpoint = <&panel_in>;
502 clock-frequency = <100000000>;
507 groups = "can0_data_a";
512 groups = "can1_data";
517 groups = "du_rgb888", "du_sync", "du_clk_out_1", "du_disp";
532 /* GP_0_4 , AVS1, AVS2, GP_7_3 */
533 pins = "GP_0_4", "GP_7_0", "GP_7_1", "GP_7_3";
548 groups = "sdhi0_data4", "sdhi0_ctrl";
550 power-source = <3300>;
553 sdhi0_pins_uhs: sd0_uhs {
554 groups = "sdhi0_data4", "sdhi0_ctrl";
556 power-source = <1800>;
560 groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
564 sound_clk_pins: sound_clk {
565 groups = "audio_clk_a_a";
566 function = "audio_clk";
592 pinctrl-0 = <&pwm0_pins>;
593 pinctrl-names = "default";
598 pinctrl-0 = <&pwm2_pins>;
599 pinctrl-names = "default";
604 pinctrl-0 = <&sound_pins &sound_clk_pins>;
605 pinctrl-names = "default";
608 #sound-dai-cells = <0>;
610 /* audio_clkout0/1/2/3 */
612 clock-frequency = <11289600>;
616 clocks = <&cpg CPG_MOD 1005>,
617 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
618 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
619 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
620 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
621 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
622 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
623 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
624 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
625 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
626 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
627 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
628 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
629 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
630 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
631 <&cpg CPG_CORE R8A774A1_CLK_S0D4>;
634 #address-cells = <1>;
638 rsnd_endpoint0: endpoint {
639 remote-endpoint = <&wm8962_endpoint>;
642 bitclock-master = <&rsnd_endpoint0>;
643 frame-master = <&rsnd_endpoint0>;
645 playback = <&ssi1 &dvc1 &src1>;
651 rsnd_endpoint1: endpoint {
652 remote-endpoint = <&dw_hdmi0_snd_in>;
655 bitclock-master = <&rsnd_endpoint1>;
656 frame-master = <&rsnd_endpoint1>;
670 pinctrl-0 = <&scif0_pins>;
671 pinctrl-names = "default";
676 pinctrl-0 = <&scif5_pins>;
677 pinctrl-names = "default";
682 clock-frequency = <14745600>;
686 pinctrl-0 = <&sdhi0_pins>;
687 pinctrl-1 = <&sdhi0_pins_uhs>;
688 pinctrl-names = "default", "state_uhs";
689 vmmc-supply = <®_3p3v>;
690 vqmmc-supply = <&vccq_sdhi0>;
691 cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
723 pinctrl-0 = <&usb0_pins>;
724 pinctrl-names = "default";
729 pinctrl-0 = <&usb1_pins>;
730 pinctrl-names = "default";
735 companion = <&xhci0>;
740 #address-cells = <1>;
744 usb3_hs_ep: endpoint {
745 remote-endpoint = <&hs_ep>;
750 usb3_role_switch: endpoint {
751 remote-endpoint = <&hd3ss3220_out_ep>;
788 pinctrl-0 = <&usb30_pins>;
789 pinctrl-names = "default";