Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / amlogic / meson-gxl-s905x-p212.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2016 Endless Computers, Inc.
4  * Author: Carlo Caione <carlo@endlessm.com>
5  */
6
7 /dts-v1/;
8
9 #include "meson-gxl-s905x-p212.dtsi"
10 #include <dt-bindings/sound/meson-aiu.h>
11
12 / {
13         compatible = "amlogic,p212", "amlogic,s905x", "amlogic,meson-gxl";
14         model = "Amlogic Meson GXL (S905X) P212 Development Board";
15
16         dio2133: analog-amplifier {
17                 compatible = "simple-audio-amplifier";
18                 sound-name-prefix = "AU2";
19                 VCC-supply = <&hdmi_5v>;
20                 enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
21         };
22
23         cvbs-connector {
24                 compatible = "composite-video-connector";
25
26                 port {
27                         cvbs_connector_in: endpoint {
28                                 remote-endpoint = <&cvbs_vdac_out>;
29                         };
30                 };
31         };
32
33         hdmi-connector {
34                 compatible = "hdmi-connector";
35                 type = "a";
36
37                 port {
38                         hdmi_connector_in: endpoint {
39                                 remote-endpoint = <&hdmi_tx_tmds_out>;
40                         };
41                 };
42         };
43
44         sound {
45                 compatible = "amlogic,gx-sound-card";
46                 model = "S905X-P212";
47                 audio-aux-devs = <&dio2133>;
48                 audio-widgets = "Line", "Lineout";
49                 audio-routing = "AU2 INL", "ACODEC LOLN",
50                                 "AU2 INR", "ACODEC LORN",
51                                 "Lineout", "AU2 OUTL",
52                                 "Lineout", "AU2 OUTR";
53                 assigned-clocks = <&clkc CLKID_MPLL0>,
54                                   <&clkc CLKID_MPLL1>,
55                                   <&clkc CLKID_MPLL2>;
56                 assigned-clock-parents = <0>, <0>, <0>;
57                 assigned-clock-rates = <294912000>,
58                                        <270950400>,
59                                        <393216000>;
60                 dai-link-0 {
61                         sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
62                 };
63
64                 dai-link-1 {
65                         sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
66                         dai-format = "i2s";
67                         mclk-fs = <256>;
68
69                         codec-0 {
70                                 sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
71                         };
72
73                         codec-1 {
74                                 sound-dai = <&aiu AIU_ACODEC CTRL_I2S>;
75                         };
76                 };
77
78                 dai-link-2 {
79                         sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
80
81                         codec-0 {
82                                 sound-dai = <&hdmi_tx>;
83                         };
84                 };
85
86                 dai-link-3 {
87                         sound-dai = <&aiu AIU_ACODEC CTRL_OUT>;
88
89                         codec-0 {
90                                 sound-dai = <&acodec>;
91                         };
92                 };
93         };
94 };
95
96 &acodec {
97         AVDD-supply = <&vddio_ao18>;
98         status = "okay";
99 };
100
101 &aiu {
102         status = "okay";
103 };
104
105 &cec_AO {
106         status = "okay";
107         pinctrl-0 = <&ao_cec_pins>;
108         pinctrl-names = "default";
109         hdmi-phandle = <&hdmi_tx>;
110 };
111
112 &cvbs_vdac_port {
113         cvbs_vdac_out: endpoint {
114                 remote-endpoint = <&cvbs_connector_in>;
115         };
116 };
117
118 &hdmi_tx {
119         status = "okay";
120         pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
121         pinctrl-names = "default";
122         hdmi-supply = <&hdmi_5v>;
123 };
124
125 &hdmi_tx_tmds_port {
126         hdmi_tx_tmds_out: endpoint {
127                 remote-endpoint = <&hdmi_connector_in>;
128         };
129 };
130
131 /* This UART is brought out to the DB9 connector */
132 &uart_AO {
133         status = "okay";
134 };