1*f3df7758SJagan Teki/*
2*f3df7758SJagan Teki * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
3*f3df7758SJagan Teki *
4*f3df7758SJagan Teki * This file is dual-licensed: you can use it either under the terms
5*f3df7758SJagan Teki * of the GPL or the X11 license, at your option. Note that this dual
6*f3df7758SJagan Teki * licensing only applies to this file, and not this project as a
7*f3df7758SJagan Teki * whole.
8*f3df7758SJagan Teki *
9*f3df7758SJagan Teki *  a) This file is free software; you can redistribute it and/or
10*f3df7758SJagan Teki *     modify it under the terms of the GNU General Public License as
11*f3df7758SJagan Teki *     published by the Free Software Foundation; either version 2 of the
12*f3df7758SJagan Teki *     License, or (at your option) any later version.
13*f3df7758SJagan Teki *
14*f3df7758SJagan Teki *     This file is distributed in the hope that it will be useful,
15*f3df7758SJagan Teki *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16*f3df7758SJagan Teki *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17*f3df7758SJagan Teki *     GNU General Public License for more details.
18*f3df7758SJagan Teki *
19*f3df7758SJagan Teki * Or, alternatively,
20*f3df7758SJagan Teki *
21*f3df7758SJagan Teki *  b) Permission is hereby granted, free of charge, to any person
22*f3df7758SJagan Teki *     obtaining a copy of this software and associated documentation
23*f3df7758SJagan Teki *     files (the "Software"), to deal in the Software without
24*f3df7758SJagan Teki *     restriction, including without limitation the rights to use,
25*f3df7758SJagan Teki *     copy, modify, merge, publish, distribute, sublicense, and/or
26*f3df7758SJagan Teki *     sell copies of the Software, and to permit persons to whom the
27*f3df7758SJagan Teki *     Software is furnished to do so, subject to the following
28*f3df7758SJagan Teki *     conditions:
29*f3df7758SJagan Teki *
30*f3df7758SJagan Teki *     The above copyright notice and this permission notice shall be
31*f3df7758SJagan Teki *     included in all copies or substantial portions of the Software.
32*f3df7758SJagan Teki *
33*f3df7758SJagan Teki *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34*f3df7758SJagan Teki *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35*f3df7758SJagan Teki *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36*f3df7758SJagan Teki *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37*f3df7758SJagan Teki *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38*f3df7758SJagan Teki *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39*f3df7758SJagan Teki *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40*f3df7758SJagan Teki *     OTHER DEALINGS IN THE SOFTWARE.
41*f3df7758SJagan Teki */
42*f3df7758SJagan Teki
43*f3df7758SJagan Teki/dts-v1/;
44*f3df7758SJagan Teki#include "sun8i-r40.dtsi"
45*f3df7758SJagan Teki
46*f3df7758SJagan Teki#include <dt-bindings/gpio/gpio.h>
47*f3df7758SJagan Teki
48*f3df7758SJagan Teki/ {
49*f3df7758SJagan Teki	model = "Banana Pi M2 Berry";
50*f3df7758SJagan Teki	compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
51*f3df7758SJagan Teki
52*f3df7758SJagan Teki	aliases {
53*f3df7758SJagan Teki		serial0 = &uart0;
54*f3df7758SJagan Teki	};
55*f3df7758SJagan Teki
56*f3df7758SJagan Teki	chosen {
57*f3df7758SJagan Teki		stdout-path = "serial0:115200n8";
58*f3df7758SJagan Teki	};
59*f3df7758SJagan Teki};
60*f3df7758SJagan Teki
61*f3df7758SJagan Teki&i2c0 {
62*f3df7758SJagan Teki	status = "okay";
63*f3df7758SJagan Teki
64*f3df7758SJagan Teki	axp22x: pmic@68 {
65*f3df7758SJagan Teki		compatible = "x-powers,axp221";
66*f3df7758SJagan Teki		reg = <0x34>;
67*f3df7758SJagan Teki		interrupt-parent = <&nmi_intc>;
68*f3df7758SJagan Teki		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
69*f3df7758SJagan Teki	};
70*f3df7758SJagan Teki};
71*f3df7758SJagan Teki
72*f3df7758SJagan Teki#include "axp22x.dtsi"
73*f3df7758SJagan Teki
74*f3df7758SJagan Teki&reg_aldo3 {
75*f3df7758SJagan Teki	regulator-always-on;
76*f3df7758SJagan Teki	regulator-min-microvolt = <2700000>;
77*f3df7758SJagan Teki	regulator-max-microvolt = <3300000>;
78*f3df7758SJagan Teki	regulator-name = "avcc";
79*f3df7758SJagan Teki};
80*f3df7758SJagan Teki
81*f3df7758SJagan Teki&reg_dcdc1 {
82*f3df7758SJagan Teki	regulator-always-on;
83*f3df7758SJagan Teki	regulator-min-microvolt = <3000000>;
84*f3df7758SJagan Teki	regulator-max-microvolt = <3000000>;
85*f3df7758SJagan Teki	regulator-name = "vcc-3v0";
86*f3df7758SJagan Teki};
87*f3df7758SJagan Teki
88*f3df7758SJagan Teki&reg_dcdc2 {
89*f3df7758SJagan Teki	regulator-always-on;
90*f3df7758SJagan Teki	regulator-min-microvolt = <1000000>;
91*f3df7758SJagan Teki	regulator-max-microvolt = <1300000>;
92*f3df7758SJagan Teki	regulator-name = "vdd-cpu";
93*f3df7758SJagan Teki};
94*f3df7758SJagan Teki
95*f3df7758SJagan Teki&reg_dcdc3 {
96*f3df7758SJagan Teki	regulator-always-on;
97*f3df7758SJagan Teki	regulator-min-microvolt = <1000000>;
98*f3df7758SJagan Teki	regulator-max-microvolt = <1300000>;
99*f3df7758SJagan Teki	regulator-name = "vdd-sys";
100*f3df7758SJagan Teki};
101*f3df7758SJagan Teki
102*f3df7758SJagan Teki&reg_dcdc5 {
103*f3df7758SJagan Teki	regulator-always-on;
104*f3df7758SJagan Teki	regulator-min-microvolt = <1500000>;
105*f3df7758SJagan Teki	regulator-max-microvolt = <1500000>;
106*f3df7758SJagan Teki	regulator-name = "vcc-dram";
107*f3df7758SJagan Teki};
108*f3df7758SJagan Teki
109*f3df7758SJagan Teki&reg_dldo1 {
110*f3df7758SJagan Teki	regulator-min-microvolt = <1800000>;
111*f3df7758SJagan Teki	regulator-max-microvolt = <3300000>;
112*f3df7758SJagan Teki	regulator-name = "vcc-wifi-io";
113*f3df7758SJagan Teki};
114*f3df7758SJagan Teki
115*f3df7758SJagan Teki&reg_dldo2 {
116*f3df7758SJagan Teki	regulator-min-microvolt = <3300000>;
117*f3df7758SJagan Teki	regulator-max-microvolt = <3300000>;
118*f3df7758SJagan Teki	regulator-name = "vcc-wifi";
119*f3df7758SJagan Teki};
120*f3df7758SJagan Teki
121*f3df7758SJagan Teki&mmc0 {
122*f3df7758SJagan Teki	vmmc-supply = <&reg_dcdc1>;
123*f3df7758SJagan Teki	bus-width = <4>;
124*f3df7758SJagan Teki	cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
125*f3df7758SJagan Teki	status = "okay";
126*f3df7758SJagan Teki};
127*f3df7758SJagan Teki
128*f3df7758SJagan Teki&uart0 {
129*f3df7758SJagan Teki	pinctrl-names = "default";
130*f3df7758SJagan Teki	pinctrl-0 = <&uart0_pb_pins>;
131*f3df7758SJagan Teki	status = "okay";
132*f3df7758SJagan Teki};
133