1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include "meson-g12a.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/gpio/meson-g12a-gpio.h>
11
12/ {
13	compatible = "amlogic,u200", "amlogic,g12a";
14	model = "Amlogic Meson G12A U200 Development Board";
15
16	aliases {
17		serial0 = &uart_AO;
18	};
19	chosen {
20		stdout-path = "serial0:115200n8";
21	};
22	memory@0 {
23		device_type = "memory";
24		reg = <0x0 0x0 0x0 0x40000000>;
25	};
26
27	cvbs-connector {
28		compatible = "composite-video-connector";
29
30		port {
31			cvbs_connector_in: endpoint {
32				remote-endpoint = <&cvbs_vdac_out>;
33			};
34		};
35	};
36
37	flash_1v8: regulator-flash_1v8 {
38		compatible = "regulator-fixed";
39		regulator-name = "FLASH_1V8";
40		regulator-min-microvolt = <1800000>;
41		regulator-max-microvolt = <1800000>;
42		vin-supply = <&vcc_3v3>;
43		regulator-always-on;
44	};
45
46	hdmi-connector {
47		compatible = "hdmi-connector";
48		type = "a";
49
50		port {
51			hdmi_connector_in: endpoint {
52				remote-endpoint = <&hdmi_tx_tmds_out>;
53			};
54		};
55	};
56
57	main_12v: regulator-main_12v {
58		compatible = "regulator-fixed";
59		regulator-name = "12V";
60		regulator-min-microvolt = <12000000>;
61		regulator-max-microvolt = <12000000>;
62		regulator-always-on;
63	};
64
65	vcc_1v8: regulator-vcc_1v8 {
66		compatible = "regulator-fixed";
67		regulator-name = "VCC_1V8";
68		regulator-min-microvolt = <1800000>;
69		regulator-max-microvolt = <1800000>;
70		vin-supply = <&vcc_3v3>;
71		regulator-always-on;
72	};
73
74	vcc_3v3: regulator-vcc_3v3 {
75		compatible = "regulator-fixed";
76		regulator-name = "VCC_3V3";
77		regulator-min-microvolt = <3300000>;
78		regulator-max-microvolt = <3300000>;
79		vin-supply = <&vddao_3v3>;
80		regulator-always-on;
81		/* FIXME: actually controlled by VDDCPU_B_EN */
82	};
83
84	vcc_5v: regulator-vcc_5v {
85		compatible = "regulator-fixed";
86		regulator-name = "VCC_5V";
87		regulator-min-microvolt = <5000000>;
88		regulator-max-microvolt = <5000000>;
89		vin-supply = <&main_12v>;
90
91		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
92		enable-active-high;
93	};
94
95	usb_pwr_en: regulator-usb_pwr_en {
96		compatible = "regulator-fixed";
97		regulator-name = "USB_PWR_EN";
98		regulator-min-microvolt = <5000000>;
99		regulator-max-microvolt = <5000000>;
100		vin-supply = <&vcc_5v>;
101
102		gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
103		enable-active-high;
104	};
105
106	vddao_1v8: regulator-vddao_1v8 {
107		compatible = "regulator-fixed";
108		regulator-name = "VDDAO_1V8";
109		regulator-min-microvolt = <1800000>;
110		regulator-max-microvolt = <1800000>;
111		vin-supply = <&vddao_3v3>;
112		regulator-always-on;
113	};
114
115	vddao_3v3: regulator-vddao_3v3 {
116		compatible = "regulator-fixed";
117		regulator-name = "VDDAO_3V3";
118		regulator-min-microvolt = <3300000>;
119		regulator-max-microvolt = <3300000>;
120		vin-supply = <&main_12v>;
121		regulator-always-on;
122	};
123
124};
125
126&cec_AO {
127	pinctrl-0 = <&cec_ao_a_h_pins>;
128	pinctrl-names = "default";
129	status = "disabled";
130	hdmi-phandle = <&hdmi_tx>;
131};
132
133&cecb_AO {
134	pinctrl-0 = <&cec_ao_b_h_pins>;
135	pinctrl-names = "default";
136	status = "okay";
137	hdmi-phandle = <&hdmi_tx>;
138};
139
140&cvbs_vdac_port {
141	cvbs_vdac_out: endpoint {
142		remote-endpoint = <&cvbs_connector_in>;
143	};
144};
145
146&hdmi_tx {
147	status = "okay";
148	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
149	pinctrl-names = "default";
150	hdmi-supply = <&vcc_5v>;
151};
152
153&hdmi_tx_tmds_port {
154	hdmi_tx_tmds_out: endpoint {
155		remote-endpoint = <&hdmi_connector_in>;
156	};
157};
158
159&uart_AO {
160	status = "okay";
161	pinctrl-0 = <&uart_ao_a_pins>;
162	pinctrl-names = "default";
163};
164
165&usb {
166	status = "okay";
167	vbus-supply = <&usb_pwr_en>;
168};
169
170&usb2_phy0 {
171	phy-supply = <&vcc_5v>;
172};
173
174&usb2_phy1 {
175	phy-supply = <&vcc_5v>;
176};
177