~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 // Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
  3 
  4 /dts-v1/;
  5 
  6 #include "sun50i-a64.dtsi"
  7 #include "sun50i-a64-cpu-opp.dtsi"
  8 
  9 #include <dt-bindings/gpio/gpio.h>
 10 
 11 / {
 12         model = "Olimex A64-Olinuxino";
 13         compatible = "olimex,a64-olinuxino", "allwinner,sun50i-a64";
 14 
 15         aliases {
 16                 ethernet0 = &emac;
 17                 serial0 = &uart0;
 18         };
 19 
 20         chosen {
 21                 stdout-path = "serial0:115200n8";
 22         };
 23 
 24         hdmi-connector {
 25                 compatible = "hdmi-connector";
 26                 type = "a";
 27 
 28                 port {
 29                         hdmi_con_in: endpoint {
 30                                 remote-endpoint = <&hdmi_out_con>;
 31                         };
 32                 };
 33         };
 34 
 35         leds {
 36                 compatible = "gpio-leds";
 37 
 38                 led-0 {
 39                         label = "a64-olinuxino:red:user";
 40                         gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
 41                 };
 42         };
 43 
 44         reg_usb1_vbus: usb1-vbus {
 45                 compatible = "regulator-fixed";
 46                 regulator-name = "usb1-vbus";
 47                 regulator-min-microvolt = <5000000>;
 48                 regulator-max-microvolt = <5000000>;
 49                 regulator-boot-on;
 50                 enable-active-high;
 51                 gpio = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
 52                 status = "okay";
 53         };
 54 
 55         wifi_pwrseq: pwrseq {
 56                 compatible = "mmc-pwrseq-simple";
 57                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
 58         };
 59 };
 60 
 61 &codec {
 62         status = "okay";
 63 };
 64 
 65 &codec_analog {
 66         cpvdd-supply = <&reg_eldo1>;
 67         status = "okay";
 68 };
 69 
 70 &cpu0 {
 71         cpu-supply = <&reg_dcdc2>;
 72 };
 73 
 74 &cpu1 {
 75         cpu-supply = <&reg_dcdc2>;
 76 };
 77 
 78 &cpu2 {
 79         cpu-supply = <&reg_dcdc2>;
 80 };
 81 
 82 &cpu3 {
 83         cpu-supply = <&reg_dcdc2>;
 84 };
 85 
 86 &dai {
 87         status = "okay";
 88 };
 89 
 90 &de {
 91         status = "okay";
 92 };
 93 
 94 &ehci0 {
 95         status = "okay";
 96 };
 97 
 98 &ehci1 {
 99         status = "okay";
100 };
101 
102 &emac {
103         pinctrl-names = "default";
104         pinctrl-0 = <&rgmii_pins>;
105         phy-mode = "rgmii";
106         phy-handle = <&ext_rgmii_phy>;
107         phy-supply = <&reg_dcdc1>;
108         allwinner,tx-delay-ps = <600>;
109         status = "okay";
110 };
111 
112 &hdmi {
113         hvcc-supply = <&reg_dldo1>;
114         status = "okay";
115 };
116 
117 &hdmi_out {
118         hdmi_out_con: endpoint {
119                 remote-endpoint = <&hdmi_con_in>;
120         };
121 };
122 
123 &mdio {
124         ext_rgmii_phy: ethernet-phy@1 {
125                 compatible = "ethernet-phy-ieee802.3-c22";
126                 reg = <1>;
127         };
128 };
129 
130 &mmc0 {
131         pinctrl-names = "default";
132         pinctrl-0 = <&mmc0_pins>;
133         vmmc-supply = <&reg_dcdc1>;
134         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
135         disable-wp;
136         bus-width = <4>;
137         status = "okay";
138 };
139 
140 &mmc1 {
141         pinctrl-names = "default";
142         pinctrl-0 = <&mmc1_pins>;
143         vmmc-supply = <&reg_dcdc1>;
144         vqmmc-supply = <&reg_dldo4>;
145         mmc-pwrseq = <&wifi_pwrseq>;
146         bus-width = <4>;
147         non-removable;
148         status = "okay";
149 
150         rtl8723bs: wifi@1 {
151                 reg = <1>;
152                 interrupt-parent = <&r_pio>;
153                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
154                 interrupt-names = "host-wake";
155         };
156 };
157 
158 &ohci0 {
159         status = "okay";
160 };
161 
162 &ohci1 {
163         status = "okay";
164 };
165 
166 &pio {
167         vcc-pc-supply = <&reg_dcdc1>;
168         vcc-pd-supply = <&reg_dcdc1>;
169         vcc-pe-supply = <&reg_aldo1>;
170         vcc-pg-supply = <&reg_dldo4>;
171 };
172 
173 &r_pio {
174         /*
175          * FIXME: We can't add that supply for now since it would
176          * create a circular dependency between pinctrl, the regulator
177          * and the RSB Bus.
178          *
179          * vcc-pl-supply = <&reg_aldo2>;
180          */
181 };
182 
183 &pio {
184         vcc-pa-supply = <&reg_dcdc1>;
185         vcc-pb-supply = <&reg_dcdc1>;
186         vcc-pc-supply = <&reg_dcdc1>;
187         vcc-pd-supply = <&reg_dcdc1>;
188         vcc-pe-supply = <&reg_aldo1>;
189         vcc-pf-supply = <&reg_dcdc1>;
190         vcc-pg-supply = <&reg_dldo4>;
191         vcc-ph-supply = <&reg_dcdc1>;
192 };
193 
194 &r_rsb {
195         status = "okay";
196 
197         axp803: pmic@3a3 {
198                 compatible = "x-powers,axp803";
199                 reg = <0x3a3>;
200                 interrupt-parent = <&r_intc>;
201                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
202                 x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
203         };
204 };
205 
206 /* VCC-PL is powered by aldo2 but we cannot add it as the RSB */
207 /* interface used to talk to the PMIC in on the PL pins */
208 /* &r_pio { */
209 /*      vcc-pl-supply = <&reg_aldo2>; */
210 /* }; */
211 
212 #include "axp803.dtsi"
213 
214 &ac_power_supply {
215         status = "okay";
216 };
217 
218 &battery_power_supply {
219         status = "okay";
220 };
221 
222 &reg_aldo1 {
223         regulator-always-on;
224         regulator-min-microvolt = <2800000>;
225         regulator-max-microvolt = <2800000>;
226         regulator-name = "vcc-pe";
227 };
228 
229 &reg_aldo2 {
230         regulator-always-on;
231         regulator-min-microvolt = <3300000>;
232         regulator-max-microvolt = <3300000>;
233         regulator-name = "vcc-pl";
234 };
235 
236 &reg_aldo3 {
237         regulator-always-on;
238         regulator-min-microvolt = <3000000>;
239         regulator-max-microvolt = <3000000>;
240         regulator-name = "vcc-pll-avcc";
241 };
242 
243 &reg_dcdc1 {
244         regulator-always-on;
245         regulator-min-microvolt = <3300000>;
246         regulator-max-microvolt = <3300000>;
247         regulator-name = "vcc-3v3";
248 };
249 
250 &reg_dcdc2 {
251         regulator-always-on;
252         regulator-min-microvolt = <1040000>;
253         regulator-max-microvolt = <1300000>;
254         regulator-name = "vdd-cpux";
255 };
256 
257 /* DCDC3 is polyphased with DCDC2 */
258 
259 /*
260  * The board uses DDR3L DRAM chips. 1.36V is the closest to the nominal
261  * 1.35V that the PMIC can drive.
262  */
263 &reg_dcdc5 {
264         regulator-always-on;
265         regulator-min-microvolt = <1360000>;
266         regulator-max-microvolt = <1360000>;
267         regulator-name = "vcc-ddr3";
268 };
269 
270 &reg_dcdc6 {
271         regulator-always-on;
272         regulator-min-microvolt = <1100000>;
273         regulator-max-microvolt = <1100000>;
274         regulator-name = "vdd-sys";
275 };
276 
277 &reg_dldo1 {
278         regulator-min-microvolt = <3300000>;
279         regulator-max-microvolt = <3300000>;
280         regulator-name = "vcc-hdmi";
281 };
282 
283 &reg_dldo2 {
284         regulator-min-microvolt = <3300000>;
285         regulator-max-microvolt = <3300000>;
286         regulator-name = "vcc-mipi";
287 };
288 
289 &reg_dldo3 {
290         regulator-min-microvolt = <2800000>;
291         regulator-max-microvolt = <2800000>;
292         regulator-name = "vcc-avdd-csi";
293 };
294 
295 &reg_dldo4 {
296         regulator-min-microvolt = <3300000>;
297         regulator-max-microvolt = <3300000>;
298         regulator-name = "vcc-wifi-io";
299 };
300 
301 &reg_drivevbus {
302         regulator-name = "usb0-vbus";
303         status = "okay";
304 };
305 
306 &reg_eldo1 {
307         regulator-min-microvolt = <1800000>;
308         regulator-max-microvolt = <1800000>;
309         regulator-name = "cpvdd";
310 };
311 
312 &reg_eldo2 {
313         regulator-min-microvolt = <1800000>;
314         regulator-max-microvolt = <1800000>;
315         regulator-name = "vcc-dvdd-csi";
316 };
317 
318 &reg_fldo1 {
319         regulator-min-microvolt = <1200000>;
320         regulator-max-microvolt = <1200000>;
321         regulator-name = "vcc-1v2-hsic";
322 };
323 
324 /*
325  * The A64 chip cannot work without this regulator off, although
326  * it seems to be only driving the AR100 core.
327  * Maybe we don't still know well about CPUs domain.
328  */
329 &reg_fldo2 {
330         regulator-always-on;
331         regulator-min-microvolt = <1100000>;
332         regulator-max-microvolt = <1100000>;
333         regulator-name = "vdd-cpus";
334 };
335 
336 &reg_rtc_ldo {
337         regulator-name = "vcc-rtc";
338 };
339 
340 &simplefb_hdmi {
341         vcc-hdmi-supply = <&reg_dldo1>;
342 };
343 
344 &sound {
345         simple-audio-card,aux-devs = <&codec_analog>;
346         simple-audio-card,widgets = "Microphone", "Microphone Jack Left",
347                     "Microphone", "Microphone Jack Right",
348                     "Headphone", "Headphone Jack";
349         simple-audio-card,routing = "Left DAC", "DACL",
350                     "Right DAC", "DACR",
351                     "Headphone Jack", "HP",
352                     "ADCL", "Left ADC",
353                     "ADCR", "Right ADC",
354                     "Microphone Jack Left", "MBIAS",
355                     "MIC1", "Microphone Jack Left",
356                     "Microphone Jack Right", "MBIAS",
357                     "MIC2", "Microphone Jack Right";
358         status = "okay";
359 };
360 
361 &uart0 {
362         pinctrl-names = "default";
363         pinctrl-0 = <&uart0_pb_pins>;
364         status = "okay";
365 };
366 
367 &usb_otg {
368         dr_mode = "otg";
369         status = "okay";
370 };
371 
372 &usbphy {
373         status = "okay";
374         usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
375         usb0_vbus-supply = <&reg_drivevbus>;
376         usb1_vbus-supply = <&reg_usb1_vbus>;
377 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php