Linux Audio

Check our new training course

Linux BSP development engineering services

Need help to port Linux and bootloaders to your hardware?
Loading...
Note: File does not exist in v3.5.6.
  1/*
  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
 26	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
 37	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
134&de {
135	status = "okay";
136};
137
138&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
161&hdmi {
162	status = "okay";
163};
164
165&hdmi_out {
166	hdmi_out_con: endpoint {
167		remote-endpoint = <&hdmi_con_in>;
168	};
169};
170
171&ir {
172	pinctrl-names = "default";
173	pinctrl-0 = <&ir_pins_a>;
174	status = "okay";
175};
176
177&mmc0 {
178	vmmc-supply = <&reg_vcc_io>;
179	bus-width = <4>;
180	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
181	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};