18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz> 38c2ecf20Sopenharmony_ci// Based on sun50i-h5-orangepi-pc2.dts, which is: 48c2ecf20Sopenharmony_ci// Copyright (C) 2016 ARM Ltd. 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci/dts-v1/; 78c2ecf20Sopenharmony_ci#include "sun50i-h5.dtsi" 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 108c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci/ { 138c2ecf20Sopenharmony_ci model = "Xunlong Orange Pi Prime"; 148c2ecf20Sopenharmony_ci compatible = "xunlong,orangepi-prime", "allwinner,sun50i-h5"; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci aliases { 178c2ecf20Sopenharmony_ci ethernet0 = &emac; 188c2ecf20Sopenharmony_ci serial0 = &uart0; 198c2ecf20Sopenharmony_ci }; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci chosen { 228c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 238c2ecf20Sopenharmony_ci }; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci connector { 268c2ecf20Sopenharmony_ci compatible = "hdmi-connector"; 278c2ecf20Sopenharmony_ci type = "a"; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci port { 308c2ecf20Sopenharmony_ci hdmi_con_in: endpoint { 318c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_out_con>; 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci }; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci leds { 378c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci pwr { 408c2ecf20Sopenharmony_ci label = "orangepi:green:pwr"; 418c2ecf20Sopenharmony_ci gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 428c2ecf20Sopenharmony_ci default-state = "on"; 438c2ecf20Sopenharmony_ci }; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci status { 468c2ecf20Sopenharmony_ci label = "orangepi:red:status"; 478c2ecf20Sopenharmony_ci gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; 488c2ecf20Sopenharmony_ci }; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci r-gpio-keys { 528c2ecf20Sopenharmony_ci compatible = "gpio-keys"; 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci sw4 { 558c2ecf20Sopenharmony_ci label = "sw4"; 568c2ecf20Sopenharmony_ci linux,code = <BTN_0>; 578c2ecf20Sopenharmony_ci gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci }; 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci reg_gmac_3v3: gmac-3v3 { 628c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 638c2ecf20Sopenharmony_ci regulator-name = "gmac-3v3"; 648c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 658c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 668c2ecf20Sopenharmony_ci startup-delay-us = <100000>; 678c2ecf20Sopenharmony_ci enable-active-high; 688c2ecf20Sopenharmony_ci gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 698c2ecf20Sopenharmony_ci }; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci reg_vcc3v3: vcc3v3 { 728c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 738c2ecf20Sopenharmony_ci regulator-name = "vcc3v3"; 748c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 758c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci reg_usb0_vbus: usb0-vbus { 798c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 808c2ecf20Sopenharmony_ci regulator-name = "usb0-vbus"; 818c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 828c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 838c2ecf20Sopenharmony_ci enable-active-high; 848c2ecf20Sopenharmony_ci gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ 858c2ecf20Sopenharmony_ci status = "okay"; 868c2ecf20Sopenharmony_ci }; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci wifi_pwrseq: wifi_pwrseq { 898c2ecf20Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 908c2ecf20Sopenharmony_ci reset-gpios = <&pio 2 14 GPIO_ACTIVE_LOW>; /* PC14 */ 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci}; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci&codec { 958c2ecf20Sopenharmony_ci allwinner,audio-routing = 968c2ecf20Sopenharmony_ci "Line Out", "LINEOUT", 978c2ecf20Sopenharmony_ci "MIC1", "Mic", 988c2ecf20Sopenharmony_ci "Mic", "MBIAS"; 998c2ecf20Sopenharmony_ci status = "okay"; 1008c2ecf20Sopenharmony_ci}; 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci&de { 1038c2ecf20Sopenharmony_ci status = "okay"; 1048c2ecf20Sopenharmony_ci}; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci&ehci0 { 1078c2ecf20Sopenharmony_ci status = "okay"; 1088c2ecf20Sopenharmony_ci}; 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci&ehci1 { 1118c2ecf20Sopenharmony_ci status = "okay"; 1128c2ecf20Sopenharmony_ci}; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci&ehci2 { 1158c2ecf20Sopenharmony_ci status = "okay"; 1168c2ecf20Sopenharmony_ci}; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci&ehci3 { 1198c2ecf20Sopenharmony_ci status = "okay"; 1208c2ecf20Sopenharmony_ci}; 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci&emac { 1238c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1248c2ecf20Sopenharmony_ci pinctrl-0 = <&emac_rgmii_pins>; 1258c2ecf20Sopenharmony_ci phy-supply = <®_gmac_3v3>; 1268c2ecf20Sopenharmony_ci phy-handle = <&ext_rgmii_phy>; 1278c2ecf20Sopenharmony_ci phy-mode = "rgmii-id"; 1288c2ecf20Sopenharmony_ci status = "okay"; 1298c2ecf20Sopenharmony_ci}; 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci&external_mdio { 1328c2ecf20Sopenharmony_ci ext_rgmii_phy: ethernet-phy@1 { 1338c2ecf20Sopenharmony_ci compatible = "ethernet-phy-ieee802.3-c22"; 1348c2ecf20Sopenharmony_ci reg = <1>; 1358c2ecf20Sopenharmony_ci }; 1368c2ecf20Sopenharmony_ci}; 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci&hdmi { 1398c2ecf20Sopenharmony_ci status = "okay"; 1408c2ecf20Sopenharmony_ci}; 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci&hdmi_out { 1438c2ecf20Sopenharmony_ci hdmi_out_con: endpoint { 1448c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_con_in>; 1458c2ecf20Sopenharmony_ci }; 1468c2ecf20Sopenharmony_ci}; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci&ir { 1498c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1508c2ecf20Sopenharmony_ci pinctrl-0 = <&r_ir_rx_pin>; 1518c2ecf20Sopenharmony_ci status = "okay"; 1528c2ecf20Sopenharmony_ci}; 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci&mmc0 { 1558c2ecf20Sopenharmony_ci vmmc-supply = <®_vcc3v3>; 1568c2ecf20Sopenharmony_ci bus-width = <4>; 1578c2ecf20Sopenharmony_ci cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 1588c2ecf20Sopenharmony_ci status = "okay"; 1598c2ecf20Sopenharmony_ci}; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci&mmc1 { 1628c2ecf20Sopenharmony_ci vmmc-supply = <®_vcc3v3>; 1638c2ecf20Sopenharmony_ci mmc-pwrseq = <&wifi_pwrseq>; 1648c2ecf20Sopenharmony_ci bus-width = <4>; 1658c2ecf20Sopenharmony_ci non-removable; 1668c2ecf20Sopenharmony_ci status = "okay"; 1678c2ecf20Sopenharmony_ci}; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci&ohci0 { 1708c2ecf20Sopenharmony_ci status = "okay"; 1718c2ecf20Sopenharmony_ci}; 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci&ohci1 { 1748c2ecf20Sopenharmony_ci status = "okay"; 1758c2ecf20Sopenharmony_ci}; 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci&ohci2 { 1788c2ecf20Sopenharmony_ci status = "okay"; 1798c2ecf20Sopenharmony_ci}; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci&ohci3 { 1828c2ecf20Sopenharmony_ci status = "okay"; 1838c2ecf20Sopenharmony_ci}; 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci&uart0 { 1868c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1878c2ecf20Sopenharmony_ci pinctrl-0 = <&uart0_pa_pins>; 1888c2ecf20Sopenharmony_ci status = "okay"; 1898c2ecf20Sopenharmony_ci}; 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci&uart1 { 1928c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1938c2ecf20Sopenharmony_ci pinctrl-0 = <&uart1_pins>; 1948c2ecf20Sopenharmony_ci status = "disabled"; 1958c2ecf20Sopenharmony_ci}; 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci&uart2 { 1988c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1998c2ecf20Sopenharmony_ci pinctrl-0 = <&uart2_pins>; 2008c2ecf20Sopenharmony_ci status = "disabled"; 2018c2ecf20Sopenharmony_ci}; 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci&usb_otg { 2048c2ecf20Sopenharmony_ci dr_mode = "otg"; 2058c2ecf20Sopenharmony_ci status = "okay"; 2068c2ecf20Sopenharmony_ci}; 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci&usbphy { 2098c2ecf20Sopenharmony_ci /* USB Type-A ports' VBUS is always on */ 2108c2ecf20Sopenharmony_ci usb0_id_det-gpios = <&pio 0 21 GPIO_ACTIVE_HIGH>; /* PA21 */ 2118c2ecf20Sopenharmony_ci usb0_vbus-supply = <®_usb0_vbus>; 2128c2ecf20Sopenharmony_ci status = "okay"; 2138c2ecf20Sopenharmony_ci}; 214