1*2c1e6299SAndre Przywara// SPDX-License-Identifier: (GPL-2.0+ or MIT)
2*2c1e6299SAndre Przywara/*
3*2c1e6299SAndre Przywara * Copyright (C) 2021 Arm Ltd.
4*2c1e6299SAndre Przywara */
5*2c1e6299SAndre Przywara
6*2c1e6299SAndre Przywara/dts-v1/;
7*2c1e6299SAndre Przywara
8*2c1e6299SAndre Przywara#include "sun50i-h616.dtsi"
9*2c1e6299SAndre Przywara
10*2c1e6299SAndre Przywara#include <dt-bindings/gpio/gpio.h>
11*2c1e6299SAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h>
12*2c1e6299SAndre Przywara
13*2c1e6299SAndre Przywara/ {
14*2c1e6299SAndre Przywara	model = "X96 Mate";
15*2c1e6299SAndre Przywara	compatible = "hechuang,x96-mate", "allwinner,sun50i-h616";
16*2c1e6299SAndre Przywara
17*2c1e6299SAndre Przywara	aliases {
18*2c1e6299SAndre Przywara		serial0 = &uart0;
19*2c1e6299SAndre Przywara	};
20*2c1e6299SAndre Przywara
21*2c1e6299SAndre Przywara	chosen {
22*2c1e6299SAndre Przywara		stdout-path = "serial0:115200n8";
23*2c1e6299SAndre Przywara	};
24*2c1e6299SAndre Przywara
25*2c1e6299SAndre Przywara	reg_vcc5v: vcc5v {
26*2c1e6299SAndre Przywara		/* board wide 5V supply directly from the DC input */
27*2c1e6299SAndre Przywara		compatible = "regulator-fixed";
28*2c1e6299SAndre Przywara		regulator-name = "vcc-5v";
29*2c1e6299SAndre Przywara		regulator-min-microvolt = <5000000>;
30*2c1e6299SAndre Przywara		regulator-max-microvolt = <5000000>;
31*2c1e6299SAndre Przywara		regulator-always-on;
32*2c1e6299SAndre Przywara	};
33*2c1e6299SAndre Przywara};
34*2c1e6299SAndre Przywara
35*2c1e6299SAndre Przywara&ir {
36*2c1e6299SAndre Przywara	status = "okay";
37*2c1e6299SAndre Przywara};
38*2c1e6299SAndre Przywara
39*2c1e6299SAndre Przywara&mmc0 {
40*2c1e6299SAndre Przywara	vmmc-supply = <&reg_dcdce>;
41*2c1e6299SAndre Przywara	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */
42*2c1e6299SAndre Przywara	bus-width = <4>;
43*2c1e6299SAndre Przywara	status = "okay";
44*2c1e6299SAndre Przywara};
45*2c1e6299SAndre Przywara
46*2c1e6299SAndre Przywara&mmc2 {
47*2c1e6299SAndre Przywara	vmmc-supply = <&reg_dcdce>;
48*2c1e6299SAndre Przywara	vqmmc-supply = <&reg_bldo1>;
49*2c1e6299SAndre Przywara	bus-width = <8>;
50*2c1e6299SAndre Przywara	non-removable;
51*2c1e6299SAndre Przywara	cap-mmc-hw-reset;
52*2c1e6299SAndre Przywara	mmc-ddr-1_8v;
53*2c1e6299SAndre Przywara	mmc-hs200-1_8v;
54*2c1e6299SAndre Przywara	status = "okay";
55*2c1e6299SAndre Przywara};
56*2c1e6299SAndre Przywara
57*2c1e6299SAndre Przywara&r_rsb {
58*2c1e6299SAndre Przywara	status = "okay";
59*2c1e6299SAndre Przywara
60*2c1e6299SAndre Przywara	axp305: pmic@745 {
61*2c1e6299SAndre Przywara		compatible = "x-powers,axp305", "x-powers,axp805",
62*2c1e6299SAndre Przywara			     "x-powers,axp806";
63*2c1e6299SAndre Przywara		interrupt-controller;
64*2c1e6299SAndre Przywara		#interrupt-cells = <1>;
65*2c1e6299SAndre Przywara		reg = <0x745>;
66*2c1e6299SAndre Przywara
67*2c1e6299SAndre Przywara		x-powers,self-working-mode;
68*2c1e6299SAndre Przywara		vina-supply = <&reg_vcc5v>;
69*2c1e6299SAndre Przywara		vinb-supply = <&reg_vcc5v>;
70*2c1e6299SAndre Przywara		vinc-supply = <&reg_vcc5v>;
71*2c1e6299SAndre Przywara		vind-supply = <&reg_vcc5v>;
72*2c1e6299SAndre Przywara		vine-supply = <&reg_vcc5v>;
73*2c1e6299SAndre Przywara		aldoin-supply = <&reg_vcc5v>;
74*2c1e6299SAndre Przywara		bldoin-supply = <&reg_vcc5v>;
75*2c1e6299SAndre Przywara		cldoin-supply = <&reg_vcc5v>;
76*2c1e6299SAndre Przywara
77*2c1e6299SAndre Przywara		regulators {
78*2c1e6299SAndre Przywara			reg_aldo1: aldo1 {
79*2c1e6299SAndre Przywara				regulator-always-on;
80*2c1e6299SAndre Przywara				regulator-min-microvolt = <3300000>;
81*2c1e6299SAndre Przywara				regulator-max-microvolt = <3300000>;
82*2c1e6299SAndre Przywara				regulator-name = "vcc-sys";
83*2c1e6299SAndre Przywara			};
84*2c1e6299SAndre Przywara
85*2c1e6299SAndre Przywara			/* Enabled by the Android BSP */
86*2c1e6299SAndre Przywara			reg_aldo2: aldo2 {
87*2c1e6299SAndre Przywara				regulator-min-microvolt = <3300000>;
88*2c1e6299SAndre Przywara				regulator-max-microvolt = <3300000>;
89*2c1e6299SAndre Przywara				regulator-name = "vcc3v3-ext";
90*2c1e6299SAndre Przywara				status = "disabled";
91*2c1e6299SAndre Przywara			};
92*2c1e6299SAndre Przywara
93*2c1e6299SAndre Przywara			/* Enabled by the Android BSP */
94*2c1e6299SAndre Przywara			reg_aldo3: aldo3 {
95*2c1e6299SAndre Przywara				regulator-min-microvolt = <3300000>;
96*2c1e6299SAndre Przywara				regulator-max-microvolt = <3300000>;
97*2c1e6299SAndre Przywara				regulator-name = "vcc3v3-ext2";
98*2c1e6299SAndre Przywara				status = "disabled";
99*2c1e6299SAndre Przywara			};
100*2c1e6299SAndre Przywara
101*2c1e6299SAndre Przywara			reg_bldo1: bldo1 {
102*2c1e6299SAndre Przywara				regulator-always-on;
103*2c1e6299SAndre Przywara				regulator-min-microvolt = <1800000>;
104*2c1e6299SAndre Przywara				regulator-max-microvolt = <1800000>;
105*2c1e6299SAndre Przywara				regulator-name = "vcc1v8";
106*2c1e6299SAndre Przywara			};
107*2c1e6299SAndre Przywara
108*2c1e6299SAndre Przywara			/* Enabled by the Android BSP */
109*2c1e6299SAndre Przywara			reg_bldo2: bldo2 {
110*2c1e6299SAndre Przywara				regulator-min-microvolt = <1800000>;
111*2c1e6299SAndre Przywara				regulator-max-microvolt = <1800000>;
112*2c1e6299SAndre Przywara				regulator-name = "vcc1v8-2";
113*2c1e6299SAndre Przywara				status = "disabled";
114*2c1e6299SAndre Przywara			};
115*2c1e6299SAndre Przywara
116*2c1e6299SAndre Przywara			bldo3 {
117*2c1e6299SAndre Przywara				/* unused */
118*2c1e6299SAndre Przywara			};
119*2c1e6299SAndre Przywara
120*2c1e6299SAndre Przywara			bldo4 {
121*2c1e6299SAndre Przywara				/* unused */
122*2c1e6299SAndre Przywara			};
123*2c1e6299SAndre Przywara
124*2c1e6299SAndre Przywara			cldo1 {
125*2c1e6299SAndre Przywara				regulator-min-microvolt = <2500000>;
126*2c1e6299SAndre Przywara				regulator-max-microvolt = <2500000>;
127*2c1e6299SAndre Przywara				regulator-name = "vcc2v5";
128*2c1e6299SAndre Przywara			};
129*2c1e6299SAndre Przywara
130*2c1e6299SAndre Przywara			cldo2 {
131*2c1e6299SAndre Przywara				/* unused */
132*2c1e6299SAndre Przywara			};
133*2c1e6299SAndre Przywara
134*2c1e6299SAndre Przywara			cldo3 {
135*2c1e6299SAndre Przywara				/* unused */
136*2c1e6299SAndre Przywara			};
137*2c1e6299SAndre Przywara
138*2c1e6299SAndre Przywara			reg_dcdca: dcdca {
139*2c1e6299SAndre Przywara				regulator-always-on;
140*2c1e6299SAndre Przywara				regulator-min-microvolt = <810000>;
141*2c1e6299SAndre Przywara				regulator-max-microvolt = <1100000>;
142*2c1e6299SAndre Przywara				regulator-name = "vdd-cpu";
143*2c1e6299SAndre Przywara			};
144*2c1e6299SAndre Przywara
145*2c1e6299SAndre Przywara			reg_dcdcc: dcdcc {
146*2c1e6299SAndre Przywara				regulator-always-on;
147*2c1e6299SAndre Przywara				regulator-min-microvolt = <810000>;
148*2c1e6299SAndre Przywara				regulator-max-microvolt = <990000>;
149*2c1e6299SAndre Przywara				regulator-name = "vdd-gpu-sys";
150*2c1e6299SAndre Przywara			};
151*2c1e6299SAndre Przywara
152*2c1e6299SAndre Przywara			reg_dcdcd: dcdcd {
153*2c1e6299SAndre Przywara				regulator-always-on;
154*2c1e6299SAndre Przywara				regulator-min-microvolt = <1360000>;
155*2c1e6299SAndre Przywara				regulator-max-microvolt = <1360000>;
156*2c1e6299SAndre Przywara				regulator-name = "vdd-dram";
157*2c1e6299SAndre Przywara			};
158*2c1e6299SAndre Przywara
159*2c1e6299SAndre Przywara			reg_dcdce: dcdce {
160*2c1e6299SAndre Przywara				regulator-always-on;
161*2c1e6299SAndre Przywara				regulator-min-microvolt = <3300000>;
162*2c1e6299SAndre Przywara				regulator-max-microvolt = <3300000>;
163*2c1e6299SAndre Przywara				regulator-name = "vcc-eth-mmc";
164*2c1e6299SAndre Przywara			};
165*2c1e6299SAndre Przywara
166*2c1e6299SAndre Przywara			sw {
167*2c1e6299SAndre Przywara				/* unused */
168*2c1e6299SAndre Przywara			};
169*2c1e6299SAndre Przywara		};
170*2c1e6299SAndre Przywara	};
171*2c1e6299SAndre Przywara};
172*2c1e6299SAndre Przywara
173*2c1e6299SAndre Przywara&uart0 {
174*2c1e6299SAndre Przywara	pinctrl-names = "default";
175*2c1e6299SAndre Przywara	pinctrl-0 = <&uart0_ph_pins>;
176*2c1e6299SAndre Przywara	status = "okay";
177*2c1e6299SAndre Przywara};
178