Commit | Line | Data |
---|---|---|
35669b39 IP |
1 | /* |
2 | * Copyright 2014 - Iain Paton <ipaton0@gmail.com> | |
3 | * | |
4 | * This file is dual-licensed: you can use it either under the terms | |
5 | * of the GPL or the X11 license, at your option. Note that this dual | |
6 | * licensing only applies to this file, and not this project as a | |
7 | * whole. | |
8 | * | |
136d18a8 | 9 | * a) This file is free software; you can redistribute it and/or |
35669b39 IP |
10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of the | |
12 | * License, or (at your option) any later version. | |
13 | * | |
136d18a8 | 14 | * This file is distributed in the hope that it will be useful, |
35669b39 IP |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | * GNU General Public License for more details. | |
18 | * | |
35669b39 IP |
19 | * Or, alternatively, |
20 | * | |
21 | * b) Permission is hereby granted, free of charge, to any person | |
22 | * obtaining a copy of this software and associated documentation | |
23 | * files (the "Software"), to deal in the Software without | |
24 | * restriction, including without limitation the rights to use, | |
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | |
26 | * sell copies of the Software, and to permit persons to whom the | |
27 | * Software is furnished to do so, subject to the following | |
28 | * conditions: | |
29 | * | |
30 | * The above copyright notice and this permission notice shall be | |
31 | * included in all copies or substantial portions of the Software. | |
32 | * | |
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
40 | * OTHER DEALINGS IN THE SOFTWARE. | |
41 | */ | |
42 | ||
43 | /dts-v1/; | |
71455701 MR |
44 | #include "sun7i-a20.dtsi" |
45 | #include "sunxi-common-regulators.dtsi" | |
35669b39 | 46 | |
bca12924 | 47 | #include <dt-bindings/gpio/gpio.h> |
a6bac9eb | 48 | #include <dt-bindings/interrupt-controller/irq.h> |
092a0c3b | 49 | #include <dt-bindings/pinctrl/sun4i-a10.h> |
bca12924 | 50 | |
35669b39 IP |
51 | / { |
52 | model = "Olimex A20-OLinuXino-LIME2"; | |
53 | compatible = "olimex,a20-olinuxino-lime2", "allwinner,sun7i-a20"; | |
54 | ||
59ebbe88 MR |
55 | aliases { |
56 | serial0 = &uart0; | |
57 | }; | |
58 | ||
59 | chosen { | |
60 | stdout-path = "serial0:115200n8"; | |
61 | }; | |
62 | ||
6bd0027e MR |
63 | leds { |
64 | compatible = "gpio-leds"; | |
65 | pinctrl-names = "default"; | |
66 | pinctrl-0 = <&led_pins_olinuxinolime>; | |
35669b39 | 67 | |
6bd0027e MR |
68 | green { |
69 | label = "a20-olinuxino-lime2:green:usr"; | |
70 | gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; | |
71 | default-state = "on"; | |
35669b39 | 72 | }; |
6bd0027e | 73 | }; |
35669b39 | 74 | |
6bd0027e MR |
75 | reg_axp_ipsout: axp_ipsout { |
76 | compatible = "regulator-fixed"; | |
77 | regulator-name = "axp-ipsout"; | |
78 | regulator-min-microvolt = <5000000>; | |
79 | regulator-max-microvolt = <5000000>; | |
80 | regulator-always-on; | |
81 | }; | |
82 | }; | |
35669b39 | 83 | |
6bd0027e MR |
84 | &ahci { |
85 | target-supply = <®_ahci_5v>; | |
86 | status = "okay"; | |
87 | }; | |
35669b39 | 88 | |
6bd0027e MR |
89 | &ehci0 { |
90 | status = "okay"; | |
91 | }; | |
35669b39 | 92 | |
6bd0027e MR |
93 | &ehci1 { |
94 | status = "okay"; | |
95 | }; | |
35669b39 | 96 | |
6bd0027e MR |
97 | &gmac { |
98 | pinctrl-names = "default"; | |
99 | pinctrl-0 = <&gmac_pins_rgmii_a>; | |
100 | phy = <&phy1>; | |
101 | phy-mode = "rgmii"; | |
102 | status = "okay"; | |
35669b39 | 103 | |
6bd0027e MR |
104 | phy1: ethernet-phy@1 { |
105 | reg = <1>; | |
106 | }; | |
107 | }; | |
35669b39 | 108 | |
6bd0027e MR |
109 | &i2c0 { |
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 IRQ_TYPE_LEVEL_LOW>; | |
119 | ||
120 | interrupt-controller; | |
121 | #interrupt-cells = <1>; | |
122 | ||
123 | acin-supply = <®_axp_ipsout>; | |
124 | vin2-supply = <®_axp_ipsout>; | |
125 | vin3-supply = <®_axp_ipsout>; | |
126 | ldo24in-supply = <®_axp_ipsout>; | |
127 | ldo3in-supply = <®_axp_ipsout>; | |
128 | ||
129 | regulators { | |
130 | vdd_rtc: ldo1 { | |
131 | regulator-min-microvolt = <1300000>; | |
132 | regulator-max-microvolt = <1300000>; | |
133 | regulator-always-on; | |
35669b39 | 134 | }; |
35669b39 | 135 | |
6bd0027e MR |
136 | avcc: ldo2 { |
137 | regulator-min-microvolt = <1800000>; | |
138 | regulator-max-microvolt = <3300000>; | |
139 | regulator-always-on; | |
140 | }; | |
35669b39 | 141 | |
6bd0027e MR |
142 | vcc_csi0: ldo3 { |
143 | regulator-min-microvolt = <700000>; | |
144 | regulator-max-microvolt = <3500000>; | |
145 | regulator-always-on; | |
35669b39 | 146 | }; |
35669b39 | 147 | |
6bd0027e MR |
148 | vcc_csi1: ldo4 { |
149 | regulator-min-microvolt = <1250000>; | |
150 | regulator-max-microvolt = <3300000>; | |
151 | regulator-always-on; | |
152 | }; | |
35669b39 | 153 | |
6bd0027e MR |
154 | vdd_cpu: dcdc2 { |
155 | regulator-min-microvolt = <700000>; | |
156 | regulator-max-microvolt = <2275000>; | |
157 | regulator-always-on; | |
158 | }; | |
35669b39 | 159 | |
6bd0027e MR |
160 | vdd_int: dcdc3 { |
161 | regulator-min-microvolt = <700000>; | |
162 | regulator-max-microvolt = <3500000>; | |
163 | regulator-always-on; | |
35669b39 IP |
164 | }; |
165 | }; | |
166 | }; | |
6bd0027e | 167 | }; |
35669b39 | 168 | |
6bd0027e MR |
169 | &i2c1 { |
170 | pinctrl-names = "default"; | |
171 | pinctrl-0 = <&i2c1_pins_a>; | |
172 | status = "okay"; | |
dbca81d2 OS |
173 | |
174 | eeprom: eeprom@50 { | |
175 | compatible = "atmel,24c16"; | |
176 | reg = <0x50>; | |
177 | pagesize = <16>; | |
178 | }; | |
6bd0027e | 179 | }; |
35669b39 | 180 | |
6bd0027e MR |
181 | &mmc0 { |
182 | pinctrl-names = "default"; | |
183 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; | |
184 | vmmc-supply = <®_vcc3v3>; | |
185 | bus-width = <4>; | |
186 | cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ | |
187 | cd-inverted; | |
188 | status = "okay"; | |
189 | }; | |
35669b39 | 190 | |
6bd0027e MR |
191 | &ohci0 { |
192 | status = "okay"; | |
193 | }; | |
35669b39 | 194 | |
6bd0027e MR |
195 | &ohci1 { |
196 | status = "okay"; | |
197 | }; | |
35669b39 | 198 | |
9ff5052f OS |
199 | &otg_sram { |
200 | status = "okay"; | |
201 | }; | |
202 | ||
6bd0027e MR |
203 | &pio { |
204 | ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 { | |
205 | allwinner,pins = "PC3"; | |
206 | allwinner,function = "gpio_out"; | |
207 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
208 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
35669b39 IP |
209 | }; |
210 | ||
6bd0027e MR |
211 | led_pins_olinuxinolime: led_pins@0 { |
212 | allwinner,pins = "PH2"; | |
213 | allwinner,function = "gpio_out"; | |
214 | allwinner,drive = <SUN4I_PINCTRL_20_MA>; | |
215 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
35669b39 | 216 | }; |
9ff5052f OS |
217 | |
218 | usb0_id_detect_pin: usb0_id_detect_pin@0 { | |
219 | allwinner,pins = "PH4"; | |
220 | allwinner,function = "gpio_in"; | |
221 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
222 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | |
223 | }; | |
224 | ||
225 | usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | |
226 | allwinner,pins = "PH5"; | |
227 | allwinner,function = "gpio_in"; | |
228 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
229 | allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>; | |
230 | }; | |
231 | ||
232 | usb0_vbus_pin_lime2: usb0_vbus_pin@0 { | |
233 | allwinner,pins = "PC17"; | |
234 | allwinner,function = "gpio_out"; | |
235 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
236 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
237 | }; | |
35669b39 | 238 | }; |
6bd0027e MR |
239 | |
240 | ®_ahci_5v { | |
241 | pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>; | |
242 | gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>; | |
243 | status = "okay"; | |
244 | }; | |
245 | ||
9ff5052f OS |
246 | ®_usb0_vbus { |
247 | pinctrl-0 = <&usb0_vbus_pin_lime2>; | |
248 | gpio = <&pio 2 17 GPIO_ACTIVE_HIGH>; | |
249 | status = "okay"; | |
250 | }; | |
251 | ||
6bd0027e MR |
252 | ®_usb1_vbus { |
253 | status = "okay"; | |
254 | }; | |
255 | ||
256 | ®_usb2_vbus { | |
257 | status = "okay"; | |
258 | }; | |
259 | ||
260 | &uart0 { | |
261 | pinctrl-names = "default"; | |
262 | pinctrl-0 = <&uart0_pins_a>; | |
263 | status = "okay"; | |
264 | }; | |
265 | ||
9ff5052f OS |
266 | &usb_otg { |
267 | dr_mode = "otg"; | |
268 | status = "okay"; | |
269 | }; | |
270 | ||
6bd0027e | 271 | &usbphy { |
9ff5052f OS |
272 | pinctrl-names = "default"; |
273 | pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; | |
274 | usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ | |
275 | usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ | |
276 | usb0_vbus-supply = <®_usb0_vbus>; | |
6bd0027e MR |
277 | usb1_vbus-supply = <®_usb1_vbus>; |
278 | usb2_vbus-supply = <®_usb2_vbus>; | |
279 | status = "okay"; | |
280 | }; |