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		serial0 = &uart0;
18	};
19
20	chosen {
21		stdout-path = "serial0:115200n8";
22	};
23
24	leds {
25		compatible = "gpio-leds";
26
27		heartbeat {
28			label = "pine-h64:green:heartbeat";
29			gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
30		};
31
32		link {
33			label = "pine-h64:white:link";
34			gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>; /* PL3 */
35		};
36
37		status {
38			label = "pine-h64:blue:status";
39			gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
40		};
41	};
42};
43
44&mmc0 {
45	pinctrl-names = "default";
46	pinctrl-0 = <&mmc0_pins>;
47	vmmc-supply = <&reg_cldo1>;
48	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
49	status = "okay";
50};
51
52&mmc2 {
53	pinctrl-names = "default";
54	pinctrl-0 = <&mmc2_pins>;
55	vmmc-supply = <&reg_cldo1>;
56	vqmmc-supply = <&reg_bldo2>;
57	non-removable;
58	cap-mmc-hw-reset;
59	status = "okay";
60};
61
62&r_i2c {
63	status = "okay";
64
65	axp805: pmic@36 {
66		compatible = "x-powers,axp805", "x-powers,axp806";
67		reg = <0x36>;
68		interrupt-parent = <&r_intc>;
69		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
70		interrupt-controller;
71		#interrupt-cells = <1>;
72		x-powers,self-working-mode;
73
74		regulators {
75			reg_aldo1: aldo1 {
76				regulator-always-on;
77				regulator-min-microvolt = <3300000>;
78				regulator-max-microvolt = <3300000>;
79				regulator-name = "vcc-pl";
80			};
81
82			reg_aldo2: aldo2 {
83				regulator-min-microvolt = <3300000>;
84				regulator-max-microvolt = <3300000>;
85				regulator-name = "vcc-ac200";
86			};
87
88			reg_aldo3: aldo3 {
89				/* This regulator is connected with CLDO1 */
90				regulator-always-on;
91				regulator-min-microvolt = <3300000>;
92				regulator-max-microvolt = <3300000>;
93				regulator-name = "vcc-3v3-1";
94			};
95
96			reg_bldo1: bldo1 {
97				regulator-always-on;
98				regulator-min-microvolt = <1800000>;
99				regulator-max-microvolt = <1800000>;
100				regulator-name = "vcc-bias-pll";
101			};
102
103			reg_bldo2: bldo2 {
104				regulator-always-on;
105				regulator-min-microvolt = <1800000>;
106				regulator-max-microvolt = <1800000>;
107				regulator-name = "vcc-efuse-pcie-hdmi-io";
108			};
109
110			reg_bldo3: bldo3 {
111				regulator-always-on;
112				regulator-min-microvolt = <1800000>;
113				regulator-max-microvolt = <1800000>;
114				regulator-name = "vcc-dcxoio";
115			};
116
117			bldo4 {
118				/* unused */
119			};
120
121			reg_cldo1: cldo1 {
122				/* This regulator is connected with ALDO3 */
123				regulator-always-on;
124				regulator-min-microvolt = <3300000>;
125				regulator-max-microvolt = <3300000>;
126				regulator-name = "vcc-3v3-2";
127			};
128
129			reg_cldo2: cldo2 {
130				regulator-min-microvolt = <3300000>;
131				regulator-max-microvolt = <3300000>;
132				regulator-name = "vcc-wifi-1";
133			};
134
135			reg_cldo3: cldo3 {
136				regulator-min-microvolt = <3300000>;
137				regulator-max-microvolt = <3300000>;
138				regulator-name = "vcc-wifi-2";
139			};
140
141			reg_dcdca: dcdca {
142				regulator-always-on;
143				regulator-min-microvolt = <810000>;
144				regulator-max-microvolt = <1080000>;
145				regulator-name = "vdd-cpu";
146			};
147
148			reg_dcdcc: dcdcc {
149				regulator-min-microvolt = <810000>;
150				regulator-max-microvolt = <1080000>;
151				regulator-name = "vdd-gpu";
152			};
153
154			reg_dcdcd: dcdcd {
155				regulator-always-on;
156				regulator-min-microvolt = <960000>;
157				regulator-max-microvolt = <960000>;
158				regulator-name = "vdd-sys";
159			};
160
161			reg_dcdce: dcdce {
162				regulator-always-on;
163				regulator-min-microvolt = <1200000>;
164				regulator-max-microvolt = <1200000>;
165				regulator-name = "vcc-dram";
166			};
167
168			sw {
169				/* unused */
170			};
171		};
172	};
173
174	pcf8563: rtc@51 {
175		compatible = "nxp,pcf8563";
176		reg = <0x51>;
177		#clock-cells = <0>;
178	};
179};
180
181&uart0 {
182	pinctrl-names = "default";
183	pinctrl-0 = <&uart0_ph_pins>;
184	status = "okay";
185};
186