1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz> 3// Based on sun50i-h5-orangepi-pc2.dts, which is: 4// Copyright (C) 2016 ARM Ltd. 5 6/dts-v1/; 7#include "sun50i-h5.dtsi" 8 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/input.h> 11 12/ { 13 model = "Xunlong Orange Pi Prime"; 14 compatible = "xunlong,orangepi-prime", "allwinner,sun50i-h5"; 15 16 aliases { 17 ethernet0 = &emac; 18 serial0 = &uart0; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 connector { 26 compatible = "hdmi-connector"; 27 type = "a"; 28 29 port { 30 hdmi_con_in: endpoint { 31 remote-endpoint = <&hdmi_out_con>; 32 }; 33 }; 34 }; 35 36 leds { 37 compatible = "gpio-leds"; 38 39 pwr { 40 label = "orangepi:green:pwr"; 41 gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 42 default-state = "on"; 43 }; 44 45 status { 46 label = "orangepi:red:status"; 47 gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; 48 }; 49 }; 50 51 r-gpio-keys { 52 compatible = "gpio-keys"; 53 54 sw4 { 55 label = "sw4"; 56 linux,code = <BTN_0>; 57 gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 58 }; 59 }; 60 61 reg_gmac_3v3: gmac-3v3 { 62 compatible = "regulator-fixed"; 63 regulator-name = "gmac-3v3"; 64 regulator-min-microvolt = <3300000>; 65 regulator-max-microvolt = <3300000>; 66 startup-delay-us = <100000>; 67 enable-active-high; 68 gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 69 }; 70 71 reg_vcc3v3: vcc3v3 { 72 compatible = "regulator-fixed"; 73 regulator-name = "vcc3v3"; 74 regulator-min-microvolt = <3300000>; 75 regulator-max-microvolt = <3300000>; 76 }; 77 78 reg_usb0_vbus: usb0-vbus { 79 compatible = "regulator-fixed"; 80 regulator-name = "usb0-vbus"; 81 regulator-min-microvolt = <5000000>; 82 regulator-max-microvolt = <5000000>; 83 enable-active-high; 84 gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ 85 status = "okay"; 86 }; 87 88 wifi_pwrseq: wifi_pwrseq { 89 compatible = "mmc-pwrseq-simple"; 90 reset-gpios = <&pio 2 14 GPIO_ACTIVE_LOW>; /* PC14 */ 91 }; 92}; 93 94&codec { 95 allwinner,audio-routing = 96 "Line Out", "LINEOUT", 97 "MIC1", "Mic", 98 "Mic", "MBIAS"; 99 status = "okay"; 100}; 101 102&de { 103 status = "okay"; 104}; 105 106&ehci0 { 107 status = "okay"; 108}; 109 110&ehci1 { 111 status = "okay"; 112}; 113 114&ehci2 { 115 status = "okay"; 116}; 117 118&ehci3 { 119 status = "okay"; 120}; 121 122&emac { 123 pinctrl-names = "default"; 124 pinctrl-0 = <&emac_rgmii_pins>; 125 phy-supply = <®_gmac_3v3>; 126 phy-handle = <&ext_rgmii_phy>; 127 phy-mode = "rgmii-id"; 128 status = "okay"; 129}; 130 131&external_mdio { 132 ext_rgmii_phy: ethernet-phy@1 { 133 compatible = "ethernet-phy-ieee802.3-c22"; 134 reg = <1>; 135 }; 136}; 137 138&hdmi { 139 status = "okay"; 140}; 141 142&hdmi_out { 143 hdmi_out_con: endpoint { 144 remote-endpoint = <&hdmi_con_in>; 145 }; 146}; 147 148&ir { 149 pinctrl-names = "default"; 150 pinctrl-0 = <&r_ir_rx_pin>; 151 status = "okay"; 152}; 153 154&mmc0 { 155 vmmc-supply = <®_vcc3v3>; 156 bus-width = <4>; 157 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 158 status = "okay"; 159}; 160 161&mmc1 { 162 vmmc-supply = <®_vcc3v3>; 163 mmc-pwrseq = <&wifi_pwrseq>; 164 bus-width = <4>; 165 non-removable; 166 status = "okay"; 167}; 168 169&ohci0 { 170 status = "okay"; 171}; 172 173&ohci1 { 174 status = "okay"; 175}; 176 177&ohci2 { 178 status = "okay"; 179}; 180 181&ohci3 { 182 status = "okay"; 183}; 184 185&uart0 { 186 pinctrl-names = "default"; 187 pinctrl-0 = <&uart0_pa_pins>; 188 status = "okay"; 189}; 190 191&uart1 { 192 pinctrl-names = "default"; 193 pinctrl-0 = <&uart1_pins>; 194 status = "disabled"; 195}; 196 197&uart2 { 198 pinctrl-names = "default"; 199 pinctrl-0 = <&uart2_pins>; 200 status = "disabled"; 201}; 202 203&usb_otg { 204 dr_mode = "otg"; 205 status = "okay"; 206}; 207 208&usbphy { 209 /* USB Type-A ports' VBUS is always on */ 210 usb0_id_det-gpios = <&pio 0 21 GPIO_ACTIVE_HIGH>; /* PA21 */ 211 usb0_vbus-supply = <®_usb0_vbus>; 212 status = "okay"; 213}; 214