blob: 204fba3614f9dae4b64713e40c883ed2a4c46c7d [file] [log] [blame]
Chen-Yu Tsai8d7da692020-01-12 23:36:13 +08001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2// Copyright (C) 2019 Chen-Yu Tsai <wens@csie.org>
3
4#include <dt-bindings/gpio/gpio.h>
5#include <dt-bindings/input/input.h>
6
7/ {
8 aliases {
9 serial0 = &uart0;
10 spi0 = &spi0;
11 };
12
13 chosen {
14 stdout-path = "serial0:115200n8";
15 };
16
17 connector {
18 compatible = "hdmi-connector";
19 type = "d";
20
21 port {
22 hdmi_con_in: endpoint {
23 remote-endpoint = <&hdmi_out_con>;
24 };
25 };
26 };
27
28 leds {
29 compatible = "gpio-leds";
30
31 status_led {
32 label = "librecomputer:blue:status";
33 gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */
34 };
35 };
36
37 reg_vcc3v3: vcc3v3 {
38 compatible = "regulator-fixed";
39 regulator-name = "vcc3v3";
40 regulator-min-microvolt = <3300000>;
41 regulator-max-microvolt = <3300000>;
42 regulator-always-on;
43 regulator-boot-on;
44 vin-supply = <&reg_vcc5v0>;
45 };
46
47 /* This represents the board's 5V input */
48 reg_vcc5v0: vcc5v0 {
49 compatible = "regulator-fixed";
50 regulator-name = "vcc5v0";
51 regulator-min-microvolt = <5000000>;
52 regulator-max-microvolt = <5000000>;
53 regulator-always-on;
54 regulator-boot-on;
55 };
56
57 reg_vcc_dram: vcc-dram {
58 compatible = "regulator-fixed";
59 regulator-name = "vcc-dram";
60 regulator-min-microvolt = <1500000>;
61 regulator-max-microvolt = <1500000>;
62 regulator-always-on;
63 regulator-boot-on;
64 vin-supply = <&reg_vcc5v0>;
65 gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
66 enable-active-high;
67 };
68
69 reg_vcc_io: vcc-io {
70 compatible = "regulator-fixed";
71 regulator-name = "vcc-io";
72 /* This is simply a MOSFET switch */
73 regulator-always-on;
74 regulator-boot-on;
75 vin-supply = <&reg_vcc3v3>;
76 gpio = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
77 };
78
79 reg_vcc_usbwifi: vcc-usbwifi {
80 compatible = "regulator-fixed";
81 regulator-name = "vcc-usbwifi";
82 regulator-min-microvolt = <3300000>;
83 regulator-max-microvolt = <3300000>;
84 vin-supply = <&reg_vcc5v0>;
85 gpio = <&pio 6 4 GPIO_ACTIVE_HIGH>; /* PG4 */
86 enable-active-high;
87 };
88
89 reg_vdd_cpux: vdd-cpux {
90 compatible = "regulator-fixed";
91 regulator-name = "vdd-cpux";
92 regulator-min-microvolt = <1100000>;
93 regulator-max-microvolt = <1100000>;
94 regulator-always-on;
95 regulator-boot-on;
96 vin-supply = <&reg_vcc5v0>;
97 gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
98 enable-active-high;
99 };
100};
101
102&cpu0 {
103 cpu-supply = <&reg_vdd_cpux>;
104};
105
106&cpu1 {
107 cpu-supply = <&reg_vdd_cpux>;
108};
109
110&cpu2 {
111 cpu-supply = <&reg_vdd_cpux>;
112};
113
114&cpu3 {
115 cpu-supply = <&reg_vdd_cpux>;
116};
117
118&de {
119 status = "okay";
120};
121
122&ehci1 {
123 status = "okay";
124};
125
126&hdmi {
127 status = "okay";
128};
129
130&hdmi_out {
131 hdmi_out_con: endpoint {
132 remote-endpoint = <&hdmi_con_in>;
133 };
134};
135
136&mmc0 {
137 vmmc-supply = <&reg_vcc_io>;
138 bus-width = <4>;
139 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
140 status = "okay";
141};
142
143&pio {
144 vcc-pa-supply = <&reg_vcc_io>;
145 vcc-pc-supply = <&reg_vcc_io>;
146 vcc-pd-supply = <&reg_vcc_io>;
147 vcc-pe-supply = <&reg_vcc_io>;
148 vcc-pf-supply = <&reg_vcc_io>;
149 vcc-pg-supply = <&reg_vcc_io>;
150};
151
152&r_pio {
153 vcc-pl-supply = <&reg_vcc3v3>;
154};
155
156&spi0 {
157 status = "okay";
158
159 spiflash@0 {
160 compatible = "jedec,spi-nor";
161 reg = <0>;
162 spi-max-frequency = <50000000>;
163 };
164};
165
166&uart0 {
167 pinctrl-names = "default";
168 pinctrl-0 = <&uart0_pa_pins>;
169 status = "okay";
170};
171
172&usb_otg {
173 dr_mode = "peripheral";
174 status = "okay";
175};
176
177&usbphy {
178 usb1_vbus-supply = <&reg_vcc_usbwifi>;
179 status = "okay";
180};