1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
3 // Copyright (C) 2017-2018 Samuel Holland <samuel@sholland.org>
7 #include "sun50i-a64.dtsi"
8 #include "sun50i-a64-cpu-opp.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
13 model = "OrangePi Win/Win Plus";
14 compatible = "xunlong,orangepi-win", "allwinner,sun50i-a64";
26 stdout-path = "serial0:115200n8";
30 compatible = "hdmi-connector";
34 hdmi_con_in: endpoint {
35 remote-endpoint = <&hdmi_out_con>;
41 compatible = "gpio-leds";
44 label = "orangepi:green:status";
45 gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
49 reg_gmac_3v3: gmac-3v3 {
50 compatible = "regulator-fixed";
51 regulator-name = "gmac-3v3";
52 regulator-min-microvolt = <3300000>;
53 regulator-max-microvolt = <3300000>;
56 gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
60 reg_usb1_vbus: usb1-vbus {
61 compatible = "regulator-fixed";
62 regulator-name = "usb1-vbus";
63 regulator-min-microvolt = <5000000>;
64 regulator-max-microvolt = <5000000>;
67 gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>; /* PD7 */
71 wifi_pwrseq: wifi_pwrseq {
72 compatible = "mmc-pwrseq-simple";
73 reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
75 clock-names = "ext_clock";
84 cpvdd-supply = <®_eldo1>;
89 cpu-supply = <®_dcdc2>;
93 cpu-supply = <®_dcdc2>;
97 cpu-supply = <®_dcdc2>;
101 cpu-supply = <®_dcdc2>;
121 pinctrl-names = "default";
122 pinctrl-0 = <&rgmii_pins>;
124 phy-handle = <&ext_rgmii_phy>;
125 phy-supply = <®_gmac_3v3>;
130 hvcc-supply = <®_dldo1>;
135 hdmi_out_con: endpoint {
136 remote-endpoint = <&hdmi_con_in>;
141 ext_rgmii_phy: ethernet-phy@1 {
142 compatible = "ethernet-phy-ieee802.3-c22";
148 pinctrl-names = "default";
149 pinctrl-0 = <&mmc0_pins>;
150 vmmc-supply = <®_dcdc1>;
151 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
158 pinctrl-names = "default";
159 pinctrl-0 = <&mmc1_pins>;
160 vmmc-supply = <®_dldo2>;
161 vqmmc-supply = <®_dldo4>;
162 mmc-pwrseq = <&wifi_pwrseq>;
169 compatible = "brcm,bcm4329-fmac";
170 interrupt-parent = <&r_pio>;
171 interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
172 interrupt-names = "host-wake";
192 compatible = "x-powers,axp803";
194 interrupt-parent = <&r_intc>;
195 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
196 x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
200 #include "axp803.dtsi"
206 &battery_power_supply {
211 regulator-min-microvolt = <2800000>;
212 regulator-max-microvolt = <2800000>;
213 regulator-name = "afvcc-csi";
218 regulator-min-microvolt = <1800000>;
219 regulator-max-microvolt = <3300000>;
220 regulator-name = "vcc-pl";
225 regulator-min-microvolt = <3000000>;
226 regulator-max-microvolt = <3000000>;
227 regulator-name = "vcc-pll-avcc";
232 regulator-min-microvolt = <3300000>;
233 regulator-max-microvolt = <3300000>;
234 regulator-name = "vcc-3v3";
239 regulator-min-microvolt = <1040000>;
240 regulator-max-microvolt = <1300000>;
241 regulator-name = "vdd-cpux";
244 /* DCDC3 is polyphased with DCDC2 */
248 regulator-min-microvolt = <1500000>;
249 regulator-max-microvolt = <1500000>;
250 regulator-name = "vcc-dram";
255 regulator-min-microvolt = <1100000>;
256 regulator-max-microvolt = <1100000>;
257 regulator-name = "vdd-sys";
261 regulator-min-microvolt = <3300000>;
262 regulator-max-microvolt = <3300000>;
263 regulator-name = "vcc-hdmi-dsi";
267 regulator-min-microvolt = <3300000>;
268 regulator-max-microvolt = <3300000>;
269 regulator-name = "vcc-wifi";
273 regulator-min-microvolt = <3300000>;
274 regulator-max-microvolt = <3300000>;
275 regulator-name = "avdd-csi";
279 regulator-min-microvolt = <3300000>;
280 regulator-max-microvolt = <3300000>;
281 regulator-name = "vcc-wifi-io";
285 regulator-name = "usb0-vbus";
290 regulator-min-microvolt = <1800000>;
291 regulator-max-microvolt = <1800000>;
292 regulator-name = "cpvdd";
296 regulator-min-microvolt = <1500000>;
297 regulator-max-microvolt = <1800000>;
298 regulator-name = "dvdd-csi";
302 regulator-min-microvolt = <1200000>;
303 regulator-max-microvolt = <1200000>;
304 regulator-name = "vcc-1v2-hsic";
308 * The A64 chip cannot work without this regulator off, although
309 * it seems to be only driving the AR100 core.
310 * Maybe we don't still know well about CPUs domain.
314 regulator-min-microvolt = <1100000>;
315 regulator-max-microvolt = <1100000>;
316 regulator-name = "vdd-cpus";
320 regulator-name = "vcc-rtc";
324 vcc-hdmi-supply = <®_dldo1>;
329 simple-audio-card,widgets = "Headphone", "Headphone Jack",
330 "Microphone", "Microphone Jack",
331 "Microphone", "Onboard Microphone";
332 simple-audio-card,routing =
333 "Left DAC", "AIF1 Slot 0 Left",
334 "Right DAC", "AIF1 Slot 0 Right",
335 "AIF1 Slot 0 Left ADC", "Left ADC",
336 "AIF1 Slot 0 Right ADC", "Right ADC",
337 "Headphone Jack", "HP",
338 "MIC2", "Microphone Jack",
339 "Onboard Microphone", "MBIAS",
340 "MIC1", "Onboard Microphone";
347 compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
349 spi-max-frequency = <80000000>;
355 /* On debug connector */
357 pinctrl-names = "default";
358 pinctrl-0 = <&uart0_pb_pins>;
364 pinctrl-names = "default";
365 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
370 compatible = "brcm,bcm43438-bt";
371 max-speed = <1500000>;
374 vbat-supply = <®_dldo2>;
375 vddio-supply = <®_dldo4>;
376 device-wakeup-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
377 host-wakeup-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
378 shutdown-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
382 /* On Pi-2 connector, RTS/CTS optional */
384 pinctrl-names = "default";
385 pinctrl-0 = <&uart2_pins>;
389 /* On Pi-2 connector, RTS/CTS optional */
391 pinctrl-names = "default";
392 pinctrl-0 = <&uart3_pins>;
396 /* On Pi-2 connector (labeled for SPI1), RTS/CTS optional */
398 pinctrl-names = "default";
399 pinctrl-0 = <&uart4_pins>;
409 usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
410 usb0_vbus-supply = <®_drivevbus>;
411 usb1_vbus-supply = <®_usb1_vbus>;