blob: dc2acf4d16f4eaa02410b5f34c92e1c25fcb4424 [file] [log] [blame]
Tom Rini4549e782018-05-06 18:27:01 -04001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Neil Armstrong96e7b5a2017-11-27 10:16:19 +01002/*
3 * Copyright (c) 2017 BayLibre, SAS.
4 * Author: Neil Armstrong <narmstrong@baylibre.com>
5 * Author: Jerome Brunet <jbrunet@baylibre.com>
Neil Armstrong96e7b5a2017-11-27 10:16:19 +01006 */
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&ethmac {
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};