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>
8 #include <dt-bindings/clock/versaclock.h>
11 backlight_lvds: backlight-lvds {
12 compatible = "pwm-backlight";
13 power-supply = <®_lcd>;
14 enable-gpios = <&gpio_exp1 3 GPIO_ACTIVE_HIGH>;
15 pwms = <&pwm2 0 25000>;
16 brightness-levels = <0 4 8 16 32 64 128 255>;
17 default-brightness-level = <6>;
20 backlight_dpi: backlight-dpi {
21 compatible = "pwm-backlight";
22 power-supply = <®_lcd>;
23 enable-gpios = <&gpio_exp1 7 GPIO_ACTIVE_LOW>;
24 pwms = <&pwm0 0 25000>;
25 brightness-levels = <0 25 33 50 63 75 88 100>;
26 default-brightness-level = <6>;
30 compatible = "hdmi-connector";
35 remote-endpoint = <&rcar_dw_hdmi0_out>;
41 compatible = "gpio-keys";
44 gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
45 linux,code = <KEY_UP>;
48 debounce-interval = <20>;
51 gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
52 linux,code = <KEY_LEFT>;
55 debounce-interval = <20>;
58 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
59 linux,code = <KEY_DOWN>;
62 debounce-interval = <20>;
65 gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
66 linux,code = <KEY_RIGHT>;
69 debounce-interval = <20>;
72 gpios = <&gpio5 22 GPIO_ACTIVE_LOW>;
73 linux,code = <KEY_ENTER>;
76 debounce-interval = <20>;
81 compatible = "gpio-leds";
82 pinctrl-0 = <&led_pins>;
83 pinctrl-names = "default";
86 gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
88 linux,default-trigger = "heartbeat";
91 gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
95 gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
99 gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
105 compatible = "panel-lvds";
106 power-supply = <®_lcd_reset>;
109 backlight = <&backlight_lvds>;
110 data-mapping = "vesa-24";
114 clock-frequency = <30000000>;
126 pixelclk-active = <0>;
131 remote-endpoint = <&lvds0_out>;
137 /* Different LCD with compatible timings */
138 compatible = "rocktech,rk070er9427";
139 backlight = <&backlight_dpi>;
140 enable-gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
141 power-supply = <®_lcd>;
143 rgb_panel: endpoint {
144 remote-endpoint = <&du_out_rgb>;
149 reg_audio: regulator-audio {
150 compatible = "regulator-fixed";
151 regulator-name = "audio-1.8V";
152 regulator-min-microvolt = <1800000>;
153 regulator-max-microvolt = <1800000>;
154 gpio = <&gpio_exp4 1 GPIO_ACTIVE_HIGH>;
158 reg_lcd: regulator-lcd {
159 compatible = "regulator-fixed";
160 regulator-name = "lcd_panel_pwr";
161 regulator-min-microvolt = <3300000>;
162 regulator-max-microvolt = <3300000>;
163 gpio = <&gpio_exp1 1 GPIO_ACTIVE_HIGH>;
167 reg_lcd_reset: regulator-lcd-reset {
168 compatible = "regulator-fixed";
169 regulator-name = "nLCD_RESET";
170 regulator-min-microvolt = <3300000>;
171 regulator-max-microvolt = <3300000>;
172 gpio = <&gpio5 3 GPIO_ACTIVE_HIGH>;
174 vin-supply = <®_lcd>;
177 reg_cam0: regulator-cam0 {
178 compatible = "regulator-fixed";
179 regulator-name = "reg_cam0";
180 regulator-min-microvolt = <1800000>;
181 regulator-max-microvolt = <1800000>;
182 gpio = <&gpio_exp2 2 GPIO_ACTIVE_HIGH>;
186 reg_cam1: regulator-cam1 {
187 compatible = "regulator-fixed";
188 regulator-name = "reg_cam1";
189 regulator-min-microvolt = <1800000>;
190 regulator-max-microvolt = <1800000>;
191 gpio = <&gpio_exp2 5 GPIO_ACTIVE_HIGH>;
193 startup-delay-us = <100000>;
197 compatible = "audio-graph-card";
198 label = "rcar-sound";
199 dais = <&rsnd_port0>, <&rsnd_port1>;
200 widgets = "Microphone", "Mic Jack",
201 "Line", "Line In Jack",
202 "Headphone", "Headphone Jack";
203 mic-det-gpio = <&gpio0 2 GPIO_ACTIVE_LOW>;
204 routing = "Headphone Jack", "HPOUTL",
205 "Headphone Jack", "HPOUTR",
210 vccq_sdhi0: regulator-vccq-sdhi0 {
211 compatible = "regulator-gpio";
212 regulator-name = "SDHI0 VccQ";
213 regulator-min-microvolt = <1800000>;
214 regulator-max-microvolt = <3300000>;
215 gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
217 states = <3300000 1>, <1800000 0>;
220 /* External DU dot clocks */
221 x302_clk: x302-clock {
222 compatible = "fixed-clock";
224 clock-frequency = <33000000>;
227 x304_clk: x304-clock {
228 compatible = "fixed-clock";
230 clock-frequency = <25000000>;
234 compatible = "usb-c-connector";
239 #address-cells = <1>;
244 remote-endpoint = <&usb3_hs_ep>;
250 remote-endpoint = <&hd3ss3220_in_ep>;
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>;
278 du_out_rgb: endpoint {
279 remote-endpoint = <&rgb_panel>;
288 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>, <&usb2_clksel>, <&versaclock5 3>;
293 clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>, <&usb2_clksel>, <&versaclock5 3>;
299 #address-cells = <1>;
303 dw_hdmi0_in: endpoint {
304 remote-endpoint = <&du_out_hdmi0>;
309 rcar_dw_hdmi0_out: endpoint {
310 remote-endpoint = <&hdmi0_con>;
315 dw_hdmi0_snd_in: endpoint {
316 remote-endpoint = <&rsnd_endpoint1>;
323 pinctrl-0 = <&hscif1_pins>;
324 pinctrl-names = "default";
336 clock-frequency = <400000>;
337 pinctrl-0 = <&i2c2_pins>;
338 pinctrl-names = "default";
341 compatible = "onnn,pca9654";
348 compatible = "onnn,pca9654";
355 compatible = "onnn,pca9654";
361 versaclock6_bb: clock-controller@6a {
362 compatible = "idt,5p49v6965";
365 clocks = <&x304_clk>;
368 assigned-clocks = <&versaclock6_bb 1>, <&versaclock6_bb 2>,
369 <&versaclock6_bb 3>, <&versaclock6_bb 4>;
370 assigned-clock-rates = <24000000>, <24000000>, <24576000>,
374 idt,mode = <VC5_CMOS>;
375 idt,voltage-microvolt = <1800000>;
376 idt,slew-percent = <100>;
380 idt,mode = <VC5_CMOS>;
381 idt,voltage-microvolt = <1800000>;
382 idt,slew-percent = <100>;
386 idt,mode = <VC5_CMOS>;
387 idt,voltage-microvolt = <3300000>;
388 idt,slew-percent = <100>;
392 idt,mode = <VC5_CMOS>;
393 idt,voltage-microvolt = <3300000>;
394 idt,slew-percent = <100>;
401 clock-frequency = <400000>;
403 pinctrl-0 = <&i2c0_pins>;
404 pinctrl-names = "default";
409 clock-frequency = <400000>;
410 pinctrl-0 = <&i2c5_pins>;
411 pinctrl-names = "default";
414 compatible = "wlf,wm8962";
416 clocks = <&versaclock6_bb 3>;
417 DCVDD-supply = <®_audio>;
418 DBVDD-supply = <®_audio>;
419 AVDD-supply = <®_audio>;
420 CPVDD-supply = <®_audio>;
421 MICVDD-supply = <®_audio>;
422 PLLVDD-supply = <®_audio>;
423 SPKVDD1-supply = <®_audio>;
424 SPKVDD2-supply = <®_audio>;
426 0x0000 /* 0:Default */
427 0x0000 /* 1:Default */
428 0x0000 /* 2:Default */
429 0x0000 /* 3:Default */
430 0x0000 /* 4:Default */
431 0x0000 /* 5:Default */
434 wm8962_endpoint: endpoint {
435 remote-endpoint = <&rsnd_endpoint0>;
441 compatible = "ilitek,ili2117";
443 interrupt-parent = <&gpio5>;
444 interrupts = <9 IRQ_TYPE_EDGE_RISING>;
449 compatible = "ti,hd3ss3220";
451 interrupt-parent = <&gpio6>;
452 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
455 #address-cells = <1>;
459 hd3ss3220_in_ep: endpoint {
460 remote-endpoint = <&ss_ep>;
465 hd3ss3220_out_ep: endpoint {
466 remote-endpoint = <&usb3_role_switch>;
473 compatible = "nxp,pca9538";
477 gpio-line-names = "lcd_reset", "lcd_pwr", "lcd_select",
478 "backlight-enable", "Touch_shdwn",
479 "LCD_H_pol", "lcd_V_pol";
488 lvds0_out: endpoint {
489 remote-endpoint = <&panel_in>;
496 pinctrl-0 = <&msiof1_pins>;
497 pinctrl-names = "default";
499 cs-gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
520 clock-frequency = <100000000>;
525 groups = "can0_data_a";
530 groups = "can1_data";
535 groups = "du_rgb888", "du_sync", "du_clk_out_1", "du_disp";
550 /* GP_0_4 , AVS1, AVS2, GP_7_3 */
551 pins = "GP_0_4", "GP_7_0", "GP_7_1", "GP_7_3";
555 msiof1_pins: msiof1 {
556 groups = "msiof1_clk_g", "msiof1_rxd_g", "msiof1_txd_g";
571 groups = "sdhi0_data4", "sdhi0_ctrl";
573 power-source = <3300>;
576 sdhi0_pins_uhs: sd0_uhs {
577 groups = "sdhi0_data4", "sdhi0_ctrl";
579 power-source = <1800>;
583 groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
587 sound_clk_pins: sound_clk {
588 groups = "audio_clk_a_a", "audio_clk_b_a";
589 function = "audio_clk";
615 pinctrl-0 = <&pwm0_pins>;
616 pinctrl-names = "default";
621 pinctrl-0 = <&pwm2_pins>;
622 pinctrl-names = "default";
627 pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
628 pinctrl-names = "default";
631 #sound-dai-cells = <0>;
633 /* audio_clkout0/1/2/3 */
635 clock-frequency = <11289600>;
637 /* Reference versaclock instead of audio_clk_a */
638 clocks = <&cpg CPG_MOD 1005>,
639 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
640 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
641 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
642 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
643 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
644 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
645 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
646 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
647 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
648 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
649 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
650 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
651 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
652 <&versaclock6_bb 4>, <&audio_clk_b>,
659 #address-cells = <1>;
663 rsnd_endpoint0: endpoint {
664 remote-endpoint = <&wm8962_endpoint>;
667 bitclock-master = <&rsnd_endpoint0>;
668 frame-master = <&rsnd_endpoint0>;
670 playback = <&ssi1>, <&dvc1>, <&src1>;
676 rsnd_endpoint1: endpoint {
677 remote-endpoint = <&dw_hdmi0_snd_in>;
680 bitclock-master = <&rsnd_endpoint1>;
681 frame-master = <&rsnd_endpoint1>;
695 pinctrl-0 = <&scif0_pins>;
696 pinctrl-names = "default";
701 pinctrl-0 = <&scif5_pins>;
702 pinctrl-names = "default";
707 clock-frequency = <14745600>;
711 pinctrl-0 = <&sdhi0_pins>;
712 pinctrl-1 = <&sdhi0_pins_uhs>;
713 pinctrl-names = "default", "state_uhs";
714 vmmc-supply = <®_3p3v>;
715 vqmmc-supply = <&vccq_sdhi0>;
716 cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
748 pinctrl-0 = <&usb0_pins>;
749 pinctrl-names = "default";
754 pinctrl-0 = <&usb1_pins>;
755 pinctrl-names = "default";
760 companion = <&xhci0>;
765 #address-cells = <1>;
769 usb3_hs_ep: endpoint {
770 remote-endpoint = <&hs_ep>;
775 usb3_role_switch: endpoint {
776 remote-endpoint = <&hd3ss3220_out_ep>;
813 pinctrl-0 = <&usb30_pins>;
814 pinctrl-names = "default";