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