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