1b7be1449SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2b7be1449SNeil Armstrong/*
3b7be1449SNeil Armstrong * Copyright (c) 2019 BayLibre SAS. All rights reserved.
4b7be1449SNeil Armstrong */
5b7be1449SNeil Armstrong
6b7be1449SNeil Armstrong/dts-v1/;
7b7be1449SNeil Armstrong
8b7be1449SNeil Armstrong#include "meson-g12a.dtsi"
92297c33cSJerome Brunet#include <dt-bindings/gpio/gpio.h>
10d1c023afSNeil Armstrong#include <dt-bindings/input/input.h>
112297c33cSJerome Brunet#include <dt-bindings/gpio/meson-g12a-gpio.h>
12b7be1449SNeil Armstrong
13b7be1449SNeil Armstrong/ {
14b7be1449SNeil Armstrong	compatible = "seirobotics,sei510", "amlogic,g12a";
15b7be1449SNeil Armstrong	model = "SEI Robotics SEI510";
16b7be1449SNeil Armstrong
17b7be1449SNeil Armstrong	aliases {
18b7be1449SNeil Armstrong		serial0 = &uart_AO;
19b7be1449SNeil Armstrong	};
20b7be1449SNeil Armstrong
21d1c023afSNeil Armstrong	adc_keys {
22d1c023afSNeil Armstrong		compatible = "adc-keys";
23d1c023afSNeil Armstrong		io-channels = <&saradc 0>;
24d1c023afSNeil Armstrong		io-channel-names = "buttons";
25d1c023afSNeil Armstrong		keyup-threshold-microvolt = <1800000>;
26d1c023afSNeil Armstrong
27d1c023afSNeil Armstrong		button-onoff {
28d1c023afSNeil Armstrong			label = "On/Off";
29d1c023afSNeil Armstrong			linux,code = <KEY_POWER>;
30d1c023afSNeil Armstrong			press-threshold-microvolt = <1700000>;
31d1c023afSNeil Armstrong		};
32d1c023afSNeil Armstrong	};
33d1c023afSNeil Armstrong
342297c33cSJerome Brunet	ao_5v: regulator-ao_5v {
352297c33cSJerome Brunet		compatible = "regulator-fixed";
362297c33cSJerome Brunet		regulator-name = "AO_5V";
372297c33cSJerome Brunet		regulator-min-microvolt = <5000000>;
382297c33cSJerome Brunet		regulator-max-microvolt = <5000000>;
392297c33cSJerome Brunet		vin-supply = <&dc_in>;
402297c33cSJerome Brunet		regulator-always-on;
412297c33cSJerome Brunet	};
422297c33cSJerome Brunet
43b7be1449SNeil Armstrong	chosen {
44b7be1449SNeil Armstrong		stdout-path = "serial0:115200n8";
45b7be1449SNeil Armstrong	};
46b7be1449SNeil Armstrong
47912a3395SNeil Armstrong	cvbs-connector {
48912a3395SNeil Armstrong		compatible = "composite-video-connector";
49912a3395SNeil Armstrong
50912a3395SNeil Armstrong		port {
51912a3395SNeil Armstrong			cvbs_connector_in: endpoint {
52912a3395SNeil Armstrong				remote-endpoint = <&cvbs_vdac_out>;
53912a3395SNeil Armstrong			};
54912a3395SNeil Armstrong		};
55912a3395SNeil Armstrong	};
56912a3395SNeil Armstrong
572297c33cSJerome Brunet	dc_in: regulator-dc_in {
582297c33cSJerome Brunet		compatible = "regulator-fixed";
592297c33cSJerome Brunet		regulator-name = "DC_IN";
602297c33cSJerome Brunet		regulator-min-microvolt = <5000000>;
612297c33cSJerome Brunet		regulator-max-microvolt = <5000000>;
622297c33cSJerome Brunet		regulator-always-on;
632297c33cSJerome Brunet	};
642297c33cSJerome Brunet
652297c33cSJerome Brunet	emmc_1v8: regulator-emmc_1v8 {
662297c33cSJerome Brunet		compatible = "regulator-fixed";
672297c33cSJerome Brunet		regulator-name = "EMMC_1V8";
682297c33cSJerome Brunet		regulator-min-microvolt = <1800000>;
692297c33cSJerome Brunet		regulator-max-microvolt = <1800000>;
702297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
712297c33cSJerome Brunet		regulator-always-on;
722297c33cSJerome Brunet	};
732297c33cSJerome Brunet
74912a3395SNeil Armstrong	hdmi-connector {
75912a3395SNeil Armstrong		compatible = "hdmi-connector";
76912a3395SNeil Armstrong		type = "a";
77912a3395SNeil Armstrong
78912a3395SNeil Armstrong		port {
79912a3395SNeil Armstrong			hdmi_connector_in: endpoint {
80912a3395SNeil Armstrong				remote-endpoint = <&hdmi_tx_tmds_out>;
81912a3395SNeil Armstrong			};
82912a3395SNeil Armstrong		};
83912a3395SNeil Armstrong	};
84912a3395SNeil Armstrong
85b7be1449SNeil Armstrong	memory@0 {
86b7be1449SNeil Armstrong		device_type = "memory";
87b7be1449SNeil Armstrong		reg = <0x0 0x0 0x0 0x40000000>;
88b7be1449SNeil Armstrong	};
89b7be1449SNeil Armstrong
90b7be1449SNeil Armstrong	reserved-memory {
91b7be1449SNeil Armstrong		/* TEE Reserved Memory */
92b7be1449SNeil Armstrong		bl32_reserved: bl32@5000000 {
93b7be1449SNeil Armstrong			reg = <0x0 0x05300000 0x0 0x2000000>;
94b7be1449SNeil Armstrong			no-map;
95b7be1449SNeil Armstrong		};
96b7be1449SNeil Armstrong	};
972297c33cSJerome Brunet
982297c33cSJerome Brunet	vddao_3v3: regulator-vddao_3v3 {
992297c33cSJerome Brunet		compatible = "regulator-fixed";
1002297c33cSJerome Brunet		regulator-name = "VDDAO_3V3";
1012297c33cSJerome Brunet		regulator-min-microvolt = <3300000>;
1022297c33cSJerome Brunet		regulator-max-microvolt = <3300000>;
1032297c33cSJerome Brunet		vin-supply = <&dc_in>;
1042297c33cSJerome Brunet		regulator-always-on;
1052297c33cSJerome Brunet	};
1062297c33cSJerome Brunet
1072297c33cSJerome Brunet	vddao_3v3_t: regultor-vddao_3v3_t {
1082297c33cSJerome Brunet		compatible = "regulator-fixed";
1092297c33cSJerome Brunet		regulator-name = "VDDAO_3V3_T";
1102297c33cSJerome Brunet		regulator-min-microvolt = <3300000>;
1112297c33cSJerome Brunet		regulator-max-microvolt = <3300000>;
1122297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
1132297c33cSJerome Brunet		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
1142297c33cSJerome Brunet		enable-active-high;
1152297c33cSJerome Brunet	};
1162297c33cSJerome Brunet
1172297c33cSJerome Brunet	vddio_ao1v8: regulator-vddio_ao1v8 {
1182297c33cSJerome Brunet		compatible = "regulator-fixed";
1192297c33cSJerome Brunet		regulator-name = "VDDIO_AO1V8";
1202297c33cSJerome Brunet		regulator-min-microvolt = <1800000>;
1212297c33cSJerome Brunet		regulator-max-microvolt = <1800000>;
1222297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
1232297c33cSJerome Brunet		regulator-always-on;
1242297c33cSJerome Brunet	};
125d1c023afSNeil Armstrong};
1262297c33cSJerome Brunet
127912a3395SNeil Armstrong&cec_AO {
128912a3395SNeil Armstrong	pinctrl-0 = <&cec_ao_a_h_pins>;
129912a3395SNeil Armstrong	pinctrl-names = "default";
130912a3395SNeil Armstrong	status = "disabled";
131912a3395SNeil Armstrong	hdmi-phandle = <&hdmi_tx>;
132912a3395SNeil Armstrong};
133912a3395SNeil Armstrong
134912a3395SNeil Armstrong&cecb_AO {
135912a3395SNeil Armstrong	pinctrl-0 = <&cec_ao_b_h_pins>;
136912a3395SNeil Armstrong	pinctrl-names = "default";
137912a3395SNeil Armstrong	status = "okay";
138912a3395SNeil Armstrong	hdmi-phandle = <&hdmi_tx>;
139912a3395SNeil Armstrong};
140912a3395SNeil Armstrong
141912a3395SNeil Armstrong&cvbs_vdac_port {
142912a3395SNeil Armstrong	cvbs_vdac_out: endpoint {
143912a3395SNeil Armstrong		remote-endpoint = <&cvbs_connector_in>;
144912a3395SNeil Armstrong	};
145912a3395SNeil Armstrong};
146912a3395SNeil Armstrong
147d1c023afSNeil Armstrong&saradc {
148d1c023afSNeil Armstrong	status = "okay";
149d1c023afSNeil Armstrong	vref-supply = <&vddio_ao1v8>;
150d1c023afSNeil Armstrong};
151d1c023afSNeil Armstrong
152d1c023afSNeil Armstrong&uart_A {
153d1c023afSNeil Armstrong	status = "okay";
154d1c023afSNeil Armstrong	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
155d1c023afSNeil Armstrong	pinctrl-names = "default";
156d1c023afSNeil Armstrong	uart-has-rtscts;
157d1c023afSNeil Armstrong
158d1c023afSNeil Armstrong	bluetooth {
159d1c023afSNeil Armstrong		compatible = "brcm,bcm43438-bt";
160d1c023afSNeil Armstrong		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
161d1c023afSNeil Armstrong	};
162b7be1449SNeil Armstrong};
163b7be1449SNeil Armstrong
164912a3395SNeil Armstrong&hdmi_tx {
165912a3395SNeil Armstrong	status = "okay";
166912a3395SNeil Armstrong	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
167912a3395SNeil Armstrong	pinctrl-names = "default";
168912a3395SNeil Armstrong};
169912a3395SNeil Armstrong
170912a3395SNeil Armstrong&hdmi_tx_tmds_port {
171912a3395SNeil Armstrong	hdmi_tx_tmds_out: endpoint {
172912a3395SNeil Armstrong		remote-endpoint = <&hdmi_connector_in>;
173912a3395SNeil Armstrong	};
174912a3395SNeil Armstrong};
175912a3395SNeil Armstrong
176b7be1449SNeil Armstrong&uart_AO {
177b7be1449SNeil Armstrong	status = "okay";
17851d215c1SNeil Armstrong	pinctrl-0 = <&uart_ao_a_pins>;
17951d215c1SNeil Armstrong	pinctrl-names = "default";
180b7be1449SNeil Armstrong};
18141cc4551SNeil Armstrong
18241cc4551SNeil Armstrong&usb {
18341cc4551SNeil Armstrong	status = "okay";
18441cc4551SNeil Armstrong	dr_mode = "host";
18541cc4551SNeil Armstrong};
186