x86/nmi: Fix use of unallocated cpumask_var_t
[cascardo/linux.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                 ir0: ir@01c21800 {
98                         pinctrl-names = "default";
99                         pinctrl-0 = <&ir0_pins_a>;
100                         status = "okay";
101                 };
102
103                 uart0: serial@01c28000 {
104                         pinctrl-names = "default";
105                         pinctrl-0 = <&uart0_pins_a>;
106                         status = "okay";
107                 };
108
109                 i2c0: i2c@01c2ac00 {
110                         pinctrl-names = "default";
111                         pinctrl-0 = <&i2c0_pins_a>;
112                         status = "okay";
113
114                         axp209: pmic@34 {
115                                 compatible = "x-powers,axp209";
116                                 reg = <0x34>;
117                                 interrupt-parent = <&nmi_intc>;
118                                 interrupts = <0 8>;
119
120                                 interrupt-controller;
121                                 #interrupt-cells = <1>;
122                         };
123                 };
124
125                 gmac: ethernet@01c50000 {
126                         pinctrl-names = "default";
127                         pinctrl-0 = <&gmac_pins_mii_a>;
128                         phy = <&phy1>;
129                         phy-mode = "mii";
130                         phy-supply = <&reg_gmac_3v3>;
131                         status = "okay";
132
133                         phy1: ethernet-phy@1 {
134                                 reg = <1>;
135                         };
136                 };
137         };
138
139         leds {
140                 compatible = "gpio-leds";
141                 pinctrl-names = "default";
142                 pinctrl-0 = <&led_pins_i12_tvbox>;
143
144                 red {
145                         label = "i12_tvbox:red:usr";
146                         gpios = <&pio 7 9 1>;
147                 };
148
149                 blue {
150                         label = "i12_tvbox:blue:usr";
151                         gpios = <&pio 7 20 0>;
152                 };
153         };
154
155         reg_usb1_vbus: usb1-vbus {
156                 status = "okay";
157         };
158
159         reg_usb2_vbus: usb2-vbus {
160                 status = "okay";
161         };
162
163         reg_vmmc3: vmmc3 {
164                 compatible = "regulator-fixed";
165                 pinctrl-names = "default";
166                 pinctrl-0 = <&vmmc3_pin_i12_tvbox>;
167                 regulator-name = "vmmc3";
168                 regulator-min-microvolt = <3300000>;
169                 regulator-max-microvolt = <3300000>;
170                 enable-active-high;
171                 gpio = <&pio 7 2 0>;
172         };
173
174         reg_vmmc3_io: vmmc3-io {
175                 compatible = "regulator-fixed";
176                 pinctrl-names = "default";
177                 pinctrl-0 = <&vmmc3_io_pin_i12_tvbox>;
178                 regulator-name = "vmmc3-io";
179                 regulator-min-microvolt = <3300000>;
180                 regulator-max-microvolt = <3300000>;
181                 /* This controls VCC-PI, must be always on! */
182                 regulator-always-on;
183                 enable-active-high;
184                 gpio = <&pio 7 12 0>;
185         };
186
187         reg_gmac_3v3: gmac-3v3 {
188                 compatible = "regulator-fixed";
189                 pinctrl-names = "default";
190                 pinctrl-0 = <&gmac_power_pin_i12_tvbox>;
191                 regulator-name = "gmac-3v3";
192                 regulator-min-microvolt = <3300000>;
193                 regulator-max-microvolt = <3300000>;
194                 startup-delay-us = <50000>;
195                 enable-active-high;
196                 gpio = <&pio 7 21 0>;
197         };
198 };