xref: /openbmc/u-boot/arch/arm/dts/meson-gxl-s905x-libretech-cc.dts (revision 4549e789c1d58a8c48e8a20f1b4bdb83e978c954)
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&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};
171