0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 // Copyright (C) 2018 Amarula Solutions
0003 // Author: Jagan Teki <jagan@amarulasolutions.com>
0004
0005 /dts-v1/;
0006
0007 #include "sun50i-h6.dtsi"
0008
0009 #include <dt-bindings/gpio/gpio.h>
0010
0011 / {
0012 model = "OrangePi One Plus";
0013 compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6";
0014
0015 aliases {
0016 serial0 = &uart0;
0017 };
0018
0019 chosen {
0020 stdout-path = "serial0:115200n8";
0021 };
0022
0023 connector {
0024 compatible = "hdmi-connector";
0025 type = "a";
0026 ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
0027
0028 port {
0029 hdmi_con_in: endpoint {
0030 remote-endpoint = <&hdmi_out_con>;
0031 };
0032 };
0033 };
0034
0035 ext_osc32k: ext_osc32k_clk {
0036 #clock-cells = <0>;
0037 compatible = "fixed-clock";
0038 clock-frequency = <32768>;
0039 clock-output-names = "ext_osc32k";
0040 };
0041
0042 leds {
0043 compatible = "gpio-leds";
0044
0045 led-0 {
0046 label = "orangepi:red:power";
0047 gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
0048 default-state = "on";
0049 };
0050
0051 led-1 {
0052 label = "orangepi:green:status";
0053 gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
0054 };
0055 };
0056
0057 reg_vcc5v: vcc5v {
0058 /* board wide 5V supply directly from the DC jack */
0059 compatible = "regulator-fixed";
0060 regulator-name = "vcc-5v";
0061 regulator-min-microvolt = <5000000>;
0062 regulator-max-microvolt = <5000000>;
0063 regulator-always-on;
0064 };
0065 };
0066
0067 &de {
0068 status = "okay";
0069 };
0070
0071 &ehci0 {
0072 status = "okay";
0073 };
0074
0075 &ehci3 {
0076 status = "okay";
0077 };
0078
0079 &gpu {
0080 mali-supply = <®_dcdcc>;
0081 status = "okay";
0082 };
0083
0084 &hdmi {
0085 status = "okay";
0086 };
0087
0088 &hdmi_out {
0089 hdmi_out_con: endpoint {
0090 remote-endpoint = <&hdmi_con_in>;
0091 };
0092 };
0093
0094 &mmc0 {
0095 vmmc-supply = <®_cldo1>;
0096 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
0097 bus-width = <4>;
0098 status = "okay";
0099 };
0100
0101 &ohci0 {
0102 status = "okay";
0103 };
0104
0105 &ohci3 {
0106 status = "okay";
0107 };
0108
0109 &pio {
0110 vcc-pc-supply = <®_bldo2>;
0111 vcc-pd-supply = <®_cldo1>;
0112 vcc-pg-supply = <®_aldo1>;
0113 };
0114
0115 &r_ir {
0116 status = "okay";
0117 };
0118
0119 &r_pio {
0120 vcc-pm-supply = <®_bldo3>;
0121 };
0122
0123 &r_rsb {
0124 status = "okay";
0125
0126 axp805: pmic@745 {
0127 compatible = "x-powers,axp805", "x-powers,axp806";
0128 reg = <0x745>;
0129 interrupt-parent = <&r_intc>;
0130 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
0131 interrupt-controller;
0132 #interrupt-cells = <1>;
0133 x-powers,self-working-mode;
0134 vina-supply = <®_vcc5v>;
0135 vinb-supply = <®_vcc5v>;
0136 vinc-supply = <®_vcc5v>;
0137 vind-supply = <®_vcc5v>;
0138 vine-supply = <®_vcc5v>;
0139 aldoin-supply = <®_vcc5v>;
0140 bldoin-supply = <®_vcc5v>;
0141 cldoin-supply = <®_vcc5v>;
0142
0143 regulators {
0144 reg_aldo1: aldo1 {
0145 regulator-always-on;
0146 regulator-min-microvolt = <3300000>;
0147 regulator-max-microvolt = <3300000>;
0148 regulator-name = "vcc-pl";
0149 };
0150
0151 reg_aldo2: aldo2 {
0152 regulator-min-microvolt = <3300000>;
0153 regulator-max-microvolt = <3300000>;
0154 regulator-name = "vcc-ac200";
0155 };
0156
0157 reg_aldo3: aldo3 {
0158 regulator-always-on;
0159 regulator-min-microvolt = <3300000>;
0160 regulator-max-microvolt = <3300000>;
0161 regulator-name = "vcc25-dram";
0162 };
0163
0164 reg_bldo1: bldo1 {
0165 regulator-always-on;
0166 regulator-min-microvolt = <1800000>;
0167 regulator-max-microvolt = <1800000>;
0168 regulator-name = "vcc-bias-pll";
0169 };
0170
0171 reg_bldo2: bldo2 {
0172 regulator-always-on;
0173 regulator-min-microvolt = <1800000>;
0174 regulator-max-microvolt = <1800000>;
0175 regulator-name = "vcc-efuse-pcie-hdmi-io";
0176 };
0177
0178 reg_bldo3: bldo3 {
0179 regulator-always-on;
0180 regulator-min-microvolt = <1800000>;
0181 regulator-max-microvolt = <1800000>;
0182 regulator-name = "vcc-dcxoio";
0183 };
0184
0185 bldo4 {
0186 /* unused */
0187 };
0188
0189 reg_cldo1: cldo1 {
0190 regulator-always-on;
0191 regulator-min-microvolt = <3300000>;
0192 regulator-max-microvolt = <3300000>;
0193 regulator-name = "vcc-3v3";
0194 };
0195
0196 reg_cldo2: cldo2 {
0197 regulator-min-microvolt = <3300000>;
0198 regulator-max-microvolt = <3300000>;
0199 regulator-name = "vcc-wifi-1";
0200 };
0201
0202 reg_cldo3: cldo3 {
0203 regulator-min-microvolt = <3300000>;
0204 regulator-max-microvolt = <3300000>;
0205 regulator-name = "vcc-wifi-2";
0206 };
0207
0208 reg_dcdca: dcdca {
0209 regulator-always-on;
0210 regulator-min-microvolt = <810000>;
0211 regulator-max-microvolt = <1080000>;
0212 regulator-name = "vdd-cpu";
0213 };
0214
0215 reg_dcdcc: dcdcc {
0216 regulator-enable-ramp-delay = <32000>;
0217 regulator-min-microvolt = <810000>;
0218 regulator-max-microvolt = <1080000>;
0219 regulator-name = "vdd-gpu";
0220 };
0221
0222 reg_dcdcd: dcdcd {
0223 regulator-always-on;
0224 regulator-min-microvolt = <960000>;
0225 regulator-max-microvolt = <960000>;
0226 regulator-name = "vdd-sys";
0227 };
0228
0229 reg_dcdce: dcdce {
0230 regulator-always-on;
0231 regulator-min-microvolt = <1200000>;
0232 regulator-max-microvolt = <1200000>;
0233 regulator-name = "vcc-dram";
0234 };
0235
0236 sw {
0237 /* unused */
0238 };
0239 };
0240 };
0241 };
0242
0243 &rtc {
0244 clocks = <&ext_osc32k>;
0245 };
0246
0247 &uart0 {
0248 pinctrl-names = "default";
0249 pinctrl-0 = <&uart0_ph_pins>;
0250 status = "okay";
0251 };
0252
0253 &usb2otg {
0254 /*
0255 * OrangePi Lite 2 and One Plus, where this DT is used, don't
0256 * have a controllable VBUS even though they do have an ID pin.
0257 * Using it as anything but a USB host is unsafe.
0258 */
0259 dr_mode = "host";
0260 status = "okay";
0261 };
0262
0263 &usb2phy {
0264 usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */
0265 usb0_vbus-supply = <®_vcc5v>;
0266 usb3_vbus-supply = <®_vcc5v>;
0267 status = "okay";
0268 };