1/*
2 * Copyright 2014 Zoltan HERPAI
3 * Zoltan HERPAI <wigyori@uid0.hu>
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 or later at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
13/dts-v1/;
14/include/ "sun7i-a20.dtsi"
15/include/ "sunxi-common-regulators.dtsi"
16#include <dt-bindings/gpio/gpio.h>
17#include <dt-bindings/input/input.h>
18
19/ {
20	model = "LinkSprite pcDuino3";
21	compatible = "linksprite,pcduino3", "allwinner,sun7i-a20";
22
23	chosen {
24		stdout-path = &uart0;
25	};
26
27	soc@01c00000 {
28		mmc0: mmc@01c0f000 {
29			pinctrl-names = "default";
30			pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
31			vmmc-supply = <&reg_vcc3v3>;
32			bus-width = <4>;
33			cd-gpios = <&pio 7 1 0>; /* PH1 */
34			cd-inverted;
35			status = "okay";
36		};
37
38		usbphy: phy@01c13400 {
39			usb1_vbus-supply = <&reg_usb1_vbus>;
40			usb2_vbus-supply = <&reg_usb2_vbus>;
41			status = "okay";
42		};
43
44		ehci0: usb@01c14000 {
45			status = "okay";
46		};
47
48		ohci0: usb@01c14400 {
49			status = "okay";
50		};
51
52		ahci: sata@01c18000 {
53			target-supply = <&reg_ahci_5v>;
54			status = "okay";
55		};
56
57		ehci1: usb@01c1c000 {
58			status = "okay";
59		};
60
61		ohci1: usb@01c1c400 {
62			status = "okay";
63		};
64
65		pinctrl@01c20800 {
66			ahci_pwr_pin_a: ahci_pwr_pin@0 {
67				allwinner,pins = "PH2";
68			};
69
70			led_pins_pcduino3: led_pins@0 {
71				allwinner,pins = "PH15", "PH16";
72				allwinner,function = "gpio_out";
73				allwinner,drive = <0>;
74				allwinner,pull = <0>;
75			};
76
77			key_pins_pcduino3: key_pins@0 {
78				allwinner,pins = "PH17", "PH18", "PH19";
79				allwinner,function = "gpio_in";
80				allwinner,drive = <0>;
81				allwinner,pull = <0>;
82			};
83		};
84
85		ir0: ir@01c21800 {
86			pinctrl-names = "default";
87			pinctrl-0 = <&ir0_pins_a>;
88			status = "okay";
89		};
90
91		uart0: serial@01c28000 {
92			pinctrl-names = "default";
93			pinctrl-0 = <&uart0_pins_a>;
94			status = "okay";
95		};
96
97		i2c0: i2c@01c2ac00 {
98			pinctrl-names = "default";
99			pinctrl-0 = <&i2c0_pins_a>;
100			status = "okay";
101
102			axp209: pmic@34 {
103				compatible = "x-powers,axp209";
104				reg = <0x34>;
105				interrupt-parent = <&nmi_intc>;
106				interrupts = <0 8>;
107
108				interrupt-controller;
109				#interrupt-cells = <1>;
110			};
111		};
112
113		gmac: ethernet@01c50000 {
114			pinctrl-names = "default";
115			pinctrl-0 = <&gmac_pins_mii_a>;
116			phy = <&phy1>;
117			phy-mode = "mii";
118			status = "okay";
119
120			phy1: ethernet-phy@1 {
121				reg = <1>;
122			};
123		};
124	};
125
126	leds {
127		compatible = "gpio-leds";
128		pinctrl-names = "default";
129		pinctrl-0 = <&led_pins_pcduino3>;
130
131		tx {
132			label = "pcduino3:green:tx";
133			gpios = <&pio 7 15 GPIO_ACTIVE_LOW>;
134		};
135
136		rx {
137			label = "pcduino3:green:rx";
138			gpios = <&pio 7 16 GPIO_ACTIVE_LOW>;
139		};
140	};
141
142	gpio_keys {
143		compatible = "gpio-keys";
144		pinctrl-names = "default";
145		pinctrl-0 = <&key_pins_pcduino3>;
146		#address-cells = <1>;
147		#size-cells = <0>;
148		button@0 {
149			label = "Key Back";
150			linux,code = <KEY_BACK>;
151			gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;
152		};
153		button@1 {
154			label = "Key Home";
155			linux,code = <KEY_HOME>;
156			gpios = <&pio 7 18 GPIO_ACTIVE_LOW>;
157		};
158		button@2 {
159			label = "Key Menu";
160			linux,code = <KEY_MENU>;
161			gpios = <&pio 7 19 GPIO_ACTIVE_LOW>;
162		};
163	};
164
165	reg_usb1_vbus: usb1-vbus {
166		status = "okay";
167	};
168
169	reg_usb2_vbus: usb2-vbus {
170		status = "okay";
171	};
172
173	reg_ahci_5v: ahci-5v {
174		gpio = <&pio 7 2 0>;
175		status = "okay";
176	};
177};
178