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
17d1c023afSNeil Armstrong	adc_keys {
18d1c023afSNeil Armstrong		compatible = "adc-keys";
19d1c023afSNeil Armstrong		io-channels = <&saradc 0>;
20d1c023afSNeil Armstrong		io-channel-names = "buttons";
21d1c023afSNeil Armstrong		keyup-threshold-microvolt = <1800000>;
22d1c023afSNeil Armstrong
23d1c023afSNeil Armstrong		button-onoff {
24d1c023afSNeil Armstrong			label = "On/Off";
25d1c023afSNeil Armstrong			linux,code = <KEY_POWER>;
26d1c023afSNeil Armstrong			press-threshold-microvolt = <1700000>;
27d1c023afSNeil Armstrong		};
28d1c023afSNeil Armstrong	};
29d1c023afSNeil Armstrong
3073429cf2SJerome Brunet	aliases {
3173429cf2SJerome Brunet		serial0 = &uart_AO;
322297c33cSJerome Brunet	};
332297c33cSJerome Brunet
34b7be1449SNeil Armstrong	chosen {
35b7be1449SNeil Armstrong		stdout-path = "serial0:115200n8";
36b7be1449SNeil Armstrong	};
37b7be1449SNeil Armstrong
38912a3395SNeil Armstrong	cvbs-connector {
39912a3395SNeil Armstrong		compatible = "composite-video-connector";
40912a3395SNeil Armstrong
41912a3395SNeil Armstrong		port {
42912a3395SNeil Armstrong			cvbs_connector_in: endpoint {
43912a3395SNeil Armstrong				remote-endpoint = <&cvbs_vdac_out>;
44912a3395SNeil Armstrong			};
45912a3395SNeil Armstrong		};
46912a3395SNeil Armstrong	};
47912a3395SNeil Armstrong
48912a3395SNeil Armstrong	hdmi-connector {
49912a3395SNeil Armstrong		compatible = "hdmi-connector";
50912a3395SNeil Armstrong		type = "a";
51912a3395SNeil Armstrong
52912a3395SNeil Armstrong		port {
53912a3395SNeil Armstrong			hdmi_connector_in: endpoint {
54912a3395SNeil Armstrong				remote-endpoint = <&hdmi_tx_tmds_out>;
55912a3395SNeil Armstrong			};
56912a3395SNeil Armstrong		};
57912a3395SNeil Armstrong	};
58912a3395SNeil Armstrong
59b7be1449SNeil Armstrong	memory@0 {
60b7be1449SNeil Armstrong		device_type = "memory";
61b7be1449SNeil Armstrong		reg = <0x0 0x0 0x0 0x40000000>;
62b7be1449SNeil Armstrong	};
63b7be1449SNeil Armstrong
6473429cf2SJerome Brunet	ao_5v: regulator-ao_5v {
6573429cf2SJerome Brunet		compatible = "regulator-fixed";
6673429cf2SJerome Brunet		regulator-name = "AO_5V";
6773429cf2SJerome Brunet		regulator-min-microvolt = <5000000>;
6873429cf2SJerome Brunet		regulator-max-microvolt = <5000000>;
6973429cf2SJerome Brunet		vin-supply = <&dc_in>;
7073429cf2SJerome Brunet		regulator-always-on;
71b7be1449SNeil Armstrong	};
7273429cf2SJerome Brunet
7373429cf2SJerome Brunet	dc_in: regulator-dc_in {
7473429cf2SJerome Brunet		compatible = "regulator-fixed";
7573429cf2SJerome Brunet		regulator-name = "DC_IN";
7673429cf2SJerome Brunet		regulator-min-microvolt = <5000000>;
7773429cf2SJerome Brunet		regulator-max-microvolt = <5000000>;
7873429cf2SJerome Brunet		regulator-always-on;
7973429cf2SJerome Brunet	};
8073429cf2SJerome Brunet
8173429cf2SJerome Brunet	emmc_1v8: regulator-emmc_1v8 {
8273429cf2SJerome Brunet		compatible = "regulator-fixed";
8373429cf2SJerome Brunet		regulator-name = "EMMC_1V8";
8473429cf2SJerome Brunet		regulator-min-microvolt = <1800000>;
8573429cf2SJerome Brunet		regulator-max-microvolt = <1800000>;
8673429cf2SJerome Brunet		vin-supply = <&vddao_3v3>;
8773429cf2SJerome Brunet		regulator-always-on;
88b7be1449SNeil Armstrong	};
892297c33cSJerome Brunet
902297c33cSJerome Brunet	vddao_3v3: regulator-vddao_3v3 {
912297c33cSJerome Brunet		compatible = "regulator-fixed";
922297c33cSJerome Brunet		regulator-name = "VDDAO_3V3";
932297c33cSJerome Brunet		regulator-min-microvolt = <3300000>;
942297c33cSJerome Brunet		regulator-max-microvolt = <3300000>;
952297c33cSJerome Brunet		vin-supply = <&dc_in>;
962297c33cSJerome Brunet		regulator-always-on;
972297c33cSJerome Brunet	};
982297c33cSJerome Brunet
992297c33cSJerome Brunet	vddao_3v3_t: regultor-vddao_3v3_t {
1002297c33cSJerome Brunet		compatible = "regulator-fixed";
1012297c33cSJerome Brunet		regulator-name = "VDDAO_3V3_T";
1022297c33cSJerome Brunet		regulator-min-microvolt = <3300000>;
1032297c33cSJerome Brunet		regulator-max-microvolt = <3300000>;
1042297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
1052297c33cSJerome Brunet		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
1062297c33cSJerome Brunet		enable-active-high;
1072297c33cSJerome Brunet	};
1082297c33cSJerome Brunet
1092297c33cSJerome Brunet	vddio_ao1v8: regulator-vddio_ao1v8 {
1102297c33cSJerome Brunet		compatible = "regulator-fixed";
1112297c33cSJerome Brunet		regulator-name = "VDDIO_AO1V8";
1122297c33cSJerome Brunet		regulator-min-microvolt = <1800000>;
1132297c33cSJerome Brunet		regulator-max-microvolt = <1800000>;
1142297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
1152297c33cSJerome Brunet		regulator-always-on;
1162297c33cSJerome Brunet	};
11773429cf2SJerome Brunet
11873429cf2SJerome Brunet	reserved-memory {
11973429cf2SJerome Brunet		/* TEE Reserved Memory */
12073429cf2SJerome Brunet		bl32_reserved: bl32@5000000 {
12173429cf2SJerome Brunet			reg = <0x0 0x05300000 0x0 0x2000000>;
12273429cf2SJerome Brunet			no-map;
12373429cf2SJerome Brunet		};
12473429cf2SJerome 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
14773429cf2SJerome Brunet&hdmi_tx {
14873429cf2SJerome Brunet	status = "okay";
14973429cf2SJerome Brunet	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
15073429cf2SJerome Brunet	pinctrl-names = "default";
15173429cf2SJerome Brunet};
15273429cf2SJerome Brunet
15373429cf2SJerome Brunet&hdmi_tx_tmds_port {
15473429cf2SJerome Brunet	hdmi_tx_tmds_out: endpoint {
15573429cf2SJerome Brunet		remote-endpoint = <&hdmi_connector_in>;
15673429cf2SJerome Brunet	};
15773429cf2SJerome Brunet};
15873429cf2SJerome Brunet
159d1c023afSNeil Armstrong&saradc {
160d1c023afSNeil Armstrong	status = "okay";
161d1c023afSNeil Armstrong	vref-supply = <&vddio_ao1v8>;
162d1c023afSNeil Armstrong};
163d1c023afSNeil Armstrong
164d1c023afSNeil Armstrong&uart_A {
165d1c023afSNeil Armstrong	status = "okay";
166d1c023afSNeil Armstrong	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
167d1c023afSNeil Armstrong	pinctrl-names = "default";
168d1c023afSNeil Armstrong	uart-has-rtscts;
169d1c023afSNeil Armstrong
170d1c023afSNeil Armstrong	bluetooth {
171d1c023afSNeil Armstrong		compatible = "brcm,bcm43438-bt";
172d1c023afSNeil Armstrong		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
173d1c023afSNeil Armstrong	};
174b7be1449SNeil Armstrong};
175b7be1449SNeil 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