blob: b20a710da7bc6bf9553051ff4d9c0942f4f732bc [file] [log] [blame]
Chen-Yu Tsai6ca35862017-12-05 14:06:15 +08001/*
2 * Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org>
3 *
4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 */
6
7/dts-v1/;
8#include "sun8i-h3.dtsi"
9
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12
13/ {
14 model = "Libre Computer Board ALL-H3-CC H3";
15 compatible = "libretech,all-h3-cc-h3", "allwinner,sun8i-h3";
16
17 aliases {
18 ethernet0 = &emac;
19 serial0 = &uart0;
20 };
21
22 chosen {
23 stdout-path = "serial0:115200n8";
24 };
25
Jernej Skrabecf0842bc2018-03-01 22:34:41 +010026 connector {
27 compatible = "hdmi-connector";
28 type = "a";
29
30 port {
31 hdmi_con_in: endpoint {
32 remote-endpoint = <&hdmi_out_con>;
33 };
34 };
35 };
36
Chen-Yu Tsai6ca35862017-12-05 14:06:15 +080037 leds {
38 compatible = "gpio-leds";
39
40 pwr_led {
41 label = "librecomputer:green:pwr";
42 gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
43 default-state = "on";
44 };
45
46 status_led {
47 label = "librecomputer:blue:status";
48 gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */
49 };
50 };
51
52 gpio_keys {
53 compatible = "gpio-keys";
54
55 power {
56 label = "power";
57 linux,code = <KEY_POWER>;
58 gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
59 };
60 };
61
62 reg_vcc1v2: vcc1v2 {
63 compatible = "regulator-fixed";
64 regulator-name = "vcc1v2";
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
67 regulator-always-on;
68 regulator-boot-on;
69 vin-supply = <&reg_vcc5v0>;
70 gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
71 enable-active-high;
72 };
73
74 reg_vcc3v3: vcc3v3 {
75 compatible = "regulator-fixed";
76 regulator-name = "vcc3v3";
77 regulator-min-microvolt = <3300000>;
78 regulator-max-microvolt = <3300000>;
79 vin-supply = <&reg_vcc5v0>;
80 };
81
82 /* This represents the board's 5V input */
83 reg_vcc5v0: vcc5v0 {
84 compatible = "regulator-fixed";
85 regulator-name = "vcc5v0";
86 regulator-min-microvolt = <5000000>;
87 regulator-max-microvolt = <5000000>;
88 };
89
90 reg_vcc_dram: vcc-dram {
91 compatible = "regulator-fixed";
92 regulator-name = "vcc-dram";
93 regulator-min-microvolt = <1500000>;
94 regulator-max-microvolt = <1500000>;
95 regulator-always-on;
96 regulator-boot-on;
97 vin-supply = <&reg_vcc5v0>;
98 gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
99 enable-active-high;
100 };
101
102 reg_vcc_io: vcc-io {
103 compatible = "regulator-fixed";
104 regulator-name = "vcc-io";
105 regulator-min-microvolt = <3300000>;
106 regulator-max-microvolt = <3300000>;
107 regulator-always-on;
108 regulator-boot-on;
109 vin-supply = <&reg_vcc3v3>;
110 gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
111 };
112
113 reg_vdd_cpux: vdd-cpux {
114 compatible = "regulator-fixed";
115 regulator-name = "vdd-cpux";
116 regulator-min-microvolt = <3300000>;
117 regulator-max-microvolt = <3300000>;
118 regulator-always-on;
119 regulator-boot-on;
120 vin-supply = <&reg_vcc5v0>;
121 gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
122 enable-active-high;
123 };
124};
125
126&codec {
127 allwinner,audio-routing =
128 "Line Out", "LINEOUT",
129 "MIC1", "Mic",
130 "Mic", "MBIAS";
131 status = "okay";
132};
133
Jernej Skrabecf0842bc2018-03-01 22:34:41 +0100134&de {
135 status = "okay";
136};
137
Chen-Yu Tsai6ca35862017-12-05 14:06:15 +0800138&ehci0 {
139 status = "okay";
140};
141
142&ehci1 {
143 status = "okay";
144};
145
146&ehci2 {
147 status = "okay";
148};
149
150&ehci3 {
151 status = "okay";
152};
153
154&emac {
155 phy-handle = <&int_mii_phy>;
156 phy-mode = "mii";
157 allwinner,leds-active-low;
158 status = "okay";
159};
160
Jernej Skrabecf0842bc2018-03-01 22:34:41 +0100161&hdmi {
162 status = "okay";
163};
164
165&hdmi_out {
166 hdmi_out_con: endpoint {
167 remote-endpoint = <&hdmi_con_in>;
168 };
169};
170
Chen-Yu Tsai6ca35862017-12-05 14:06:15 +0800171&ir {
172 pinctrl-names = "default";
173 pinctrl-0 = <&ir_pins_a>;
174 status = "okay";
175};
176
177&mmc0 {
Chen-Yu Tsai6ca35862017-12-05 14:06:15 +0800178 vmmc-supply = <&reg_vcc_io>;
179 bus-width = <4>;
Tuomas Tynkkynen45e01f42017-12-22 22:57:37 +0200180 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
Chen-Yu Tsai6ca35862017-12-05 14:06:15 +0800181 status = "okay";
182};
183
184&ohci0 {
185 status = "okay";
186};
187
188&ohci1 {
189 status = "okay";
190};
191
192&ohci2 {
193 status = "okay";
194};
195
196&ohci3 {
197 status = "okay";
198};
199
200&uart0 {
201 pinctrl-names = "default";
202 pinctrl-0 = <&uart0_pins_a>;
203 status = "okay";
204};
205
206&usb_otg {
207 dr_mode = "host";
208 status = "okay";
209};
210
211&usbphy {
212 /* VBUS on USB ports are always on */
213 usb0_vbus-supply = <&reg_vcc5v0>;
214 usb1_vbus-supply = <&reg_vcc5v0>;
215 usb2_vbus-supply = <&reg_vcc5v0>;
216 usb3_vbus-supply = <&reg_vcc5v0>;
217 status = "okay";
218};