fdt: Fix alignment issue when reading 64-bits properties from fdt
[oweals/u-boot.git] / arch / arm / dts / sun50i-h6-pine-h64.dts
1 // SPDX-License-Identifier: (GPL-2.0+ or MIT)
2 /*
3  * Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.io>
4  */
5
6 /dts-v1/;
7
8 #include "sun50i-h6.dtsi"
9
10 #include <dt-bindings/gpio/gpio.h>
11
12 / {
13         model = "Pine H64";
14         compatible = "pine64,pine-h64", "allwinner,sun50i-h6";
15
16         aliases {
17                 ethernet0 = &emac;
18                 serial0 = &uart0;
19         };
20
21         chosen {
22                 stdout-path = "serial0:115200n8";
23         };
24
25         connector {
26                 compatible = "hdmi-connector";
27                 type = "a";
28
29                 port {
30                         hdmi_con_in: endpoint {
31                                 remote-endpoint = <&hdmi_out_con>;
32                         };
33                 };
34         };
35
36         leds {
37                 compatible = "gpio-leds";
38
39                 heartbeat {
40                         label = "pine-h64:green:heartbeat";
41                         gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
42                 };
43
44                 link {
45                         label = "pine-h64:white:link";
46                         gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>; /* PL3 */
47                 };
48
49                 status {
50                         label = "pine-h64:blue:status";
51                         gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
52                 };
53         };
54
55         reg_usb_vbus: vbus {
56                 compatible = "regulator-fixed";
57                 regulator-name = "usb-vbus";
58                 regulator-min-microvolt = <5000000>;
59                 regulator-max-microvolt = <5000000>;
60                 startup-delay-us = <100000>;
61                 gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>;
62                 enable-active-high;
63         };
64 };
65
66 &emac {
67         pinctrl-names = "default";
68         pinctrl-0 = <&ext_rgmii_pins>;
69         phy-mode = "rgmii";
70         phy-handle = <&ext_rgmii_phy>;
71         phy-supply = <&reg_aldo2>;
72         allwinner,rx-delay-ps = <200>;
73         allwinner,tx-delay-ps = <200>;
74         status = "okay";
75 };
76
77 &mdio {
78         ext_rgmii_phy: ethernet-phy@1 {
79                 compatible = "ethernet-phy-ieee802.3-c22";
80                 reg = <1>;
81         };
82 };
83
84 &de {
85         status = "okay";
86 };
87
88 &hdmi {
89         status = "okay";
90 };
91
92 &hdmi_out {
93         hdmi_out_con: endpoint {
94                 remote-endpoint = <&hdmi_con_in>;
95         };
96 };
97
98 &ehci0 {
99         status = "okay";
100 };
101
102 &ehci3 {
103         status = "okay";
104 };
105
106 &mmc0 {
107         vmmc-supply = <&reg_cldo1>;
108         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
109         bus-width = <4>;
110         status = "okay";
111 };
112
113 &mmc2 {
114         vmmc-supply = <&reg_cldo1>;
115         vqmmc-supply = <&reg_bldo2>;
116         non-removable;
117         cap-mmc-hw-reset;
118         bus-width = <8>;
119         status = "okay";
120 };
121
122 &ohci0 {
123         status = "okay";
124 };
125
126 &ohci3 {
127         status = "okay";
128 };
129
130 &r_i2c {
131         status = "okay";
132
133         axp805: pmic@36 {
134                 compatible = "x-powers,axp805", "x-powers,axp806";
135                 reg = <0x36>;
136                 interrupt-parent = <&r_intc>;
137                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
138                 interrupt-controller;
139                 #interrupt-cells = <1>;
140                 x-powers,self-working-mode;
141
142                 regulators {
143                         reg_aldo1: aldo1 {
144                                 regulator-always-on;
145                                 regulator-min-microvolt = <3300000>;
146                                 regulator-max-microvolt = <3300000>;
147                                 regulator-name = "vcc-pl";
148                         };
149
150                         reg_aldo2: aldo2 {
151                                 regulator-min-microvolt = <3300000>;
152                                 regulator-max-microvolt = <3300000>;
153                                 regulator-name = "vcc-ac200";
154                                 regulator-enable-ramp-delay = <100000>;
155                         };
156
157                         reg_aldo3: aldo3 {
158                                 /* This regulator is connected with CLDO1 */
159                                 regulator-always-on;
160                                 regulator-min-microvolt = <3300000>;
161                                 regulator-max-microvolt = <3300000>;
162                                 regulator-name = "vcc-3v3-1";
163                         };
164
165                         reg_bldo1: bldo1 {
166                                 regulator-always-on;
167                                 regulator-min-microvolt = <1800000>;
168                                 regulator-max-microvolt = <1800000>;
169                                 regulator-name = "vcc-bias-pll";
170                         };
171
172                         reg_bldo2: bldo2 {
173                                 regulator-always-on;
174                                 regulator-min-microvolt = <1800000>;
175                                 regulator-max-microvolt = <1800000>;
176                                 regulator-name = "vcc-efuse-pcie-hdmi-io";
177                         };
178
179                         reg_bldo3: bldo3 {
180                                 regulator-always-on;
181                                 regulator-min-microvolt = <1800000>;
182                                 regulator-max-microvolt = <1800000>;
183                                 regulator-name = "vcc-dcxoio";
184                         };
185
186                         bldo4 {
187                                 /* unused */
188                         };
189
190                         reg_cldo1: cldo1 {
191                                 /* This regulator is connected with ALDO3 */
192                                 regulator-always-on;
193                                 regulator-min-microvolt = <3300000>;
194                                 regulator-max-microvolt = <3300000>;
195                                 regulator-name = "vcc-3v3-2";
196                         };
197
198                         reg_cldo2: cldo2 {
199                                 regulator-min-microvolt = <3300000>;
200                                 regulator-max-microvolt = <3300000>;
201                                 regulator-name = "vcc-wifi-1";
202                         };
203
204                         reg_cldo3: cldo3 {
205                                 regulator-min-microvolt = <3300000>;
206                                 regulator-max-microvolt = <3300000>;
207                                 regulator-name = "vcc-wifi-2";
208                         };
209
210                         reg_dcdca: dcdca {
211                                 regulator-always-on;
212                                 regulator-min-microvolt = <810000>;
213                                 regulator-max-microvolt = <1080000>;
214                                 regulator-name = "vdd-cpu";
215                         };
216
217                         reg_dcdcc: dcdcc {
218                                 regulator-min-microvolt = <810000>;
219                                 regulator-max-microvolt = <1080000>;
220                                 regulator-name = "vdd-gpu";
221                         };
222
223                         reg_dcdcd: dcdcd {
224                                 regulator-always-on;
225                                 regulator-min-microvolt = <960000>;
226                                 regulator-max-microvolt = <960000>;
227                                 regulator-name = "vdd-sys";
228                         };
229
230                         reg_dcdce: dcdce {
231                                 regulator-always-on;
232                                 regulator-min-microvolt = <1200000>;
233                                 regulator-max-microvolt = <1200000>;
234                                 regulator-name = "vcc-dram";
235                         };
236
237                         sw {
238                                 /* unused */
239                         };
240                 };
241         };
242
243         pcf8563: rtc@51 {
244                 compatible = "nxp,pcf8563";
245                 reg = <0x51>;
246                 #clock-cells = <0>;
247         };
248 };
249
250 &uart0 {
251         pinctrl-names = "default";
252         pinctrl-0 = <&uart0_ph_pins>;
253         status = "okay";
254 };
255
256 &usb2otg {
257         dr_mode = "host";
258         status = "okay";
259 };
260
261 &usb2phy {
262         usb0_vbus-supply = <&reg_usb_vbus>;
263         usb3_vbus-supply = <&reg_usb_vbus>;
264         status = "okay";
265 };