1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
215abee8aSCarlo Caione/*
315abee8aSCarlo Caione * Copyright (c) 2016 Endless Computers, Inc.
415abee8aSCarlo Caione * Author: Carlo Caione <carlo@endlessm.com>
515abee8aSCarlo Caione */
615abee8aSCarlo Caione
715abee8aSCarlo Caione/dts-v1/;
815abee8aSCarlo Caione
99ded9b0fSMartin Blumenstingl#include "meson-gxl-s905x-p212.dtsi"
10*7e01e14eSChristian Hewitt#include <dt-bindings/sound/meson-aiu.h>
1115abee8aSCarlo Caione
1215abee8aSCarlo Caione/ {
1315abee8aSCarlo Caione	compatible = "amlogic,p212", "amlogic,s905x", "amlogic,meson-gxl";
1415abee8aSCarlo Caione	model = "Amlogic Meson GXL (S905X) P212 Development Board";
1515abee8aSCarlo Caione
16*7e01e14eSChristian Hewitt	dio2133: analog-amplifier {
17*7e01e14eSChristian Hewitt		compatible = "simple-audio-amplifier";
18*7e01e14eSChristian Hewitt		sound-name-prefix = "AU2";
19*7e01e14eSChristian Hewitt		VCC-supply = <&hdmi_5v>;
20*7e01e14eSChristian Hewitt		enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
21*7e01e14eSChristian Hewitt	};
22*7e01e14eSChristian Hewitt
239ded9b0fSMartin Blumenstingl	cvbs-connector {
249ded9b0fSMartin Blumenstingl		compatible = "composite-video-connector";
259ded9b0fSMartin Blumenstingl
269ded9b0fSMartin Blumenstingl		port {
279ded9b0fSMartin Blumenstingl			cvbs_connector_in: endpoint {
289ded9b0fSMartin Blumenstingl				remote-endpoint = <&cvbs_vdac_out>;
299ded9b0fSMartin Blumenstingl			};
309ded9b0fSMartin Blumenstingl		};
319ded9b0fSMartin Blumenstingl	};
3227f87bd2SNeil Armstrong
3327f87bd2SNeil Armstrong	hdmi-connector {
3427f87bd2SNeil Armstrong		compatible = "hdmi-connector";
3527f87bd2SNeil Armstrong		type = "a";
3627f87bd2SNeil Armstrong
3727f87bd2SNeil Armstrong		port {
3827f87bd2SNeil Armstrong			hdmi_connector_in: endpoint {
3927f87bd2SNeil Armstrong				remote-endpoint = <&hdmi_tx_tmds_out>;
4027f87bd2SNeil Armstrong			};
4127f87bd2SNeil Armstrong		};
4227f87bd2SNeil Armstrong	};
43*7e01e14eSChristian Hewitt
44*7e01e14eSChristian Hewitt	sound {
45*7e01e14eSChristian Hewitt		compatible = "amlogic,gx-sound-card";
46*7e01e14eSChristian Hewitt		model = "S905X-P212";
47*7e01e14eSChristian Hewitt		audio-aux-devs = <&dio2133>;
48*7e01e14eSChristian Hewitt		audio-widgets = "Line", "Lineout";
49*7e01e14eSChristian Hewitt		audio-routing = "AU2 INL", "ACODEC LOLN",
50*7e01e14eSChristian Hewitt				"AU2 INR", "ACODEC LORN",
51*7e01e14eSChristian Hewitt				"Lineout", "AU2 OUTL",
52*7e01e14eSChristian Hewitt				"Lineout", "AU2 OUTR";
53*7e01e14eSChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL0>,
54*7e01e14eSChristian Hewitt				  <&clkc CLKID_MPLL1>,
55*7e01e14eSChristian Hewitt				  <&clkc CLKID_MPLL2>;
56*7e01e14eSChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
57*7e01e14eSChristian Hewitt		assigned-clock-rates = <294912000>,
58*7e01e14eSChristian Hewitt				       <270950400>,
59*7e01e14eSChristian Hewitt				       <393216000>;
60*7e01e14eSChristian Hewitt		dai-link-0 {
61*7e01e14eSChristian Hewitt			sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
62*7e01e14eSChristian Hewitt		};
63*7e01e14eSChristian Hewitt
64*7e01e14eSChristian Hewitt		dai-link-1 {
65*7e01e14eSChristian Hewitt			sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
66*7e01e14eSChristian Hewitt			dai-format = "i2s";
67*7e01e14eSChristian Hewitt			mclk-fs = <256>;
68*7e01e14eSChristian Hewitt
69*7e01e14eSChristian Hewitt			codec-0 {
70*7e01e14eSChristian Hewitt				sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
71*7e01e14eSChristian Hewitt			};
72*7e01e14eSChristian Hewitt
73*7e01e14eSChristian Hewitt			codec-1 {
74*7e01e14eSChristian Hewitt				sound-dai = <&aiu AIU_ACODEC CTRL_I2S>;
75*7e01e14eSChristian Hewitt			};
76*7e01e14eSChristian Hewitt		};
77*7e01e14eSChristian Hewitt
78*7e01e14eSChristian Hewitt		dai-link-2 {
79*7e01e14eSChristian Hewitt			sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
80*7e01e14eSChristian Hewitt
81*7e01e14eSChristian Hewitt			codec-0 {
82*7e01e14eSChristian Hewitt				sound-dai = <&hdmi_tx>;
83*7e01e14eSChristian Hewitt			};
84*7e01e14eSChristian Hewitt		};
85*7e01e14eSChristian Hewitt
86*7e01e14eSChristian Hewitt		dai-link-3 {
87*7e01e14eSChristian Hewitt			sound-dai = <&aiu AIU_ACODEC CTRL_OUT>;
88*7e01e14eSChristian Hewitt
89*7e01e14eSChristian Hewitt			codec-0 {
90*7e01e14eSChristian Hewitt				sound-dai = <&acodec>;
91*7e01e14eSChristian Hewitt			};
92*7e01e14eSChristian Hewitt		};
93*7e01e14eSChristian Hewitt	};
94*7e01e14eSChristian Hewitt};
95*7e01e14eSChristian Hewitt
96*7e01e14eSChristian Hewitt&acodec {
97*7e01e14eSChristian Hewitt	AVDD-supply = <&vddio_ao18>;
98*7e01e14eSChristian Hewitt	status = "okay";
99*7e01e14eSChristian Hewitt};
100*7e01e14eSChristian Hewitt
101*7e01e14eSChristian Hewitt&aiu {
102*7e01e14eSChristian Hewitt	status = "okay";
10315abee8aSCarlo Caione};
10415abee8aSCarlo Caione
105b16c71c9SNeil Armstrong&cec_AO {
106b16c71c9SNeil Armstrong	status = "okay";
107b16c71c9SNeil Armstrong	pinctrl-0 = <&ao_cec_pins>;
108b16c71c9SNeil Armstrong	pinctrl-names = "default";
109b16c71c9SNeil Armstrong	hdmi-phandle = <&hdmi_tx>;
110b16c71c9SNeil Armstrong};
111b16c71c9SNeil Armstrong
1129ded9b0fSMartin Blumenstingl&cvbs_vdac_port {
1139ded9b0fSMartin Blumenstingl	cvbs_vdac_out: endpoint {
1149ded9b0fSMartin Blumenstingl		remote-endpoint = <&cvbs_connector_in>;
11515abee8aSCarlo Caione	};
11615abee8aSCarlo Caione};
11715abee8aSCarlo Caione
11827f87bd2SNeil Armstrong&hdmi_tx {
11927f87bd2SNeil Armstrong	status = "okay";
12027f87bd2SNeil Armstrong	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
12127f87bd2SNeil Armstrong	pinctrl-names = "default";
122e1f2163dSNeil Armstrong	hdmi-supply = <&hdmi_5v>;
12327f87bd2SNeil Armstrong};
12427f87bd2SNeil Armstrong
12527f87bd2SNeil Armstrong&hdmi_tx_tmds_port {
12627f87bd2SNeil Armstrong	hdmi_tx_tmds_out: endpoint {
12727f87bd2SNeil Armstrong		remote-endpoint = <&hdmi_connector_in>;
12827f87bd2SNeil Armstrong	};
12927f87bd2SNeil Armstrong};
13027f87bd2SNeil Armstrong
13115abee8aSCarlo Caione/* This UART is brought out to the DB9 connector */
13215abee8aSCarlo Caione&uart_AO {
13315abee8aSCarlo Caione	status = "okay";
13415abee8aSCarlo Caione};
135