ARM: dts: Build dtbs for Rockchip boards
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / sun7i-a20-i12-tvbox.dts
1 /*
2  * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 /dts-v1/;
13 /include/ "sun7i-a20.dtsi"
14 /include/ "sunxi-common-regulators.dtsi"
15
16 / {
17         model = "I12 / Q5 / QT840A A20 tvbox";
18         compatible = "allwinner,i12-tvbox", "allwinner,sun7i-a20";
19
20         soc@01c00000 {
21                 mmc0: mmc@01c0f000 {
22                         pinctrl-names = "default";
23                         pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
24                         vmmc-supply = <&reg_vcc3v3>;
25                         bus-width = <4>;
26                         cd-gpios = <&pio 7 1 0>; /* PH1 */
27                         cd-inverted;
28                         status = "okay";
29                 };
30
31                 mmc3: mmc@01c12000 {
32                         pinctrl-names = "default";
33                         pinctrl-0 = <&mmc3_pins_a>;
34                         vmmc-supply = <&reg_vmmc3>;
35                         bus-width = <4>;
36                         non-removable;
37                         status = "okay";
38                 };
39
40                 usbphy: phy@01c13400 {
41                         usb1_vbus-supply = <&reg_usb1_vbus>;
42                         usb2_vbus-supply = <&reg_usb2_vbus>;
43                         status = "okay";
44                 };
45
46                 ehci0: usb@01c14000 {
47                         status = "okay";
48                 };
49
50                 ohci0: usb@01c14400 {
51                         status = "okay";
52                 };
53
54                 ehci1: usb@01c1c000 {
55                         status = "okay";
56                 };
57
58                 ohci1: usb@01c1c400 {
59                         status = "okay";
60                 };
61
62                 pinctrl@01c20800 {
63                         mmc3_pins_a: mmc3@0 {
64                                 /* AP6210 / AP6330 requires pull-up */
65                                 allwinner,pull = <1>;
66                         };
67
68                         vmmc3_pin_i12_tvbox: vmmc3_pin@0 {
69                                 allwinner,pins = "PH2";
70                                 allwinner,function = "gpio_out";
71                                 allwinner,drive = <0>;
72                                 allwinner,pull = <0>;
73                         };
74
75                         vmmc3_io_pin_i12_tvbox: vmmc3_io_pin@0 {
76                                 allwinner,pins = "PH12";
77                                 allwinner,function = "gpio_out";
78                                 allwinner,drive = <0>;
79                                 allwinner,pull = <0>;
80                         };
81
82                         gmac_power_pin_i12_tvbox: gmac_power_pin@0 {
83                                 allwinner,pins = "PH21";
84                                 allwinner,function = "gpio_out";
85                                 allwinner,drive = <0>;
86                                 allwinner,pull = <0>;
87                         };
88
89                         led_pins_i12_tvbox: led_pins@0 {
90                                 allwinner,pins = "PH9", "PH20";
91                                 allwinner,function = "gpio_out";
92                                 allwinner,drive = <0>;
93                                 allwinner,pull = <0>;
94                         };
95                 };
96
97                 uart0: serial@01c28000 {
98                         pinctrl-names = "default";
99                         pinctrl-0 = <&uart0_pins_a>;
100                         status = "okay";
101                 };
102
103                 gmac: ethernet@01c50000 {
104                         pinctrl-names = "default";
105                         pinctrl-0 = <&gmac_pins_mii_a>;
106                         phy = <&phy1>;
107                         phy-mode = "mii";
108                         phy-supply = <&reg_gmac_3v3>;
109                         status = "okay";
110
111                         phy1: ethernet-phy@1 {
112                                 reg = <1>;
113                         };
114                 };
115         };
116
117         leds {
118                 compatible = "gpio-leds";
119                 pinctrl-names = "default";
120                 pinctrl-0 = <&led_pins_i12_tvbox>;
121
122                 red {
123                         label = "i12_tvbox:red:usr";
124                         gpios = <&pio 7 9 1>;
125                 };
126
127                 blue {
128                         label = "i12_tvbox:blue:usr";
129                         gpios = <&pio 7 20 0>;
130                 };
131         };
132
133         reg_usb1_vbus: usb1-vbus {
134                 status = "okay";
135         };
136
137         reg_usb2_vbus: usb2-vbus {
138                 status = "okay";
139         };
140
141         reg_vmmc3: vmmc3 {
142                 compatible = "regulator-fixed";
143                 pinctrl-names = "default";
144                 pinctrl-0 = <&vmmc3_pin_i12_tvbox>;
145                 regulator-name = "vmmc3";
146                 regulator-min-microvolt = <3300000>;
147                 regulator-max-microvolt = <3300000>;
148                 enable-active-high;
149                 gpio = <&pio 7 2 0>;
150         };
151
152         reg_vmmc3_io: vmmc3-io {
153                 compatible = "regulator-fixed";
154                 pinctrl-names = "default";
155                 pinctrl-0 = <&vmmc3_io_pin_i12_tvbox>;
156                 regulator-name = "vmmc3-io";
157                 regulator-min-microvolt = <3300000>;
158                 regulator-max-microvolt = <3300000>;
159                 /* This controls VCC-PI, must be always on! */
160                 regulator-always-on;
161                 enable-active-high;
162                 gpio = <&pio 7 12 0>;
163         };
164
165         reg_gmac_3v3: gmac-3v3 {
166                 compatible = "regulator-fixed";
167                 pinctrl-names = "default";
168                 pinctrl-0 = <&gmac_power_pin_i12_tvbox>;
169                 regulator-name = "gmac-3v3";
170                 regulator-min-microvolt = <3300000>;
171                 regulator-max-microvolt = <3300000>;
172                 startup-delay-us = <50000>;
173                 enable-active-high;
174                 gpio = <&pio 7 21 0>;
175         };
176 };