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 485a2ea2f7SJerome Brunet emmc_pwrseq: emmc-pwrseq { 495a2ea2f7SJerome Brunet compatible = "mmc-pwrseq-emmc"; 505a2ea2f7SJerome Brunet reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 515a2ea2f7SJerome Brunet }; 525a2ea2f7SJerome Brunet 53912a3395SNeil Armstrong hdmi-connector { 54912a3395SNeil Armstrong compatible = "hdmi-connector"; 55912a3395SNeil Armstrong type = "a"; 56912a3395SNeil Armstrong 57912a3395SNeil Armstrong port { 58912a3395SNeil Armstrong hdmi_connector_in: endpoint { 59912a3395SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 60912a3395SNeil Armstrong }; 61912a3395SNeil Armstrong }; 62912a3395SNeil Armstrong }; 63912a3395SNeil Armstrong 64b7be1449SNeil Armstrong memory@0 { 65b7be1449SNeil Armstrong device_type = "memory"; 66b7be1449SNeil Armstrong reg = <0x0 0x0 0x0 0x40000000>; 67b7be1449SNeil Armstrong }; 68b7be1449SNeil Armstrong 6973429cf2SJerome Brunet ao_5v: regulator-ao_5v { 7073429cf2SJerome Brunet compatible = "regulator-fixed"; 7173429cf2SJerome Brunet regulator-name = "AO_5V"; 7273429cf2SJerome Brunet regulator-min-microvolt = <5000000>; 7373429cf2SJerome Brunet regulator-max-microvolt = <5000000>; 7473429cf2SJerome Brunet vin-supply = <&dc_in>; 7573429cf2SJerome Brunet regulator-always-on; 76b7be1449SNeil Armstrong }; 7773429cf2SJerome Brunet 7873429cf2SJerome Brunet dc_in: regulator-dc_in { 7973429cf2SJerome Brunet compatible = "regulator-fixed"; 8073429cf2SJerome Brunet regulator-name = "DC_IN"; 8173429cf2SJerome Brunet regulator-min-microvolt = <5000000>; 8273429cf2SJerome Brunet regulator-max-microvolt = <5000000>; 8373429cf2SJerome Brunet regulator-always-on; 8473429cf2SJerome Brunet }; 8573429cf2SJerome Brunet 8673429cf2SJerome Brunet emmc_1v8: regulator-emmc_1v8 { 8773429cf2SJerome Brunet compatible = "regulator-fixed"; 8873429cf2SJerome Brunet regulator-name = "EMMC_1V8"; 8973429cf2SJerome Brunet regulator-min-microvolt = <1800000>; 9073429cf2SJerome Brunet regulator-max-microvolt = <1800000>; 9173429cf2SJerome Brunet vin-supply = <&vddao_3v3>; 9273429cf2SJerome Brunet regulator-always-on; 93b7be1449SNeil Armstrong }; 942297c33cSJerome Brunet 952297c33cSJerome Brunet vddao_3v3: regulator-vddao_3v3 { 962297c33cSJerome Brunet compatible = "regulator-fixed"; 972297c33cSJerome Brunet regulator-name = "VDDAO_3V3"; 982297c33cSJerome Brunet regulator-min-microvolt = <3300000>; 992297c33cSJerome Brunet regulator-max-microvolt = <3300000>; 1002297c33cSJerome Brunet vin-supply = <&dc_in>; 1012297c33cSJerome Brunet regulator-always-on; 1022297c33cSJerome Brunet }; 1032297c33cSJerome Brunet 1042297c33cSJerome Brunet vddao_3v3_t: regultor-vddao_3v3_t { 1052297c33cSJerome Brunet compatible = "regulator-fixed"; 1062297c33cSJerome Brunet regulator-name = "VDDAO_3V3_T"; 1072297c33cSJerome Brunet regulator-min-microvolt = <3300000>; 1082297c33cSJerome Brunet regulator-max-microvolt = <3300000>; 1092297c33cSJerome Brunet vin-supply = <&vddao_3v3>; 1102297c33cSJerome Brunet gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 1112297c33cSJerome Brunet enable-active-high; 1122297c33cSJerome Brunet }; 1132297c33cSJerome Brunet 1142297c33cSJerome Brunet vddio_ao1v8: regulator-vddio_ao1v8 { 1152297c33cSJerome Brunet compatible = "regulator-fixed"; 1162297c33cSJerome Brunet regulator-name = "VDDIO_AO1V8"; 1172297c33cSJerome Brunet regulator-min-microvolt = <1800000>; 1182297c33cSJerome Brunet regulator-max-microvolt = <1800000>; 1192297c33cSJerome Brunet vin-supply = <&vddao_3v3>; 1202297c33cSJerome Brunet regulator-always-on; 1212297c33cSJerome Brunet }; 12273429cf2SJerome Brunet 12373429cf2SJerome Brunet reserved-memory { 12473429cf2SJerome Brunet /* TEE Reserved Memory */ 12573429cf2SJerome Brunet bl32_reserved: bl32@5000000 { 12673429cf2SJerome Brunet reg = <0x0 0x05300000 0x0 0x2000000>; 12773429cf2SJerome Brunet no-map; 12873429cf2SJerome Brunet }; 12973429cf2SJerome Brunet }; 130d1c023afSNeil Armstrong}; 1312297c33cSJerome Brunet 132912a3395SNeil Armstrong&cec_AO { 133912a3395SNeil Armstrong pinctrl-0 = <&cec_ao_a_h_pins>; 134912a3395SNeil Armstrong pinctrl-names = "default"; 135912a3395SNeil Armstrong status = "disabled"; 136912a3395SNeil Armstrong hdmi-phandle = <&hdmi_tx>; 137912a3395SNeil Armstrong}; 138912a3395SNeil Armstrong 139912a3395SNeil Armstrong&cecb_AO { 140912a3395SNeil Armstrong pinctrl-0 = <&cec_ao_b_h_pins>; 141912a3395SNeil Armstrong pinctrl-names = "default"; 142912a3395SNeil Armstrong status = "okay"; 143912a3395SNeil Armstrong hdmi-phandle = <&hdmi_tx>; 144912a3395SNeil Armstrong}; 145912a3395SNeil Armstrong 146912a3395SNeil Armstrong&cvbs_vdac_port { 147912a3395SNeil Armstrong cvbs_vdac_out: endpoint { 148912a3395SNeil Armstrong remote-endpoint = <&cvbs_connector_in>; 149912a3395SNeil Armstrong }; 150912a3395SNeil Armstrong}; 151912a3395SNeil Armstrong 15273429cf2SJerome Brunet&hdmi_tx { 15373429cf2SJerome Brunet status = "okay"; 15473429cf2SJerome Brunet pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 15573429cf2SJerome Brunet pinctrl-names = "default"; 15673429cf2SJerome Brunet}; 15773429cf2SJerome Brunet 15873429cf2SJerome Brunet&hdmi_tx_tmds_port { 15973429cf2SJerome Brunet hdmi_tx_tmds_out: endpoint { 16073429cf2SJerome Brunet remote-endpoint = <&hdmi_connector_in>; 16173429cf2SJerome Brunet }; 16273429cf2SJerome Brunet}; 16373429cf2SJerome Brunet 164d1c023afSNeil Armstrong&saradc { 165d1c023afSNeil Armstrong status = "okay"; 166d1c023afSNeil Armstrong vref-supply = <&vddio_ao1v8>; 167d1c023afSNeil Armstrong}; 168d1c023afSNeil Armstrong 1695a2ea2f7SJerome Brunet/* SD card */ 1705a2ea2f7SJerome Brunet&sd_emmc_b { 1715a2ea2f7SJerome Brunet status = "okay"; 1725a2ea2f7SJerome Brunet pinctrl-0 = <&sdcard_c_pins>; 1735a2ea2f7SJerome Brunet pinctrl-1 = <&sdcard_clk_gate_c_pins>; 1745a2ea2f7SJerome Brunet pinctrl-names = "default", "clk-gate"; 1755a2ea2f7SJerome Brunet 1765a2ea2f7SJerome Brunet bus-width = <4>; 1775a2ea2f7SJerome Brunet cap-sd-highspeed; 1785a2ea2f7SJerome Brunet max-frequency = <50000000>; 1795a2ea2f7SJerome Brunet disable-wp; 1805a2ea2f7SJerome Brunet 1815a2ea2f7SJerome Brunet cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 1825a2ea2f7SJerome Brunet vmmc-supply = <&vddao_3v3>; 1835a2ea2f7SJerome Brunet vqmmc-supply = <&vddao_3v3>; 1845a2ea2f7SJerome Brunet}; 1855a2ea2f7SJerome Brunet 1865a2ea2f7SJerome Brunet/* eMMC */ 1875a2ea2f7SJerome Brunet&sd_emmc_c { 1885a2ea2f7SJerome Brunet status = "okay"; 1895a2ea2f7SJerome Brunet pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 1905a2ea2f7SJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 1915a2ea2f7SJerome Brunet pinctrl-names = "default", "clk-gate"; 1925a2ea2f7SJerome Brunet 1935a2ea2f7SJerome Brunet bus-width = <8>; 1945a2ea2f7SJerome Brunet cap-mmc-highspeed; 1955a2ea2f7SJerome Brunet mmc-ddr-1_8v; 1965a2ea2f7SJerome Brunet mmc-hs200-1_8v; 1975a2ea2f7SJerome Brunet max-frequency = <200000000>; 1985a2ea2f7SJerome Brunet non-removable; 1995a2ea2f7SJerome Brunet disable-wp; 2005a2ea2f7SJerome Brunet 2015a2ea2f7SJerome Brunet mmc-pwrseq = <&emmc_pwrseq>; 2025a2ea2f7SJerome Brunet vmmc-supply = <&vddao_3v3>; 2035a2ea2f7SJerome Brunet vqmmc-supply = <&emmc_1v8>; 2045a2ea2f7SJerome Brunet}; 2055a2ea2f7SJerome Brunet 206d1c023afSNeil Armstrong&uart_A { 207d1c023afSNeil Armstrong status = "okay"; 208d1c023afSNeil Armstrong pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 209d1c023afSNeil Armstrong pinctrl-names = "default"; 210d1c023afSNeil Armstrong uart-has-rtscts; 211d1c023afSNeil Armstrong 212d1c023afSNeil Armstrong bluetooth { 213d1c023afSNeil Armstrong compatible = "brcm,bcm43438-bt"; 214d1c023afSNeil Armstrong shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 215d1c023afSNeil Armstrong }; 216b7be1449SNeil Armstrong}; 217b7be1449SNeil Armstrong 218b7be1449SNeil Armstrong&uart_AO { 219b7be1449SNeil Armstrong status = "okay"; 22051d215c1SNeil Armstrong pinctrl-0 = <&uart_ao_a_pins>; 22151d215c1SNeil Armstrong pinctrl-names = "default"; 222b7be1449SNeil Armstrong}; 22341cc4551SNeil Armstrong 22441cc4551SNeil Armstrong&usb { 22541cc4551SNeil Armstrong status = "okay"; 22641cc4551SNeil Armstrong dr_mode = "host"; 22741cc4551SNeil Armstrong}; 228