1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2// Copyright (C) 2018 Amarula Solutions 3// Author: Jagan Teki <jagan@amarulasolutions.com> 4 5/dts-v1/; 6 7#include "sun50i-h6.dtsi" 8 9#include <dt-bindings/gpio/gpio.h> 10 11/ { 12 model = "OrangePi One Plus"; 13 compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6"; 14 15 aliases { 16 serial0 = &uart0; 17 }; 18 19 chosen { 20 stdout-path = "serial0:115200n8"; 21 }; 22 23 connector { 24 compatible = "hdmi-connector"; 25 type = "a"; 26 ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 27 28 port { 29 hdmi_con_in: endpoint { 30 remote-endpoint = <&hdmi_out_con>; 31 }; 32 }; 33 }; 34 35 ext_osc32k: ext-osc32k-clk { 36 #clock-cells = <0>; 37 compatible = "fixed-clock"; 38 clock-frequency = <32768>; 39 clock-output-names = "ext_osc32k"; 40 }; 41 42 leds { 43 compatible = "gpio-leds"; 44 45 led-0 { 46 label = "orangepi:red:power"; 47 gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ 48 default-state = "on"; 49 }; 50 51 led-1 { 52 label = "orangepi:green:status"; 53 gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ 54 }; 55 }; 56 57 reg_vcc5v: vcc5v { 58 /* board wide 5V supply directly from the DC jack */ 59 compatible = "regulator-fixed"; 60 regulator-name = "vcc-5v"; 61 regulator-min-microvolt = <5000000>; 62 regulator-max-microvolt = <5000000>; 63 regulator-always-on; 64 }; 65}; 66 67&de { 68 status = "okay"; 69}; 70 71&ehci0 { 72 status = "okay"; 73}; 74 75&ehci3 { 76 status = "okay"; 77}; 78 79&gpu { 80 mali-supply = <®_dcdcc>; 81 status = "okay"; 82}; 83 84&hdmi { 85 status = "okay"; 86}; 87 88&hdmi_out { 89 hdmi_out_con: endpoint { 90 remote-endpoint = <&hdmi_con_in>; 91 }; 92}; 93 94&mmc0 { 95 vmmc-supply = <®_cldo1>; 96 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 97 disable-wp; 98 bus-width = <4>; 99 status = "okay"; 100}; 101 102&ohci0 { 103 status = "okay"; 104}; 105 106&ohci3 { 107 status = "okay"; 108}; 109 110&pio { 111 vcc-pc-supply = <®_bldo2>; 112 vcc-pd-supply = <®_cldo1>; 113 vcc-pg-supply = <®_aldo1>; 114}; 115 116&r_ir { 117 status = "okay"; 118}; 119 120&r_pio { 121 vcc-pm-supply = <®_bldo3>; 122}; 123 124&r_rsb { 125 status = "okay"; 126 127 axp805: pmic@745 { 128 compatible = "x-powers,axp805", "x-powers,axp806"; 129 reg = <0x745>; 130 interrupt-parent = <&r_intc>; 131 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; 132 interrupt-controller; 133 #interrupt-cells = <1>; 134 x-powers,self-working-mode; 135 vina-supply = <®_vcc5v>; 136 vinb-supply = <®_vcc5v>; 137 vinc-supply = <®_vcc5v>; 138 vind-supply = <®_vcc5v>; 139 vine-supply = <®_vcc5v>; 140 aldoin-supply = <®_vcc5v>; 141 bldoin-supply = <®_vcc5v>; 142 cldoin-supply = <®_vcc5v>; 143 144 regulators { 145 reg_aldo1: aldo1 { 146 regulator-always-on; 147 regulator-min-microvolt = <3300000>; 148 regulator-max-microvolt = <3300000>; 149 regulator-name = "vcc-pl"; 150 }; 151 152 reg_aldo2: aldo2 { 153 regulator-min-microvolt = <3300000>; 154 regulator-max-microvolt = <3300000>; 155 regulator-name = "vcc-ac200"; 156 }; 157 158 reg_aldo3: aldo3 { 159 regulator-always-on; 160 regulator-min-microvolt = <3300000>; 161 regulator-max-microvolt = <3300000>; 162 regulator-name = "vcc25-dram"; 163 }; 164 165 reg_bldo1: bldo1 { 166 regulator-always-on; 167 regulator-min-microvolt = <1800000>; 168 regulator-max-microvolt = <1800000>; 169 regulator-name = "vcc-bias-pll"; 170 }; 171 172 reg_bldo2: bldo2 { 173 regulator-always-on; 174 regulator-min-microvolt = <1800000>; 175 regulator-max-microvolt = <1800000>; 176 regulator-name = "vcc-efuse-pcie-hdmi-io"; 177 }; 178 179 reg_bldo3: bldo3 { 180 regulator-always-on; 181 regulator-min-microvolt = <1800000>; 182 regulator-max-microvolt = <1800000>; 183 regulator-name = "vcc-dcxoio"; 184 }; 185 186 bldo4 { 187 /* unused */ 188 }; 189 190 reg_cldo1: cldo1 { 191 regulator-always-on; 192 regulator-min-microvolt = <3300000>; 193 regulator-max-microvolt = <3300000>; 194 regulator-name = "vcc-3v3"; 195 }; 196 197 reg_cldo2: cldo2 { 198 regulator-min-microvolt = <3300000>; 199 regulator-max-microvolt = <3300000>; 200 regulator-name = "vcc-wifi-1"; 201 }; 202 203 reg_cldo3: cldo3 { 204 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <3300000>; 206 regulator-name = "vcc-wifi-2"; 207 }; 208 209 reg_dcdca: dcdca { 210 regulator-always-on; 211 regulator-min-microvolt = <810000>; 212 regulator-max-microvolt = <1080000>; 213 regulator-name = "vdd-cpu"; 214 }; 215 216 reg_dcdcc: dcdcc { 217 regulator-enable-ramp-delay = <32000>; 218 regulator-min-microvolt = <810000>; 219 regulator-max-microvolt = <1080000>; 220 regulator-name = "vdd-gpu"; 221 }; 222 223 reg_dcdcd: dcdcd { 224 regulator-always-on; 225 regulator-min-microvolt = <960000>; 226 regulator-max-microvolt = <960000>; 227 regulator-name = "vdd-sys"; 228 }; 229 230 reg_dcdce: dcdce { 231 regulator-always-on; 232 regulator-min-microvolt = <1200000>; 233 regulator-max-microvolt = <1200000>; 234 regulator-name = "vcc-dram"; 235 }; 236 237 sw { 238 /* unused */ 239 }; 240 }; 241 }; 242}; 243 244&rtc { 245 clocks = <&ext_osc32k>; 246}; 247 248&uart0 { 249 pinctrl-names = "default"; 250 pinctrl-0 = <&uart0_ph_pins>; 251 status = "okay"; 252}; 253 254&usb2otg { 255 /* 256 * OrangePi Lite 2 and One Plus, where this DT is used, don't 257 * have a controllable VBUS even though they do have an ID pin. 258 * Using it as anything but a USB host is unsafe. 259 */ 260 dr_mode = "host"; 261 status = "okay"; 262}; 263 264&usb2phy { 265 usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */ 266 usb0_vbus-supply = <®_vcc5v>; 267 usb3_vbus-supply = <®_vcc5v>; 268 status = "okay"; 269}; 270