xref: /openbmc/linux/arch/arm64/boot/dts/allwinner/sun50i-a64-amarula-relic.dts (revision f64f2e0ff2fe062421cc1fd3cc580fdee2c8b3e9)
1*f64f2e0fSJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f64f2e0fSJagan Teki/*
3*f64f2e0fSJagan Teki * Copyright (C) 2018 Amarula Solutions B.V.
4*f64f2e0fSJagan Teki * Author: Jagan Teki <jagan@amarulasolutions.com>
5*f64f2e0fSJagan Teki */
6*f64f2e0fSJagan Teki
7*f64f2e0fSJagan Teki/dts-v1/;
8*f64f2e0fSJagan Teki
9*f64f2e0fSJagan Teki#include "sun50i-a64.dtsi"
10*f64f2e0fSJagan Teki
11*f64f2e0fSJagan Teki#include <dt-bindings/gpio/gpio.h>
12*f64f2e0fSJagan Teki
13*f64f2e0fSJagan Teki/ {
14*f64f2e0fSJagan Teki	model = "Amarula A64-Relic";
15*f64f2e0fSJagan Teki	compatible = "amarula,a64-relic", "allwinner,sun50i-a64";
16*f64f2e0fSJagan Teki
17*f64f2e0fSJagan Teki	aliases {
18*f64f2e0fSJagan Teki		serial0 = &uart0;
19*f64f2e0fSJagan Teki	};
20*f64f2e0fSJagan Teki
21*f64f2e0fSJagan Teki	chosen {
22*f64f2e0fSJagan Teki		stdout-path = "serial0:115200n8";
23*f64f2e0fSJagan Teki	};
24*f64f2e0fSJagan Teki};
25*f64f2e0fSJagan Teki
26*f64f2e0fSJagan Teki&ehci0 {
27*f64f2e0fSJagan Teki	status = "okay";
28*f64f2e0fSJagan Teki};
29*f64f2e0fSJagan Teki
30*f64f2e0fSJagan Teki&mmc2 {
31*f64f2e0fSJagan Teki	pinctrl-names = "default";
32*f64f2e0fSJagan Teki	pinctrl-0 = <&mmc2_pins>;
33*f64f2e0fSJagan Teki	vmmc-supply = <&reg_dcdc1>;
34*f64f2e0fSJagan Teki	bus-width = <8>;
35*f64f2e0fSJagan Teki	non-removable;
36*f64f2e0fSJagan Teki	cap-mmc-hw-reset;
37*f64f2e0fSJagan Teki	status = "okay";
38*f64f2e0fSJagan Teki};
39*f64f2e0fSJagan Teki
40*f64f2e0fSJagan Teki&ohci0 {
41*f64f2e0fSJagan Teki	status = "okay";
42*f64f2e0fSJagan Teki};
43*f64f2e0fSJagan Teki
44*f64f2e0fSJagan Teki&r_rsb {
45*f64f2e0fSJagan Teki	status = "okay";
46*f64f2e0fSJagan Teki
47*f64f2e0fSJagan Teki	axp803: pmic@3a3 {
48*f64f2e0fSJagan Teki		compatible = "x-powers,axp803";
49*f64f2e0fSJagan Teki		reg = <0x3a3>;
50*f64f2e0fSJagan Teki		interrupt-parent = <&r_intc>;
51*f64f2e0fSJagan Teki		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
52*f64f2e0fSJagan Teki		x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
53*f64f2e0fSJagan Teki	};
54*f64f2e0fSJagan Teki};
55*f64f2e0fSJagan Teki
56*f64f2e0fSJagan Teki#include "axp803.dtsi"
57*f64f2e0fSJagan Teki
58*f64f2e0fSJagan Teki&reg_aldo1 {
59*f64f2e0fSJagan Teki	regulator-always-on;
60*f64f2e0fSJagan Teki	regulator-min-microvolt = <2800000>;
61*f64f2e0fSJagan Teki	regulator-max-microvolt = <2800000>;
62*f64f2e0fSJagan Teki	regulator-name = "avdd-csi";
63*f64f2e0fSJagan Teki};
64*f64f2e0fSJagan Teki
65*f64f2e0fSJagan Teki&reg_aldo2 {
66*f64f2e0fSJagan Teki	regulator-always-on;
67*f64f2e0fSJagan Teki	regulator-min-microvolt = <1800000>;
68*f64f2e0fSJagan Teki	regulator-max-microvolt = <3300000>;
69*f64f2e0fSJagan Teki	regulator-name = "vcc-pl";
70*f64f2e0fSJagan Teki};
71*f64f2e0fSJagan Teki
72*f64f2e0fSJagan Teki&reg_aldo3 {
73*f64f2e0fSJagan Teki	regulator-always-on;
74*f64f2e0fSJagan Teki	regulator-min-microvolt = <3000000>;
75*f64f2e0fSJagan Teki	regulator-max-microvolt = <3000000>;
76*f64f2e0fSJagan Teki	regulator-name = "vcc-pll-avcc";
77*f64f2e0fSJagan Teki};
78*f64f2e0fSJagan Teki
79*f64f2e0fSJagan Teki&reg_dcdc1 {
80*f64f2e0fSJagan Teki	regulator-always-on;
81*f64f2e0fSJagan Teki	regulator-min-microvolt = <3300000>;
82*f64f2e0fSJagan Teki	regulator-max-microvolt = <3300000>;
83*f64f2e0fSJagan Teki	regulator-name = "vcc-3v3";
84*f64f2e0fSJagan Teki};
85*f64f2e0fSJagan Teki
86*f64f2e0fSJagan Teki&reg_dcdc2 {
87*f64f2e0fSJagan Teki	regulator-always-on;
88*f64f2e0fSJagan Teki	regulator-min-microvolt = <1040000>;
89*f64f2e0fSJagan Teki	regulator-max-microvolt = <1300000>;
90*f64f2e0fSJagan Teki	regulator-name = "vdd-cpux";
91*f64f2e0fSJagan Teki};
92*f64f2e0fSJagan Teki
93*f64f2e0fSJagan Teki/* DCDC3 is polyphased with DCDC2 */
94*f64f2e0fSJagan Teki
95*f64f2e0fSJagan Teki&reg_dcdc5 {
96*f64f2e0fSJagan Teki	regulator-always-on;
97*f64f2e0fSJagan Teki	regulator-min-microvolt = <1500000>;
98*f64f2e0fSJagan Teki	regulator-max-microvolt = <1500000>;
99*f64f2e0fSJagan Teki	regulator-name = "vcc-dram";
100*f64f2e0fSJagan Teki};
101*f64f2e0fSJagan Teki
102*f64f2e0fSJagan Teki&reg_dcdc6 {
103*f64f2e0fSJagan Teki	regulator-always-on;
104*f64f2e0fSJagan Teki	regulator-min-microvolt = <1100000>;
105*f64f2e0fSJagan Teki	regulator-max-microvolt = <1100000>;
106*f64f2e0fSJagan Teki	regulator-name = "vdd-sys";
107*f64f2e0fSJagan Teki};
108*f64f2e0fSJagan Teki
109*f64f2e0fSJagan Teki&reg_dldo1 {
110*f64f2e0fSJagan Teki	regulator-min-microvolt = <3300000>;
111*f64f2e0fSJagan Teki	regulator-max-microvolt = <3300000>;
112*f64f2e0fSJagan Teki	regulator-name = "vcc-hdmi-dsi-sensor";
113*f64f2e0fSJagan Teki};
114*f64f2e0fSJagan Teki
115*f64f2e0fSJagan Teki&reg_dldo2 {
116*f64f2e0fSJagan Teki	regulator-min-microvolt = <3300000>;
117*f64f2e0fSJagan Teki	regulator-max-microvolt = <3300000>;
118*f64f2e0fSJagan Teki	regulator-name = "vcc-mipi";
119*f64f2e0fSJagan Teki};
120*f64f2e0fSJagan Teki
121*f64f2e0fSJagan Teki&reg_dldo3 {
122*f64f2e0fSJagan Teki	regulator-min-microvolt = <2800000>;
123*f64f2e0fSJagan Teki	regulator-max-microvolt = <2800000>;
124*f64f2e0fSJagan Teki	regulator-name = "dovdd-csi";
125*f64f2e0fSJagan Teki};
126*f64f2e0fSJagan Teki
127*f64f2e0fSJagan Teki&reg_dldo4 {
128*f64f2e0fSJagan Teki	regulator-min-microvolt = <3300000>;
129*f64f2e0fSJagan Teki	regulator-max-microvolt = <3300000>;
130*f64f2e0fSJagan Teki	regulator-name = "vcc-wifi-io";
131*f64f2e0fSJagan Teki};
132*f64f2e0fSJagan Teki
133*f64f2e0fSJagan Teki&reg_drivevbus {
134*f64f2e0fSJagan Teki	regulator-name = "usb0-vbus";
135*f64f2e0fSJagan Teki	status = "okay";
136*f64f2e0fSJagan Teki};
137*f64f2e0fSJagan Teki
138*f64f2e0fSJagan Teki&reg_eldo1 {
139*f64f2e0fSJagan Teki	regulator-always-on;
140*f64f2e0fSJagan Teki	regulator-min-microvolt = <1800000>;
141*f64f2e0fSJagan Teki	regulator-max-microvolt = <1800000>;
142*f64f2e0fSJagan Teki	regulator-name = "cpvdd";
143*f64f2e0fSJagan Teki};
144*f64f2e0fSJagan Teki
145*f64f2e0fSJagan Teki&reg_eldo3 {
146*f64f2e0fSJagan Teki	regulator-min-microvolt = <1800000>;
147*f64f2e0fSJagan Teki	regulator-max-microvolt = <1800000>;
148*f64f2e0fSJagan Teki	regulator-name = "dvdd-csi";
149*f64f2e0fSJagan Teki};
150*f64f2e0fSJagan Teki
151*f64f2e0fSJagan Teki&reg_fldo1 {
152*f64f2e0fSJagan Teki	regulator-min-microvolt = <1200000>;
153*f64f2e0fSJagan Teki	regulator-max-microvolt = <1200000>;
154*f64f2e0fSJagan Teki	regulator-name = "vcc-1v2-hsic";
155*f64f2e0fSJagan Teki};
156*f64f2e0fSJagan Teki
157*f64f2e0fSJagan Teki/*
158*f64f2e0fSJagan Teki * The A64 chip cannot work without this regulator off, although
159*f64f2e0fSJagan Teki * it seems to be only driving the AR100 core.
160*f64f2e0fSJagan Teki * Maybe we don't still know well about CPUs domain.
161*f64f2e0fSJagan Teki */
162*f64f2e0fSJagan Teki&reg_fldo2 {
163*f64f2e0fSJagan Teki	regulator-always-on;
164*f64f2e0fSJagan Teki	regulator-min-microvolt = <1100000>;
165*f64f2e0fSJagan Teki	regulator-max-microvolt = <1100000>;
166*f64f2e0fSJagan Teki	regulator-name = "vdd-cpus";
167*f64f2e0fSJagan Teki};
168*f64f2e0fSJagan Teki
169*f64f2e0fSJagan Teki&reg_rtc_ldo {
170*f64f2e0fSJagan Teki	regulator-name = "vcc-rtc";
171*f64f2e0fSJagan Teki};
172*f64f2e0fSJagan Teki
173*f64f2e0fSJagan Teki&uart0 {
174*f64f2e0fSJagan Teki	pinctrl-names = "default";
175*f64f2e0fSJagan Teki	pinctrl-0 = <&uart0_pins_a>;
176*f64f2e0fSJagan Teki	status = "okay";
177*f64f2e0fSJagan Teki};
178*f64f2e0fSJagan Teki
179*f64f2e0fSJagan Teki&usb_otg {
180*f64f2e0fSJagan Teki	dr_mode = "otg";
181*f64f2e0fSJagan Teki	status = "okay";
182*f64f2e0fSJagan Teki};
183*f64f2e0fSJagan Teki
184*f64f2e0fSJagan Teki&usbphy {
185*f64f2e0fSJagan Teki	usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
186*f64f2e0fSJagan Teki	usb0_vbus-supply = <&reg_drivevbus>;
187*f64f2e0fSJagan Teki	status = "okay";
188*f64f2e0fSJagan Teki};
189