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	soc@01c00000 {
24		mmc0: mmc@01c0f000 {
25			pinctrl-names = "default";
26			pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
27			vmmc-supply = <&reg_vcc3v3>;
28			bus-width = <4>;
29			cd-gpios = <&pio 7 1 0>; /* PH1 */
30			cd-inverted;
31			status = "okay";
32		};
33
34		usbphy: phy@01c13400 {
35			usb1_vbus-supply = <&reg_usb1_vbus>;
36			usb2_vbus-supply = <&reg_usb2_vbus>;
37			status = "okay";
38		};
39
40		ehci0: usb@01c14000 {
41			status = "okay";
42		};
43
44		ohci0: usb@01c14400 {
45			status = "okay";
46		};
47
48		ahci: sata@01c18000 {
49			target-supply = <&reg_ahci_5v>;
50			status = "okay";
51		};
52
53		ehci1: usb@01c1c000 {
54			status = "okay";
55		};
56
57		ohci1: usb@01c1c400 {
58			status = "okay";
59		};
60
61		pinctrl@01c20800 {
62			ahci_pwr_pin_a: ahci_pwr_pin@0 {
63				allwinner,pins = "PH2";
64			};
65
66			led_pins_pcduino3: led_pins@0 {
67				allwinner,pins = "PH15", "PH16";
68				allwinner,function = "gpio_out";
69				allwinner,drive = <0>;
70				allwinner,pull = <0>;
71			};
72
73			key_pins_pcduino3: key_pins@0 {
74				allwinner,pins = "PH17", "PH18", "PH19";
75				allwinner,function = "gpio_in";
76				allwinner,drive = <0>;
77				allwinner,pull = <0>;
78			};
79		};
80
81		ir0: ir@01c21800 {
82			pinctrl-names = "default";
83			pinctrl-0 = <&ir0_pins_a>;
84			status = "okay";
85		};
86
87		uart0: serial@01c28000 {
88			pinctrl-names = "default";
89			pinctrl-0 = <&uart0_pins_a>;
90			status = "okay";
91		};
92
93		i2c0: i2c@01c2ac00 {
94			pinctrl-names = "default";
95			pinctrl-0 = <&i2c0_pins_a>;
96			status = "okay";
97
98			axp209: pmic@34 {
99				compatible = "x-powers,axp209";
100				reg = <0x34>;
101				interrupt-parent = <&nmi_intc>;
102				interrupts = <0 8>;
103
104				interrupt-controller;
105				#interrupt-cells = <1>;
106			};
107		};
108
109		gmac: ethernet@01c50000 {
110			pinctrl-names = "default";
111			pinctrl-0 = <&gmac_pins_mii_a>;
112			phy = <&phy1>;
113			phy-mode = "mii";
114			status = "okay";
115
116			phy1: ethernet-phy@1 {
117				reg = <1>;
118			};
119		};
120	};
121
122	leds {
123		compatible = "gpio-leds";
124		pinctrl-names = "default";
125		pinctrl-0 = <&led_pins_pcduino3>;
126
127		tx {
128			label = "pcduino3:green:tx";
129			gpios = <&pio 7 15 GPIO_ACTIVE_LOW>;
130		};
131
132		rx {
133			label = "pcduino3:green:rx";
134			gpios = <&pio 7 16 GPIO_ACTIVE_LOW>;
135		};
136	};
137
138	gpio_keys {
139		compatible = "gpio-keys";
140		pinctrl-names = "default";
141		pinctrl-0 = <&key_pins_pcduino3>;
142		#address-cells = <1>;
143		#size-cells = <0>;
144		button@0 {
145			label = "Key Back";
146			linux,code = <KEY_BACK>;
147			gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;
148		};
149		button@1 {
150			label = "Key Home";
151			linux,code = <KEY_HOME>;
152			gpios = <&pio 7 18 GPIO_ACTIVE_LOW>;
153		};
154		button@2 {
155			label = "Key Menu";
156			linux,code = <KEY_MENU>;
157			gpios = <&pio 7 19 GPIO_ACTIVE_LOW>;
158		};
159	};
160
161	reg_usb1_vbus: usb1-vbus {
162		status = "okay";
163	};
164
165	reg_usb2_vbus: usb2-vbus {
166		status = "okay";
167	};
168
169	reg_ahci_5v: ahci-5v {
170		gpio = <&pio 7 2 0>;
171		status = "okay";
172	};
173};
174