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_i2c { 117 status = "okay"; 118 119 axp805: pmic@36 { 120 compatible = "x-powers,axp805", "x-powers,axp806"; 121 reg = <0x36>; 122 interrupt-parent = <&r_intc>; 123 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; 124 interrupt-controller; 125 #interrupt-cells = <1>; 126 x-powers,self-working-mode; 127 vina-supply = <®_vcc5v>; 128 vinb-supply = <®_vcc5v>; 129 vinc-supply = <®_vcc5v>; 130 vind-supply = <®_vcc5v>; 131 vine-supply = <®_vcc5v>; 132 aldoin-supply = <®_vcc5v>; 133 bldoin-supply = <®_vcc5v>; 134 cldoin-supply = <®_vcc5v>; 135 136 regulators { 137 reg_aldo1: aldo1 { 138 regulator-always-on; 139 regulator-min-microvolt = <3300000>; 140 regulator-max-microvolt = <3300000>; 141 regulator-name = "vcc-pl"; 142 }; 143 144 reg_aldo2: aldo2 { 145 regulator-min-microvolt = <3300000>; 146 regulator-max-microvolt = <3300000>; 147 regulator-name = "vcc-ac200"; 148 }; 149 150 reg_aldo3: aldo3 { 151 regulator-always-on; 152 regulator-min-microvolt = <3300000>; 153 regulator-max-microvolt = <3300000>; 154 regulator-name = "vcc25-dram"; 155 }; 156 157 reg_bldo1: bldo1 { 158 regulator-always-on; 159 regulator-min-microvolt = <1800000>; 160 regulator-max-microvolt = <1800000>; 161 regulator-name = "vcc-bias-pll"; 162 }; 163 164 reg_bldo2: bldo2 { 165 regulator-always-on; 166 regulator-min-microvolt = <1800000>; 167 regulator-max-microvolt = <1800000>; 168 regulator-name = "vcc-efuse-pcie-hdmi-io"; 169 }; 170 171 reg_bldo3: bldo3 { 172 regulator-always-on; 173 regulator-min-microvolt = <1800000>; 174 regulator-max-microvolt = <1800000>; 175 regulator-name = "vcc-dcxoio"; 176 }; 177 178 bldo4 { 179 /* unused */ 180 }; 181 182 reg_cldo1: cldo1 { 183 regulator-always-on; 184 regulator-min-microvolt = <3300000>; 185 regulator-max-microvolt = <3300000>; 186 regulator-name = "vcc-3v3"; 187 }; 188 189 reg_cldo2: cldo2 { 190 regulator-min-microvolt = <3300000>; 191 regulator-max-microvolt = <3300000>; 192 regulator-name = "vcc-wifi-1"; 193 }; 194 195 reg_cldo3: cldo3 { 196 regulator-min-microvolt = <3300000>; 197 regulator-max-microvolt = <3300000>; 198 regulator-name = "vcc-wifi-2"; 199 }; 200 201 reg_dcdca: dcdca { 202 regulator-always-on; 203 regulator-min-microvolt = <810000>; 204 regulator-max-microvolt = <1080000>; 205 regulator-name = "vdd-cpu"; 206 }; 207 208 reg_dcdcc: dcdcc { 209 regulator-enable-ramp-delay = <32000>; 210 regulator-min-microvolt = <810000>; 211 regulator-max-microvolt = <1080000>; 212 regulator-name = "vdd-gpu"; 213 }; 214 215 reg_dcdcd: dcdcd { 216 regulator-always-on; 217 regulator-min-microvolt = <960000>; 218 regulator-max-microvolt = <960000>; 219 regulator-name = "vdd-sys"; 220 }; 221 222 reg_dcdce: dcdce { 223 regulator-always-on; 224 regulator-min-microvolt = <1200000>; 225 regulator-max-microvolt = <1200000>; 226 regulator-name = "vcc-dram"; 227 }; 228 229 sw { 230 /* unused */ 231 }; 232 }; 233 }; 234}; 235 236&r_ir { 237 status = "okay"; 238}; 239 240&r_pio { 241 vcc-pm-supply = <®_bldo3>; 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