1df3ebdc9SAndre Przywara/*
2df3ebdc9SAndre Przywara * Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.xyz>
3df3ebdc9SAndre Przywara *
4df3ebdc9SAndre Przywara * Based on sun50i-a64-pine64.dts, which is:
5df3ebdc9SAndre Przywara *   Copyright (c) 2016 ARM Ltd.
6df3ebdc9SAndre Przywara *
7df3ebdc9SAndre Przywara * This file is dual-licensed: you can use it either under the terms
8df3ebdc9SAndre Przywara * of the GPL or the X11 license, at your option. Note that this dual
9df3ebdc9SAndre Przywara * licensing only applies to this file, and not this project as a
10df3ebdc9SAndre Przywara * whole.
11df3ebdc9SAndre Przywara *
12df3ebdc9SAndre Przywara *  a) This library is free software; you can redistribute it and/or
13df3ebdc9SAndre Przywara *     modify it under the terms of the GNU General Public License as
14df3ebdc9SAndre Przywara *     published by the Free Software Foundation; either version 2 of the
15df3ebdc9SAndre Przywara *     License, or (at your option) any later version.
16df3ebdc9SAndre Przywara *
17df3ebdc9SAndre Przywara *     This library is distributed in the hope that it will be useful,
18df3ebdc9SAndre Przywara *     but WITHOUT ANY WARRANTY; without even the implied warranty of
19df3ebdc9SAndre Przywara *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20df3ebdc9SAndre Przywara *     GNU General Public License for more details.
21df3ebdc9SAndre Przywara *
22df3ebdc9SAndre Przywara * Or, alternatively,
23df3ebdc9SAndre Przywara *
24df3ebdc9SAndre Przywara *  b) Permission is hereby granted, free of charge, to any person
25df3ebdc9SAndre Przywara *     obtaining a copy of this software and associated documentation
26df3ebdc9SAndre Przywara *     files (the "Software"), to deal in the Software without
27df3ebdc9SAndre Przywara *     restriction, including without limitation the rights to use,
28df3ebdc9SAndre Przywara *     copy, modify, merge, publish, distribute, sublicense, and/or
29df3ebdc9SAndre Przywara *     sell copies of the Software, and to permit persons to whom the
30df3ebdc9SAndre Przywara *     Software is furnished to do so, subject to the following
31df3ebdc9SAndre Przywara *     conditions:
32df3ebdc9SAndre Przywara *
33df3ebdc9SAndre Przywara *     The above copyright notice and this permission notice shall be
34df3ebdc9SAndre Przywara *     included in all copies or substantial portions of the Software.
35df3ebdc9SAndre Przywara *
36df3ebdc9SAndre Przywara *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37df3ebdc9SAndre Przywara *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38df3ebdc9SAndre Przywara *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39df3ebdc9SAndre Przywara *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40df3ebdc9SAndre Przywara *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41df3ebdc9SAndre Przywara *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42df3ebdc9SAndre Przywara *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43df3ebdc9SAndre Przywara *     OTHER DEALINGS IN THE SOFTWARE.
44df3ebdc9SAndre Przywara */
45df3ebdc9SAndre Przywara
46df3ebdc9SAndre Przywara#include "sun50i-a64.dtsi"
47df3ebdc9SAndre Przywara
48*1b39a183SAndre Przywara#include <dt-bindings/gpio/gpio.h>
49*1b39a183SAndre Przywara
50df3ebdc9SAndre Przywara&mmc0 {
51df3ebdc9SAndre Przywara	pinctrl-names = "default";
52df3ebdc9SAndre Przywara	pinctrl-0 = <&mmc0_pins>;
53df3ebdc9SAndre Przywara	vmmc-supply = <&reg_dcdc1>;
54df3ebdc9SAndre Przywara	non-removable;
55df3ebdc9SAndre Przywara	disable-wp;
56df3ebdc9SAndre Przywara	bus-width = <4>;
57*1b39a183SAndre Przywara	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
58df3ebdc9SAndre Przywara	status = "okay";
59df3ebdc9SAndre Przywara};
60df3ebdc9SAndre Przywara
61df3ebdc9SAndre Przywara&r_rsb {
62df3ebdc9SAndre Przywara	status = "okay";
63df3ebdc9SAndre Przywara
64df3ebdc9SAndre Przywara	axp803: pmic@3a3 {
65df3ebdc9SAndre Przywara		compatible = "x-powers,axp803";
66df3ebdc9SAndre Przywara		reg = <0x3a3>;
67df3ebdc9SAndre Przywara		interrupt-parent = <&r_intc>;
68df3ebdc9SAndre Przywara		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
69df3ebdc9SAndre Przywara	};
70df3ebdc9SAndre Przywara};
71df3ebdc9SAndre Przywara
72*1b39a183SAndre Przywara&spi0  {
73*1b39a183SAndre Przywara	status = "okay";
74*1b39a183SAndre Przywara
75*1b39a183SAndre Przywara	flash@0 {
76*1b39a183SAndre Przywara		#address-cells = <1>;
77*1b39a183SAndre Przywara		#size-cells = <1>;
78*1b39a183SAndre Przywara		compatible = "jedec,spi-nor";
79*1b39a183SAndre Przywara		reg = <0>;
80*1b39a183SAndre Przywara		spi-max-frequency = <40000000>;
81*1b39a183SAndre Przywara	};
82*1b39a183SAndre Przywara};
83*1b39a183SAndre Przywara
84df3ebdc9SAndre Przywara#include "axp803.dtsi"
85df3ebdc9SAndre Przywara
86df3ebdc9SAndre Przywara&reg_aldo2 {
87df3ebdc9SAndre Przywara	regulator-always-on;
88df3ebdc9SAndre Przywara	regulator-min-microvolt = <1800000>;
89df3ebdc9SAndre Przywara	regulator-max-microvolt = <3300000>;
90df3ebdc9SAndre Przywara	regulator-name = "vcc-pl";
91df3ebdc9SAndre Przywara};
92df3ebdc9SAndre Przywara
93df3ebdc9SAndre Przywara&reg_aldo3 {
94df3ebdc9SAndre Przywara	regulator-always-on;
95df3ebdc9SAndre Przywara	regulator-min-microvolt = <3000000>;
96df3ebdc9SAndre Przywara	regulator-max-microvolt = <3000000>;
97df3ebdc9SAndre Przywara	regulator-name = "vcc-pll-avcc";
98df3ebdc9SAndre Przywara};
99df3ebdc9SAndre Przywara
100df3ebdc9SAndre Przywara&reg_dcdc1 {
101df3ebdc9SAndre Przywara	regulator-always-on;
102df3ebdc9SAndre Przywara	regulator-min-microvolt = <3300000>;
103df3ebdc9SAndre Przywara	regulator-max-microvolt = <3300000>;
104df3ebdc9SAndre Przywara	regulator-name = "vcc-3v3";
105df3ebdc9SAndre Przywara};
106df3ebdc9SAndre Przywara
107df3ebdc9SAndre Przywara&reg_dcdc2 {
108df3ebdc9SAndre Przywara	regulator-always-on;
109df3ebdc9SAndre Przywara	regulator-min-microvolt = <1040000>;
110df3ebdc9SAndre Przywara	regulator-max-microvolt = <1300000>;
111df3ebdc9SAndre Przywara	regulator-name = "vdd-cpux";
112df3ebdc9SAndre Przywara};
113df3ebdc9SAndre Przywara
114df3ebdc9SAndre Przywara/* DCDC3 is polyphased with DCDC2 */
115df3ebdc9SAndre Przywara
116df3ebdc9SAndre Przywara&reg_dcdc5 {
117df3ebdc9SAndre Przywara	regulator-always-on;
118df3ebdc9SAndre Przywara	regulator-min-microvolt = <1200000>;
119df3ebdc9SAndre Przywara	regulator-max-microvolt = <1200000>;
120df3ebdc9SAndre Przywara	regulator-name = "vcc-dram";
121df3ebdc9SAndre Przywara};
122df3ebdc9SAndre Przywara
123df3ebdc9SAndre Przywara&reg_dcdc6 {
124df3ebdc9SAndre Przywara	regulator-always-on;
125df3ebdc9SAndre Przywara	regulator-min-microvolt = <1100000>;
126df3ebdc9SAndre Przywara	regulator-max-microvolt = <1100000>;
127df3ebdc9SAndre Przywara	regulator-name = "vdd-sys";
128df3ebdc9SAndre Przywara};
129df3ebdc9SAndre Przywara
130df3ebdc9SAndre Przywara&reg_eldo1 {
131df3ebdc9SAndre Przywara	regulator-always-on;
132df3ebdc9SAndre Przywara	regulator-min-microvolt = <1800000>;
133df3ebdc9SAndre Przywara	regulator-max-microvolt = <1800000>;
134df3ebdc9SAndre Przywara	regulator-name = "vdd-1v8-lpddr";
135df3ebdc9SAndre Przywara};
136df3ebdc9SAndre Przywara
137df3ebdc9SAndre Przywara&reg_fldo1 {
138df3ebdc9SAndre Przywara	regulator-min-microvolt = <1200000>;
139df3ebdc9SAndre Przywara	regulator-max-microvolt = <1200000>;
140df3ebdc9SAndre Przywara	regulator-name = "vcc-1v2-hsic";
141df3ebdc9SAndre Przywara};
142df3ebdc9SAndre Przywara
143df3ebdc9SAndre Przywara/*
144df3ebdc9SAndre Przywara * The A64 chip cannot work without this regulator off, although
145df3ebdc9SAndre Przywara * it seems to be only driving the AR100 core.
146df3ebdc9SAndre Przywara * Maybe we don't still know well about CPUs domain.
147df3ebdc9SAndre Przywara */
148df3ebdc9SAndre Przywara&reg_fldo2 {
149df3ebdc9SAndre Przywara	regulator-always-on;
150df3ebdc9SAndre Przywara	regulator-min-microvolt = <1100000>;
151df3ebdc9SAndre Przywara	regulator-max-microvolt = <1100000>;
152df3ebdc9SAndre Przywara	regulator-name = "vdd-cpus";
153df3ebdc9SAndre Przywara};
154df3ebdc9SAndre Przywara
155df3ebdc9SAndre Przywara&reg_rtc_ldo {
156df3ebdc9SAndre Przywara	regulator-name = "vcc-rtc";
157df3ebdc9SAndre Przywara};
158