18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci// Copyright (C) 2016 ARM Ltd. 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/dts-v1/; 58c2ecf20Sopenharmony_ci#include "sun50i-h5.dtsi" 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 88c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 98c2ecf20Sopenharmony_ci#include <dt-bindings/pinctrl/sun4i-a10.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/ { 128c2ecf20Sopenharmony_ci model = "Xunlong Orange Pi PC 2"; 138c2ecf20Sopenharmony_ci compatible = "xunlong,orangepi-pc2", "allwinner,sun50i-h5"; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci reg_vcc3v3: vcc3v3 { 168c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 178c2ecf20Sopenharmony_ci regulator-name = "vcc3v3"; 188c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 198c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 208c2ecf20Sopenharmony_ci }; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci aliases { 238c2ecf20Sopenharmony_ci ethernet0 = &emac; 248c2ecf20Sopenharmony_ci serial0 = &uart0; 258c2ecf20Sopenharmony_ci }; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci chosen { 288c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 298c2ecf20Sopenharmony_ci }; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci connector { 328c2ecf20Sopenharmony_ci compatible = "hdmi-connector"; 338c2ecf20Sopenharmony_ci type = "a"; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci port { 368c2ecf20Sopenharmony_ci hdmi_con_in: endpoint { 378c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_out_con>; 388c2ecf20Sopenharmony_ci }; 398c2ecf20Sopenharmony_ci }; 408c2ecf20Sopenharmony_ci }; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci leds { 438c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci pwr { 468c2ecf20Sopenharmony_ci label = "orangepi:green:pwr"; 478c2ecf20Sopenharmony_ci gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 488c2ecf20Sopenharmony_ci default-state = "on"; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci status { 528c2ecf20Sopenharmony_ci label = "orangepi:red:status"; 538c2ecf20Sopenharmony_ci gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; 548c2ecf20Sopenharmony_ci }; 558c2ecf20Sopenharmony_ci }; 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci r-gpio-keys { 588c2ecf20Sopenharmony_ci compatible = "gpio-keys"; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci sw4 { 618c2ecf20Sopenharmony_ci label = "sw4"; 628c2ecf20Sopenharmony_ci linux,code = <BTN_0>; 638c2ecf20Sopenharmony_ci gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 648c2ecf20Sopenharmony_ci wakeup-source; 658c2ecf20Sopenharmony_ci }; 668c2ecf20Sopenharmony_ci }; 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci reg_gmac_3v3: gmac-3v3 { 698c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 708c2ecf20Sopenharmony_ci regulator-name = "gmac-3v3"; 718c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 728c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 738c2ecf20Sopenharmony_ci startup-delay-us = <100000>; 748c2ecf20Sopenharmony_ci enable-active-high; 758c2ecf20Sopenharmony_ci gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 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 898c2ecf20Sopenharmony_ci&codec { 908c2ecf20Sopenharmony_ci allwinner,audio-routing = 918c2ecf20Sopenharmony_ci "Line Out", "LINEOUT", 928c2ecf20Sopenharmony_ci "MIC1", "Mic", 938c2ecf20Sopenharmony_ci "Mic", "MBIAS"; 948c2ecf20Sopenharmony_ci status = "okay"; 958c2ecf20Sopenharmony_ci}; 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci&cpu0 { 988c2ecf20Sopenharmony_ci cpu-supply = <®_vdd_cpux>; 998c2ecf20Sopenharmony_ci}; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci&de { 1028c2ecf20Sopenharmony_ci status = "okay"; 1038c2ecf20Sopenharmony_ci}; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci&ehci0 { 1068c2ecf20Sopenharmony_ci status = "okay"; 1078c2ecf20Sopenharmony_ci}; 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci&ehci1 { 1108c2ecf20Sopenharmony_ci status = "okay"; 1118c2ecf20Sopenharmony_ci}; 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci&ehci2 { 1148c2ecf20Sopenharmony_ci status = "okay"; 1158c2ecf20Sopenharmony_ci}; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci&ehci3 { 1188c2ecf20Sopenharmony_ci status = "okay"; 1198c2ecf20Sopenharmony_ci}; 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci&emac { 1228c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1238c2ecf20Sopenharmony_ci pinctrl-0 = <&emac_rgmii_pins>; 1248c2ecf20Sopenharmony_ci phy-supply = <®_gmac_3v3>; 1258c2ecf20Sopenharmony_ci phy-handle = <&ext_rgmii_phy>; 1268c2ecf20Sopenharmony_ci phy-mode = "rgmii-id"; 1278c2ecf20Sopenharmony_ci status = "okay"; 1288c2ecf20Sopenharmony_ci}; 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci&external_mdio { 1318c2ecf20Sopenharmony_ci ext_rgmii_phy: ethernet-phy@1 { 1328c2ecf20Sopenharmony_ci compatible = "ethernet-phy-ieee802.3-c22"; 1338c2ecf20Sopenharmony_ci reg = <1>; 1348c2ecf20Sopenharmony_ci }; 1358c2ecf20Sopenharmony_ci}; 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci&hdmi { 1388c2ecf20Sopenharmony_ci status = "okay"; 1398c2ecf20Sopenharmony_ci}; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci&hdmi_out { 1428c2ecf20Sopenharmony_ci hdmi_out_con: endpoint { 1438c2ecf20Sopenharmony_ci remote-endpoint = <&hdmi_con_in>; 1448c2ecf20Sopenharmony_ci }; 1458c2ecf20Sopenharmony_ci}; 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci&ir { 1488c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1498c2ecf20Sopenharmony_ci pinctrl-0 = <&r_ir_rx_pin>; 1508c2ecf20Sopenharmony_ci status = "okay"; 1518c2ecf20Sopenharmony_ci}; 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci&mmc0 { 1548c2ecf20Sopenharmony_ci vmmc-supply = <®_vcc3v3>; 1558c2ecf20Sopenharmony_ci bus-width = <4>; 1568c2ecf20Sopenharmony_ci cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 1578c2ecf20Sopenharmony_ci status = "okay"; 1588c2ecf20Sopenharmony_ci}; 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci&ohci0 { 1618c2ecf20Sopenharmony_ci status = "okay"; 1628c2ecf20Sopenharmony_ci}; 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci&ohci1 { 1658c2ecf20Sopenharmony_ci status = "okay"; 1668c2ecf20Sopenharmony_ci}; 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci&ohci2 { 1698c2ecf20Sopenharmony_ci status = "okay"; 1708c2ecf20Sopenharmony_ci}; 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci&ohci3 { 1738c2ecf20Sopenharmony_ci status = "okay"; 1748c2ecf20Sopenharmony_ci}; 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci&r_i2c { 1778c2ecf20Sopenharmony_ci status = "okay"; 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci reg_vdd_cpux: regulator@65 { 1808c2ecf20Sopenharmony_ci compatible = "silergy,sy8106a"; 1818c2ecf20Sopenharmony_ci reg = <0x65>; 1828c2ecf20Sopenharmony_ci regulator-name = "vdd-cpux"; 1838c2ecf20Sopenharmony_ci silergy,fixed-microvolt = <1100000>; 1848c2ecf20Sopenharmony_ci regulator-min-microvolt = <1000000>; 1858c2ecf20Sopenharmony_ci regulator-max-microvolt = <1400000>; 1868c2ecf20Sopenharmony_ci regulator-ramp-delay = <200>; 1878c2ecf20Sopenharmony_ci regulator-boot-on; 1888c2ecf20Sopenharmony_ci regulator-always-on; 1898c2ecf20Sopenharmony_ci }; 1908c2ecf20Sopenharmony_ci}; 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ci&spi0 { 1938c2ecf20Sopenharmony_ci status = "okay"; 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci flash@0 { 1968c2ecf20Sopenharmony_ci #address-cells = <1>; 1978c2ecf20Sopenharmony_ci #size-cells = <1>; 1988c2ecf20Sopenharmony_ci compatible = "jedec,spi-nor"; 1998c2ecf20Sopenharmony_ci reg = <0>; 2008c2ecf20Sopenharmony_ci spi-max-frequency = <40000000>; 2018c2ecf20Sopenharmony_ci }; 2028c2ecf20Sopenharmony_ci}; 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci&uart0 { 2058c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2068c2ecf20Sopenharmony_ci pinctrl-0 = <&uart0_pa_pins>; 2078c2ecf20Sopenharmony_ci status = "okay"; 2088c2ecf20Sopenharmony_ci}; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci&uart1 { 2118c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2128c2ecf20Sopenharmony_ci pinctrl-0 = <&uart1_pins>; 2138c2ecf20Sopenharmony_ci status = "disabled"; 2148c2ecf20Sopenharmony_ci}; 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci&uart2 { 2178c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2188c2ecf20Sopenharmony_ci pinctrl-0 = <&uart2_pins>; 2198c2ecf20Sopenharmony_ci status = "disabled"; 2208c2ecf20Sopenharmony_ci}; 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci&usb_otg { 2238c2ecf20Sopenharmony_ci dr_mode = "otg"; 2248c2ecf20Sopenharmony_ci status = "okay"; 2258c2ecf20Sopenharmony_ci}; 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ci&usbphy { 2288c2ecf20Sopenharmony_ci /* USB Type-A ports' VBUS is always on */ 2298c2ecf20Sopenharmony_ci usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ 2308c2ecf20Sopenharmony_ci usb0_vbus-supply = <®_usb0_vbus>; 2318c2ecf20Sopenharmony_ci status = "okay"; 2328c2ecf20Sopenharmony_ci}; 233