sun5i-a13-olinuxino.dts revision 284090
1/*
2 * Copyright 2012 Maxime Ripard
3 *
4 * Maxime Ripard <maxime.ripard@free-electrons.com>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 *  a) This file is free software; you can redistribute it and/or
12 *     modify it under the terms of the GNU General Public License as
13 *     published by the Free Software Foundation; either version 2 of the
14 *     License, or (at your option) any later version.
15 *
16 *     This file is distributed in the hope that it will be useful,
17 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 *     GNU General Public License for more details.
20 *
21 *     You should have received a copy of the GNU General Public
22 *     License along with this file; if not, write to the Free
23 *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
24 *     MA 02110-1301 USA
25 *
26 * Or, alternatively,
27 *
28 *  b) Permission is hereby granted, free of charge, to any person
29 *     obtaining a copy of this software and associated documentation
30 *     files (the "Software"), to deal in the Software without
31 *     restriction, including without limitation the rights to use,
32 *     copy, modify, merge, publish, distribute, sublicense, and/or
33 *     sell copies of the Software, and to permit persons to whom the
34 *     Software is furnished to do so, subject to the following
35 *     conditions:
36 *
37 *     The above copyright notice and this permission notice shall be
38 *     included in all copies or substantial portions of the Software.
39 *
40 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 *     OTHER DEALINGS IN THE SOFTWARE.
48 */
49
50/dts-v1/;
51#include "sun5i-a13.dtsi"
52#include "sunxi-common-regulators.dtsi"
53
54#include <dt-bindings/gpio/gpio.h>
55#include <dt-bindings/input/input.h>
56#include <dt-bindings/pinctrl/sun4i-a10.h>
57
58/ {
59	model = "Olimex A13-Olinuxino";
60	compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13";
61
62	aliases {
63		serial0 = &uart1;
64	};
65
66	soc@01c00000 {
67		mmc0: mmc@01c0f000 {
68			pinctrl-names = "default";
69			pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
70			vmmc-supply = <&reg_vcc3v3>;
71			bus-width = <4>;
72			cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
73			cd-inverted;
74			status = "okay";
75		};
76
77		usbphy: phy@01c13400 {
78			usb1_vbus-supply = <&reg_usb1_vbus>;
79			status = "okay";
80		};
81
82		ehci0: usb@01c14000 {
83			status = "okay";
84		};
85
86		ohci0: usb@01c14400 {
87			status = "okay";
88		};
89
90		pinctrl@01c20800 {
91			mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
92				allwinner,pins = "PG0";
93				allwinner,function = "gpio_in";
94				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
95				allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
96			};
97
98			led_pins_olinuxino: led_pins@0 {
99				allwinner,pins = "PG9";
100				allwinner,function = "gpio_out";
101				allwinner,drive = <SUN4I_PINCTRL_20_MA>;
102				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
103			};
104
105			usb1_vbus_pin_olinuxino: usb1_vbus_pin@0 {
106				allwinner,pins = "PG11";
107				allwinner,function = "gpio_out";
108				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
109				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
110			};
111		};
112
113		lradc: lradc@01c22800 {
114			vref-supply = <&reg_vcc3v0>;
115			status = "okay";
116
117			button@191 {
118				label = "Volume Up";
119				linux,code = <KEY_VOLUMEUP>;
120				channel = <0>;
121				voltage = <191274>;
122			};
123
124			button@392 {
125				label = "Volume Down";
126				linux,code = <KEY_VOLUMEDOWN>;
127				channel = <0>;
128				voltage = <392644>;
129			};
130
131			button@601 {
132				label = "Menu";
133				linux,code = <KEY_MENU>;
134				channel = <0>;
135				voltage = <601151>;
136			};
137
138			button@795 {
139				label = "Enter";
140				linux,code = <KEY_ENTER>;
141				channel = <0>;
142				voltage = <795090>;
143			};
144
145			button@987 {
146				label = "Home";
147				linux,code = <KEY_HOMEPAGE>;
148				channel = <0>;
149				voltage = <987387>;
150			};
151		};
152
153		uart1: serial@01c28400 {
154			pinctrl-names = "default";
155			pinctrl-0 = <&uart1_pins_b>;
156			status = "okay";
157		};
158
159		i2c0: i2c@01c2ac00 {
160			pinctrl-names = "default";
161			pinctrl-0 = <&i2c0_pins_a>;
162			status = "okay";
163
164			axp209: pmic@34 {
165				compatible = "x-powers,axp209";
166				reg = <0x34>;
167				interrupts = <0>;
168
169				interrupt-controller;
170				#interrupt-cells = <1>;
171			};
172		};
173
174		i2c1: i2c@01c2b000 {
175			pinctrl-names = "default";
176			pinctrl-0 = <&i2c1_pins_a>;
177			status = "okay";
178		};
179
180		i2c2: i2c@01c2b400 {
181			pinctrl-names = "default";
182			pinctrl-0 = <&i2c2_pins_a>;
183			status = "okay";
184		};
185	};
186
187	leds {
188		compatible = "gpio-leds";
189		pinctrl-names = "default";
190		pinctrl-0 = <&led_pins_olinuxino>;
191
192		power {
193			gpios = <&pio 6 9 GPIO_ACTIVE_HIGH>;
194			default-state = "on";
195		};
196	};
197
198	reg_usb1_vbus: usb1-vbus {
199		pinctrl-0 = <&usb1_vbus_pin_olinuxino>;
200		gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>;
201		status = "okay";
202	};
203};
204