18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci// Copyright (C) 2017 Jagan Teki <jteki@openedev.com> 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/dts-v1/; 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include "sun50i-h5.dtsi" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/ { 118c2ecf20Sopenharmony_ci model = "OrangePi Zero Plus2"; 128c2ecf20Sopenharmony_ci compatible = "xunlong,orangepi-zero-plus2", "allwinner,sun50i-h5"; 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci aliases { 158c2ecf20Sopenharmony_ci serial0 = &uart0; 168c2ecf20Sopenharmony_ci }; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci chosen { 198c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 208c2ecf20Sopenharmony_ci }; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci connector { 238c2ecf20Sopenharmony_ci compatible = "hdmi-connector"; 248c2ecf20Sopenharmony_ci type = "a"; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci port { 278c2ecf20Sopenharmony_ci hdmi_con_in: endpoint { 288c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_out_con>; 298c2ecf20Sopenharmony_ci }; 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci }; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci leds { 348c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci pwr { 378c2ecf20Sopenharmony_ci label = "orangepi:green:pwr"; 388c2ecf20Sopenharmony_ci gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 398c2ecf20Sopenharmony_ci default-state = "on"; 408c2ecf20Sopenharmony_ci }; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci status { 438c2ecf20Sopenharmony_ci label = "orangepi:red:status"; 448c2ecf20Sopenharmony_ci gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; 458c2ecf20Sopenharmony_ci }; 468c2ecf20Sopenharmony_ci }; 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci reg_vcc3v3: vcc3v3 { 498c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 508c2ecf20Sopenharmony_ci regulator-name = "vcc3v3"; 518c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 528c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci wifi_pwrseq: wifi_pwrseq { 568c2ecf20Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 578c2ecf20Sopenharmony_ci reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ 588c2ecf20Sopenharmony_ci post-power-on-delay-ms = <200>; 598c2ecf20Sopenharmony_ci }; 608c2ecf20Sopenharmony_ci}; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci&de { 638c2ecf20Sopenharmony_ci status = "okay"; 648c2ecf20Sopenharmony_ci}; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci&ehci0 { 678c2ecf20Sopenharmony_ci status = "okay"; 688c2ecf20Sopenharmony_ci}; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci&hdmi { 718c2ecf20Sopenharmony_ci status = "okay"; 728c2ecf20Sopenharmony_ci}; 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci&hdmi_out { 758c2ecf20Sopenharmony_ci hdmi_out_con: endpoint { 768c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_con_in>; 778c2ecf20Sopenharmony_ci }; 788c2ecf20Sopenharmony_ci}; 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci&mmc0 { 818c2ecf20Sopenharmony_ci vmmc-supply = <®_vcc3v3>; 828c2ecf20Sopenharmony_ci bus-width = <4>; 838c2ecf20Sopenharmony_ci cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 848c2ecf20Sopenharmony_ci status = "okay"; 858c2ecf20Sopenharmony_ci}; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci&mmc1 { 888c2ecf20Sopenharmony_ci vmmc-supply = <®_vcc3v3>; 898c2ecf20Sopenharmony_ci vqmmc-supply = <®_vcc3v3>; 908c2ecf20Sopenharmony_ci mmc-pwrseq = <&wifi_pwrseq>; 918c2ecf20Sopenharmony_ci bus-width = <4>; 928c2ecf20Sopenharmony_ci non-removable; 938c2ecf20Sopenharmony_ci status = "okay"; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci brcmf: wifi@1 { 968c2ecf20Sopenharmony_ci reg = <1>; 978c2ecf20Sopenharmony_ci compatible = "brcm,bcm4329-fmac"; 988c2ecf20Sopenharmony_ci interrupt-parent = <&r_pio>; 998c2ecf20Sopenharmony_ci interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */ 1008c2ecf20Sopenharmony_ci interrupt-names = "host-wake"; 1018c2ecf20Sopenharmony_ci }; 1028c2ecf20Sopenharmony_ci}; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci&mmc2 { 1058c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1068c2ecf20Sopenharmony_ci pinctrl-0 = <&mmc2_8bit_pins>; 1078c2ecf20Sopenharmony_ci vmmc-supply = <®_vcc3v3>; 1088c2ecf20Sopenharmony_ci bus-width = <8>; 1098c2ecf20Sopenharmony_ci non-removable; 1108c2ecf20Sopenharmony_ci cap-mmc-hw-reset; 1118c2ecf20Sopenharmony_ci status = "okay"; 1128c2ecf20Sopenharmony_ci}; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci&ohci0 { 1158c2ecf20Sopenharmony_ci status = "okay"; 1168c2ecf20Sopenharmony_ci}; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci&uart0 { 1198c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1208c2ecf20Sopenharmony_ci pinctrl-0 = <&uart0_pa_pins>; 1218c2ecf20Sopenharmony_ci status = "okay"; 1228c2ecf20Sopenharmony_ci}; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci&uart1 { 1258c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1268c2ecf20Sopenharmony_ci pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; 1278c2ecf20Sopenharmony_ci status = "okay"; 1288c2ecf20Sopenharmony_ci}; 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci&usb_otg { 1318c2ecf20Sopenharmony_ci /* 1328c2ecf20Sopenharmony_ci * According to schematics CN1 MicroUSB port can be used to take 1338c2ecf20Sopenharmony_ci * external 5V to power up the board VBUS. On the contrary CN1 MicroUSB 1348c2ecf20Sopenharmony_ci * port cannot provide power externally even if the board is powered 1358c2ecf20Sopenharmony_ci * via GPIO pins. It thus makes sense to force peripheral mode. 1368c2ecf20Sopenharmony_ci */ 1378c2ecf20Sopenharmony_ci dr_mode = "peripheral"; 1388c2ecf20Sopenharmony_ci status = "okay"; 1398c2ecf20Sopenharmony_ci}; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci&usbphy { 1428c2ecf20Sopenharmony_ci status = "okay"; 1438c2ecf20Sopenharmony_ci}; 144