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
472297c33cSJerome Brunet	dc_in: regulator-dc_in {
482297c33cSJerome Brunet		compatible = "regulator-fixed";
492297c33cSJerome Brunet		regulator-name = "DC_IN";
502297c33cSJerome Brunet		regulator-min-microvolt = <5000000>;
512297c33cSJerome Brunet		regulator-max-microvolt = <5000000>;
522297c33cSJerome Brunet		regulator-always-on;
532297c33cSJerome Brunet	};
542297c33cSJerome Brunet
552297c33cSJerome Brunet	emmc_1v8: regulator-emmc_1v8 {
562297c33cSJerome Brunet		compatible = "regulator-fixed";
572297c33cSJerome Brunet		regulator-name = "EMMC_1V8";
582297c33cSJerome Brunet		regulator-min-microvolt = <1800000>;
592297c33cSJerome Brunet		regulator-max-microvolt = <1800000>;
602297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
612297c33cSJerome Brunet		regulator-always-on;
622297c33cSJerome Brunet	};
632297c33cSJerome Brunet
64b7be1449SNeil Armstrong	memory@0 {
65b7be1449SNeil Armstrong		device_type = "memory";
66b7be1449SNeil Armstrong		reg = <0x0 0x0 0x0 0x40000000>;
67b7be1449SNeil Armstrong	};
68b7be1449SNeil Armstrong
69b7be1449SNeil Armstrong	reserved-memory {
70b7be1449SNeil Armstrong		/* TEE Reserved Memory */
71b7be1449SNeil Armstrong		bl32_reserved: bl32@5000000 {
72b7be1449SNeil Armstrong			reg = <0x0 0x05300000 0x0 0x2000000>;
73b7be1449SNeil Armstrong			no-map;
74b7be1449SNeil Armstrong		};
75b7be1449SNeil Armstrong	};
762297c33cSJerome Brunet
772297c33cSJerome Brunet	vddao_3v3: regulator-vddao_3v3 {
782297c33cSJerome Brunet		compatible = "regulator-fixed";
792297c33cSJerome Brunet		regulator-name = "VDDAO_3V3";
802297c33cSJerome Brunet		regulator-min-microvolt = <3300000>;
812297c33cSJerome Brunet		regulator-max-microvolt = <3300000>;
822297c33cSJerome Brunet		vin-supply = <&dc_in>;
832297c33cSJerome Brunet		regulator-always-on;
842297c33cSJerome Brunet	};
852297c33cSJerome Brunet
862297c33cSJerome Brunet	vddao_3v3_t: regultor-vddao_3v3_t {
872297c33cSJerome Brunet		compatible = "regulator-fixed";
882297c33cSJerome Brunet		regulator-name = "VDDAO_3V3_T";
892297c33cSJerome Brunet		regulator-min-microvolt = <3300000>;
902297c33cSJerome Brunet		regulator-max-microvolt = <3300000>;
912297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
922297c33cSJerome Brunet		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
932297c33cSJerome Brunet		enable-active-high;
942297c33cSJerome Brunet	};
952297c33cSJerome Brunet
962297c33cSJerome Brunet	vddio_ao1v8: regulator-vddio_ao1v8 {
972297c33cSJerome Brunet		compatible = "regulator-fixed";
982297c33cSJerome Brunet		regulator-name = "VDDIO_AO1V8";
992297c33cSJerome Brunet		regulator-min-microvolt = <1800000>;
1002297c33cSJerome Brunet		regulator-max-microvolt = <1800000>;
1012297c33cSJerome Brunet		vin-supply = <&vddao_3v3>;
1022297c33cSJerome Brunet		regulator-always-on;
1032297c33cSJerome Brunet	};
104d1c023afSNeil Armstrong};
1052297c33cSJerome Brunet
106d1c023afSNeil Armstrong&saradc {
107d1c023afSNeil Armstrong	status = "okay";
108d1c023afSNeil Armstrong	vref-supply = <&vddio_ao1v8>;
109d1c023afSNeil Armstrong};
110d1c023afSNeil Armstrong
111d1c023afSNeil Armstrong&uart_A {
112d1c023afSNeil Armstrong	status = "okay";
113d1c023afSNeil Armstrong	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
114d1c023afSNeil Armstrong	pinctrl-names = "default";
115d1c023afSNeil Armstrong	uart-has-rtscts;
116d1c023afSNeil Armstrong
117d1c023afSNeil Armstrong	bluetooth {
118d1c023afSNeil Armstrong		compatible = "brcm,bcm43438-bt";
119d1c023afSNeil Armstrong		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
120d1c023afSNeil Armstrong	};
121b7be1449SNeil Armstrong};
122b7be1449SNeil Armstrong
123b7be1449SNeil Armstrong&uart_AO {
124b7be1449SNeil Armstrong	status = "okay";
12551d215c1SNeil Armstrong	pinctrl-0 = <&uart_ao_a_pins>;
12651d215c1SNeil Armstrong	pinctrl-names = "default";
127b7be1449SNeil Armstrong};
12841cc4551SNeil Armstrong
12941cc4551SNeil Armstrong&usb {
13041cc4551SNeil Armstrong	status = "okay";
13141cc4551SNeil Armstrong	dr_mode = "host";
13241cc4551SNeil Armstrong};
133