1*4549e789STom Rini// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 296e7b5a1SNeil Armstrong/* 396e7b5a1SNeil Armstrong * Copyright (c) 2017 BayLibre, SAS. 496e7b5a1SNeil Armstrong * Author: Neil Armstrong <narmstrong@baylibre.com> 596e7b5a1SNeil Armstrong * Author: Jerome Brunet <jbrunet@baylibre.com> 696e7b5a1SNeil Armstrong */ 796e7b5a1SNeil Armstrong 896e7b5a1SNeil Armstrong/dts-v1/; 996e7b5a1SNeil Armstrong 1096e7b5a1SNeil Armstrong#include <dt-bindings/input/input.h> 1196e7b5a1SNeil Armstrong 1296e7b5a1SNeil Armstrong#include "meson-gxl-s905x.dtsi" 1396e7b5a1SNeil Armstrong 1496e7b5a1SNeil Armstrong/ { 1596e7b5a1SNeil Armstrong compatible = "libretech,cc", "amlogic,s905x", "amlogic,meson-gxl"; 1696e7b5a1SNeil Armstrong model = "Libre Technology CC"; 1796e7b5a1SNeil Armstrong 1896e7b5a1SNeil Armstrong aliases { 1996e7b5a1SNeil Armstrong serial0 = &uart_AO; 2096e7b5a1SNeil Armstrong }; 2196e7b5a1SNeil Armstrong 2296e7b5a1SNeil Armstrong chosen { 2396e7b5a1SNeil Armstrong stdout-path = "serial0:115200n8"; 2496e7b5a1SNeil Armstrong }; 2596e7b5a1SNeil Armstrong 2696e7b5a1SNeil Armstrong cvbs-connector { 2796e7b5a1SNeil Armstrong compatible = "composite-video-connector"; 2896e7b5a1SNeil Armstrong 2996e7b5a1SNeil Armstrong port { 3096e7b5a1SNeil Armstrong cvbs_connector_in: endpoint { 3196e7b5a1SNeil Armstrong remote-endpoint = <&cvbs_vdac_out>; 3296e7b5a1SNeil Armstrong }; 3396e7b5a1SNeil Armstrong }; 3496e7b5a1SNeil Armstrong }; 3596e7b5a1SNeil Armstrong 3696e7b5a1SNeil Armstrong emmc_pwrseq: emmc-pwrseq { 3796e7b5a1SNeil Armstrong compatible = "mmc-pwrseq-emmc"; 3896e7b5a1SNeil Armstrong reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 3996e7b5a1SNeil Armstrong }; 4096e7b5a1SNeil Armstrong 4196e7b5a1SNeil Armstrong hdmi-connector { 4296e7b5a1SNeil Armstrong compatible = "hdmi-connector"; 4396e7b5a1SNeil Armstrong type = "a"; 4496e7b5a1SNeil Armstrong 4596e7b5a1SNeil Armstrong port { 4696e7b5a1SNeil Armstrong hdmi_connector_in: endpoint { 4796e7b5a1SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 4896e7b5a1SNeil Armstrong }; 4996e7b5a1SNeil Armstrong }; 5096e7b5a1SNeil Armstrong }; 5196e7b5a1SNeil Armstrong 5296e7b5a1SNeil Armstrong leds { 5396e7b5a1SNeil Armstrong compatible = "gpio-leds"; 5496e7b5a1SNeil Armstrong 5596e7b5a1SNeil Armstrong system { 5696e7b5a1SNeil Armstrong label = "librecomputer:system-status"; 5796e7b5a1SNeil Armstrong gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; 5896e7b5a1SNeil Armstrong default-state = "on"; 5996e7b5a1SNeil Armstrong panic-indicator; 6096e7b5a1SNeil Armstrong }; 6196e7b5a1SNeil Armstrong 6296e7b5a1SNeil Armstrong blue { 6396e7b5a1SNeil Armstrong label = "librecomputer:blue"; 6496e7b5a1SNeil Armstrong gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; 6596e7b5a1SNeil Armstrong linux,default-trigger = "heartbeat"; 6696e7b5a1SNeil Armstrong }; 6796e7b5a1SNeil Armstrong }; 6896e7b5a1SNeil Armstrong 6996e7b5a1SNeil Armstrong memory@0 { 7096e7b5a1SNeil Armstrong device_type = "memory"; 7196e7b5a1SNeil Armstrong reg = <0x0 0x0 0x0 0x80000000>; 7296e7b5a1SNeil Armstrong }; 7396e7b5a1SNeil Armstrong 7496e7b5a1SNeil Armstrong vcc_3v3: regulator-vcc_3v3 { 7596e7b5a1SNeil Armstrong compatible = "regulator-fixed"; 7696e7b5a1SNeil Armstrong regulator-name = "VCC_3V3"; 7796e7b5a1SNeil Armstrong regulator-min-microvolt = <3300000>; 7896e7b5a1SNeil Armstrong regulator-max-microvolt = <3300000>; 7996e7b5a1SNeil Armstrong }; 8096e7b5a1SNeil Armstrong 8196e7b5a1SNeil Armstrong vcc_card: regulator-vcc-card { 8296e7b5a1SNeil Armstrong compatible = "regulator-gpio"; 8396e7b5a1SNeil Armstrong 8496e7b5a1SNeil Armstrong regulator-name = "VCC_CARD"; 8596e7b5a1SNeil Armstrong regulator-min-microvolt = <1800000>; 8696e7b5a1SNeil Armstrong regulator-max-microvolt = <3300000>; 8796e7b5a1SNeil Armstrong 8896e7b5a1SNeil Armstrong gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; 8996e7b5a1SNeil Armstrong gpios-states = <0>; 9096e7b5a1SNeil Armstrong 9196e7b5a1SNeil Armstrong states = <3300000 0>, 9296e7b5a1SNeil Armstrong <1800000 1>; 9396e7b5a1SNeil Armstrong }; 9496e7b5a1SNeil Armstrong 9596e7b5a1SNeil Armstrong vddio_boot: regulator-vddio_boot { 9696e7b5a1SNeil Armstrong compatible = "regulator-fixed"; 9796e7b5a1SNeil Armstrong regulator-name = "VDDIO_BOOT"; 9896e7b5a1SNeil Armstrong regulator-min-microvolt = <3300000>; 9996e7b5a1SNeil Armstrong regulator-max-microvolt = <3300000>; 10096e7b5a1SNeil Armstrong }; 10196e7b5a1SNeil Armstrong}; 10296e7b5a1SNeil Armstrong 10396e7b5a1SNeil Armstrong&cvbs_vdac_port { 10496e7b5a1SNeil Armstrong cvbs_vdac_out: endpoint { 10596e7b5a1SNeil Armstrong remote-endpoint = <&cvbs_connector_in>; 10696e7b5a1SNeil Armstrong }; 10796e7b5a1SNeil Armstrong}; 10896e7b5a1SNeil Armstrong 10996e7b5a1SNeil Armstrongðmac { 11096e7b5a1SNeil Armstrong status = "okay"; 11196e7b5a1SNeil Armstrong}; 11296e7b5a1SNeil Armstrong 11396e7b5a1SNeil Armstrong&ir { 11496e7b5a1SNeil Armstrong status = "okay"; 11596e7b5a1SNeil Armstrong pinctrl-0 = <&remote_input_ao_pins>; 11696e7b5a1SNeil Armstrong pinctrl-names = "default"; 11796e7b5a1SNeil Armstrong}; 11896e7b5a1SNeil Armstrong 11996e7b5a1SNeil Armstrong&hdmi_tx { 12096e7b5a1SNeil Armstrong status = "okay"; 12196e7b5a1SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 12296e7b5a1SNeil Armstrong pinctrl-names = "default"; 12396e7b5a1SNeil Armstrong}; 12496e7b5a1SNeil Armstrong 12596e7b5a1SNeil Armstrong&hdmi_tx_tmds_port { 12696e7b5a1SNeil Armstrong hdmi_tx_tmds_out: endpoint { 12796e7b5a1SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 12896e7b5a1SNeil Armstrong }; 12996e7b5a1SNeil Armstrong}; 13096e7b5a1SNeil Armstrong 13196e7b5a1SNeil Armstrong/* SD card */ 13296e7b5a1SNeil Armstrong&sd_emmc_b { 13396e7b5a1SNeil Armstrong status = "okay"; 13496e7b5a1SNeil Armstrong pinctrl-0 = <&sdcard_pins>; 13596e7b5a1SNeil Armstrong pinctrl-names = "default"; 13696e7b5a1SNeil Armstrong 13796e7b5a1SNeil Armstrong bus-width = <4>; 13896e7b5a1SNeil Armstrong cap-sd-highspeed; 13996e7b5a1SNeil Armstrong max-frequency = <100000000>; 14096e7b5a1SNeil Armstrong disable-wp; 14196e7b5a1SNeil Armstrong 14296e7b5a1SNeil Armstrong cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 14396e7b5a1SNeil Armstrong cd-inverted; 14496e7b5a1SNeil Armstrong 14596e7b5a1SNeil Armstrong vmmc-supply = <&vcc_3v3>; 14696e7b5a1SNeil Armstrong vqmmc-supply = <&vcc_card>; 14796e7b5a1SNeil Armstrong}; 14896e7b5a1SNeil Armstrong 14996e7b5a1SNeil Armstrong/* eMMC */ 15096e7b5a1SNeil Armstrong&sd_emmc_c { 15196e7b5a1SNeil Armstrong status = "okay"; 15296e7b5a1SNeil Armstrong pinctrl-0 = <&emmc_pins>; 15396e7b5a1SNeil Armstrong pinctrl-names = "default"; 15496e7b5a1SNeil Armstrong 15596e7b5a1SNeil Armstrong bus-width = <8>; 15696e7b5a1SNeil Armstrong cap-mmc-highspeed; 15796e7b5a1SNeil Armstrong max-frequency = <50000000>; 15896e7b5a1SNeil Armstrong non-removable; 15996e7b5a1SNeil Armstrong disable-wp; 16096e7b5a1SNeil Armstrong 16196e7b5a1SNeil Armstrong mmc-pwrseq = <&emmc_pwrseq>; 16296e7b5a1SNeil Armstrong vmmc-supply = <&vcc_3v3>; 16396e7b5a1SNeil Armstrong vqmmc-supply = <&vddio_boot>; 16496e7b5a1SNeil Armstrong}; 16596e7b5a1SNeil Armstrong 16696e7b5a1SNeil Armstrong&uart_AO { 16796e7b5a1SNeil Armstrong status = "okay"; 16896e7b5a1SNeil Armstrong pinctrl-0 = <&uart_ao_a_pins>; 16996e7b5a1SNeil Armstrong pinctrl-names = "default"; 17096e7b5a1SNeil Armstrong}; 171