]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-bionic-kernel.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 };