1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2// Copyright (C) 2021 Ivan Uvarov <i.uvarov@cognitivepilot.com>
3// Based on the sun8i-r40-bananapi-m2-ultra.dts, which is:
4//  Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org>
5//  Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
6
7#include "sun8i-r40.dtsi"
8#include "sun8i-r40-cpu-opp.dtsi"
9
10&cpu0 {
11	cpu-supply = <&reg_dcdc2>;
12};
13
14&i2c0 {
15	status = "okay";
16
17	axp22x: pmic@34 {
18		compatible = "x-powers,axp221";
19		reg = <0x34>;
20		interrupt-parent = <&nmi_intc>;
21		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
22	};
23};
24
25#include "axp22x.dtsi"
26
27&mmc2 {
28	vmmc-supply = <&reg_dcdc1>;
29	vqmmc-supply = <&reg_aldo2>;
30	bus-width = <8>;
31	non-removable;
32	status = "okay";
33};
34
35&pio {
36	pinctrl-names = "default";
37	pinctrl-0 = <&clk_out_a_pin>;
38	vcc-pa-supply = <&reg_dcdc1>;
39	vcc-pc-supply = <&reg_aldo2>;
40	vcc-pd-supply = <&reg_dcdc1>;
41	vcc-pf-supply = <&reg_dldo4>;
42	vcc-pg-supply = <&reg_dldo1>;
43};
44
45&reg_aldo1 {
46	regulator-always-on;
47	regulator-min-microvolt = <3300000>;
48	regulator-max-microvolt = <3300000>;
49	regulator-name = "vcc-3v3-tv-usb";
50};
51
52&reg_aldo2 {
53	regulator-always-on;
54	regulator-min-microvolt = <1800000>;
55	regulator-max-microvolt = <1800000>;
56	regulator-name = "vcc-pa";
57};
58
59&reg_aldo3 {
60	regulator-always-on;
61	regulator-min-microvolt = <3000000>;
62	regulator-max-microvolt = <3000000>;
63	regulator-name = "avcc";
64};
65
66&reg_dcdc1 {
67	regulator-always-on;
68	regulator-min-microvolt = <3300000>;
69	regulator-max-microvolt = <3300000>;
70	regulator-name = "vcc-3v3";
71};
72
73&reg_dcdc2 {
74	regulator-always-on;
75	regulator-min-microvolt = <1100000>;
76	regulator-max-microvolt = <1100000>;
77	regulator-name = "vdd-cpu";
78};
79
80&reg_dcdc3 {
81	regulator-always-on;
82	regulator-min-microvolt = <1100000>;
83	regulator-max-microvolt = <1100000>;
84	regulator-name = "vdd-sys";
85};
86
87&reg_dcdc5 {
88	regulator-always-on;
89	regulator-min-microvolt = <1500000>;
90	regulator-max-microvolt = <1500000>;
91	regulator-name = "vcc-dram";
92};
93
94&reg_dldo1 {
95	regulator-always-on;
96	regulator-min-microvolt = <3300000>;
97	regulator-max-microvolt = <3300000>;
98	regulator-name = "vcc-wifi-io";
99};
100
101&reg_dldo4 {
102	regulator-always-on;
103	regulator-min-microvolt = <2500000>;
104	regulator-max-microvolt = <2500000>;
105	regulator-name = "vdd2v5-sata";
106};
107
108&reg_eldo2 {
109	regulator-min-microvolt = <1200000>;
110	regulator-max-microvolt = <1200000>;
111	regulator-name = "vdd1v2-sata";
112};
113
114&reg_eldo3 {
115	regulator-min-microvolt = <2800000>;
116	regulator-max-microvolt = <2800000>;
117	regulator-name = "vcc-pe";
118};
119