1*96e7b5a1SNeil Armstrong/* 2*96e7b5a1SNeil Armstrong * Copyright (c) 2017 BayLibre, SAS. 3*96e7b5a1SNeil Armstrong * Author: Neil Armstrong <narmstrong@baylibre.com> 4*96e7b5a1SNeil Armstrong * Author: Jerome Brunet <jbrunet@baylibre.com> 5*96e7b5a1SNeil Armstrong * 6*96e7b5a1SNeil Armstrong * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7*96e7b5a1SNeil Armstrong */ 8*96e7b5a1SNeil Armstrong 9*96e7b5a1SNeil Armstrong/dts-v1/; 10*96e7b5a1SNeil Armstrong 11*96e7b5a1SNeil Armstrong#include <dt-bindings/input/input.h> 12*96e7b5a1SNeil Armstrong 13*96e7b5a1SNeil Armstrong#include "meson-gxl-s905x.dtsi" 14*96e7b5a1SNeil Armstrong 15*96e7b5a1SNeil Armstrong/ { 16*96e7b5a1SNeil Armstrong compatible = "libretech,cc", "amlogic,s905x", "amlogic,meson-gxl"; 17*96e7b5a1SNeil Armstrong model = "Libre Technology CC"; 18*96e7b5a1SNeil Armstrong 19*96e7b5a1SNeil Armstrong aliases { 20*96e7b5a1SNeil Armstrong serial0 = &uart_AO; 21*96e7b5a1SNeil Armstrong }; 22*96e7b5a1SNeil Armstrong 23*96e7b5a1SNeil Armstrong chosen { 24*96e7b5a1SNeil Armstrong stdout-path = "serial0:115200n8"; 25*96e7b5a1SNeil Armstrong }; 26*96e7b5a1SNeil Armstrong 27*96e7b5a1SNeil Armstrong cvbs-connector { 28*96e7b5a1SNeil Armstrong compatible = "composite-video-connector"; 29*96e7b5a1SNeil Armstrong 30*96e7b5a1SNeil Armstrong port { 31*96e7b5a1SNeil Armstrong cvbs_connector_in: endpoint { 32*96e7b5a1SNeil Armstrong remote-endpoint = <&cvbs_vdac_out>; 33*96e7b5a1SNeil Armstrong }; 34*96e7b5a1SNeil Armstrong }; 35*96e7b5a1SNeil Armstrong }; 36*96e7b5a1SNeil Armstrong 37*96e7b5a1SNeil Armstrong emmc_pwrseq: emmc-pwrseq { 38*96e7b5a1SNeil Armstrong compatible = "mmc-pwrseq-emmc"; 39*96e7b5a1SNeil Armstrong reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 40*96e7b5a1SNeil Armstrong }; 41*96e7b5a1SNeil Armstrong 42*96e7b5a1SNeil Armstrong hdmi-connector { 43*96e7b5a1SNeil Armstrong compatible = "hdmi-connector"; 44*96e7b5a1SNeil Armstrong type = "a"; 45*96e7b5a1SNeil Armstrong 46*96e7b5a1SNeil Armstrong port { 47*96e7b5a1SNeil Armstrong hdmi_connector_in: endpoint { 48*96e7b5a1SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 49*96e7b5a1SNeil Armstrong }; 50*96e7b5a1SNeil Armstrong }; 51*96e7b5a1SNeil Armstrong }; 52*96e7b5a1SNeil Armstrong 53*96e7b5a1SNeil Armstrong leds { 54*96e7b5a1SNeil Armstrong compatible = "gpio-leds"; 55*96e7b5a1SNeil Armstrong 56*96e7b5a1SNeil Armstrong system { 57*96e7b5a1SNeil Armstrong label = "librecomputer:system-status"; 58*96e7b5a1SNeil Armstrong gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; 59*96e7b5a1SNeil Armstrong default-state = "on"; 60*96e7b5a1SNeil Armstrong panic-indicator; 61*96e7b5a1SNeil Armstrong }; 62*96e7b5a1SNeil Armstrong 63*96e7b5a1SNeil Armstrong blue { 64*96e7b5a1SNeil Armstrong label = "librecomputer:blue"; 65*96e7b5a1SNeil Armstrong gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; 66*96e7b5a1SNeil Armstrong linux,default-trigger = "heartbeat"; 67*96e7b5a1SNeil Armstrong }; 68*96e7b5a1SNeil Armstrong }; 69*96e7b5a1SNeil Armstrong 70*96e7b5a1SNeil Armstrong memory@0 { 71*96e7b5a1SNeil Armstrong device_type = "memory"; 72*96e7b5a1SNeil Armstrong reg = <0x0 0x0 0x0 0x80000000>; 73*96e7b5a1SNeil Armstrong }; 74*96e7b5a1SNeil Armstrong 75*96e7b5a1SNeil Armstrong vcc_3v3: regulator-vcc_3v3 { 76*96e7b5a1SNeil Armstrong compatible = "regulator-fixed"; 77*96e7b5a1SNeil Armstrong regulator-name = "VCC_3V3"; 78*96e7b5a1SNeil Armstrong regulator-min-microvolt = <3300000>; 79*96e7b5a1SNeil Armstrong regulator-max-microvolt = <3300000>; 80*96e7b5a1SNeil Armstrong }; 81*96e7b5a1SNeil Armstrong 82*96e7b5a1SNeil Armstrong vcc_card: regulator-vcc-card { 83*96e7b5a1SNeil Armstrong compatible = "regulator-gpio"; 84*96e7b5a1SNeil Armstrong 85*96e7b5a1SNeil Armstrong regulator-name = "VCC_CARD"; 86*96e7b5a1SNeil Armstrong regulator-min-microvolt = <1800000>; 87*96e7b5a1SNeil Armstrong regulator-max-microvolt = <3300000>; 88*96e7b5a1SNeil Armstrong 89*96e7b5a1SNeil Armstrong gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; 90*96e7b5a1SNeil Armstrong gpios-states = <0>; 91*96e7b5a1SNeil Armstrong 92*96e7b5a1SNeil Armstrong states = <3300000 0>, 93*96e7b5a1SNeil Armstrong <1800000 1>; 94*96e7b5a1SNeil Armstrong }; 95*96e7b5a1SNeil Armstrong 96*96e7b5a1SNeil Armstrong vddio_boot: regulator-vddio_boot { 97*96e7b5a1SNeil Armstrong compatible = "regulator-fixed"; 98*96e7b5a1SNeil Armstrong regulator-name = "VDDIO_BOOT"; 99*96e7b5a1SNeil Armstrong regulator-min-microvolt = <3300000>; 100*96e7b5a1SNeil Armstrong regulator-max-microvolt = <3300000>; 101*96e7b5a1SNeil Armstrong }; 102*96e7b5a1SNeil Armstrong}; 103*96e7b5a1SNeil Armstrong 104*96e7b5a1SNeil Armstrong&cvbs_vdac_port { 105*96e7b5a1SNeil Armstrong cvbs_vdac_out: endpoint { 106*96e7b5a1SNeil Armstrong remote-endpoint = <&cvbs_connector_in>; 107*96e7b5a1SNeil Armstrong }; 108*96e7b5a1SNeil Armstrong}; 109*96e7b5a1SNeil Armstrong 110*96e7b5a1SNeil Armstrongðmac { 111*96e7b5a1SNeil Armstrong status = "okay"; 112*96e7b5a1SNeil Armstrong}; 113*96e7b5a1SNeil Armstrong 114*96e7b5a1SNeil Armstrong&ir { 115*96e7b5a1SNeil Armstrong status = "okay"; 116*96e7b5a1SNeil Armstrong pinctrl-0 = <&remote_input_ao_pins>; 117*96e7b5a1SNeil Armstrong pinctrl-names = "default"; 118*96e7b5a1SNeil Armstrong}; 119*96e7b5a1SNeil Armstrong 120*96e7b5a1SNeil Armstrong&hdmi_tx { 121*96e7b5a1SNeil Armstrong status = "okay"; 122*96e7b5a1SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 123*96e7b5a1SNeil Armstrong pinctrl-names = "default"; 124*96e7b5a1SNeil Armstrong}; 125*96e7b5a1SNeil Armstrong 126*96e7b5a1SNeil Armstrong&hdmi_tx_tmds_port { 127*96e7b5a1SNeil Armstrong hdmi_tx_tmds_out: endpoint { 128*96e7b5a1SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 129*96e7b5a1SNeil Armstrong }; 130*96e7b5a1SNeil Armstrong}; 131*96e7b5a1SNeil Armstrong 132*96e7b5a1SNeil Armstrong/* SD card */ 133*96e7b5a1SNeil Armstrong&sd_emmc_b { 134*96e7b5a1SNeil Armstrong status = "okay"; 135*96e7b5a1SNeil Armstrong pinctrl-0 = <&sdcard_pins>; 136*96e7b5a1SNeil Armstrong pinctrl-names = "default"; 137*96e7b5a1SNeil Armstrong 138*96e7b5a1SNeil Armstrong bus-width = <4>; 139*96e7b5a1SNeil Armstrong cap-sd-highspeed; 140*96e7b5a1SNeil Armstrong max-frequency = <100000000>; 141*96e7b5a1SNeil Armstrong disable-wp; 142*96e7b5a1SNeil Armstrong 143*96e7b5a1SNeil Armstrong cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 144*96e7b5a1SNeil Armstrong cd-inverted; 145*96e7b5a1SNeil Armstrong 146*96e7b5a1SNeil Armstrong vmmc-supply = <&vcc_3v3>; 147*96e7b5a1SNeil Armstrong vqmmc-supply = <&vcc_card>; 148*96e7b5a1SNeil Armstrong}; 149*96e7b5a1SNeil Armstrong 150*96e7b5a1SNeil Armstrong/* eMMC */ 151*96e7b5a1SNeil Armstrong&sd_emmc_c { 152*96e7b5a1SNeil Armstrong status = "okay"; 153*96e7b5a1SNeil Armstrong pinctrl-0 = <&emmc_pins>; 154*96e7b5a1SNeil Armstrong pinctrl-names = "default"; 155*96e7b5a1SNeil Armstrong 156*96e7b5a1SNeil Armstrong bus-width = <8>; 157*96e7b5a1SNeil Armstrong cap-mmc-highspeed; 158*96e7b5a1SNeil Armstrong max-frequency = <50000000>; 159*96e7b5a1SNeil Armstrong non-removable; 160*96e7b5a1SNeil Armstrong disable-wp; 161*96e7b5a1SNeil Armstrong 162*96e7b5a1SNeil Armstrong mmc-pwrseq = <&emmc_pwrseq>; 163*96e7b5a1SNeil Armstrong vmmc-supply = <&vcc_3v3>; 164*96e7b5a1SNeil Armstrong vqmmc-supply = <&vddio_boot>; 165*96e7b5a1SNeil Armstrong}; 166*96e7b5a1SNeil Armstrong 167*96e7b5a1SNeil Armstrong&uart_AO { 168*96e7b5a1SNeil Armstrong status = "okay"; 169*96e7b5a1SNeil Armstrong pinctrl-0 = <&uart_ao_a_pins>; 170*96e7b5a1SNeil Armstrong pinctrl-names = "default"; 171*96e7b5a1SNeil Armstrong}; 172