1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (C) 2021 Arm Ltd. 4 */ 5 6/dts-v1/; 7 8#include "sun50i-h616.dtsi" 9#include "sun50i-h616-cpu-opp.dtsi" 10 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/interrupt-controller/arm-gic.h> 13 14/ { 15 model = "X96 Mate"; 16 compatible = "hechuang,x96-mate", "allwinner,sun50i-h616"; 17 18 aliases { 19 serial0 = &uart0; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 reg_vcc5v: vcc5v { 27 /* board wide 5V supply directly from the DC input */ 28 compatible = "regulator-fixed"; 29 regulator-name = "vcc-5v"; 30 regulator-min-microvolt = <5000000>; 31 regulator-max-microvolt = <5000000>; 32 regulator-always-on; 33 }; 34}; 35 36&codec { 37 allwinner,audio-routing = "Line Out", "LINEOUT"; 38 status = "okay"; 39}; 40 41&cpu0 { 42 cpu-supply = <®_dcdca>; 43}; 44 45&ehci0 { 46 status = "okay"; 47}; 48 49&ehci2 { 50 status = "okay"; 51}; 52 53&gpu { 54 mali-supply = <®_dcdcc>; 55 status = "okay"; 56}; 57 58&ir { 59 status = "okay"; 60}; 61 62&mmc0 { 63 vmmc-supply = <®_dcdce>; 64 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 65 disable-wp; 66 bus-width = <4>; 67 status = "okay"; 68}; 69 70&mmc2 { 71 vmmc-supply = <®_dcdce>; 72 vqmmc-supply = <®_bldo1>; 73 bus-width = <8>; 74 non-removable; 75 cap-mmc-hw-reset; 76 mmc-ddr-1_8v; 77 mmc-hs200-1_8v; 78 status = "okay"; 79}; 80 81&ohci0 { 82 status = "okay"; 83}; 84 85&ohci2 { 86 status = "okay"; 87}; 88 89&r_rsb { 90 status = "okay"; 91 92 axp305: pmic@745 { 93 compatible = "x-powers,axp305", "x-powers,axp805", 94 "x-powers,axp806"; 95 interrupt-controller; 96 #interrupt-cells = <1>; 97 reg = <0x745>; 98 99 x-powers,self-working-mode; 100 vina-supply = <®_vcc5v>; 101 vinb-supply = <®_vcc5v>; 102 vinc-supply = <®_vcc5v>; 103 vind-supply = <®_vcc5v>; 104 vine-supply = <®_vcc5v>; 105 aldoin-supply = <®_vcc5v>; 106 bldoin-supply = <®_vcc5v>; 107 cldoin-supply = <®_vcc5v>; 108 109 regulators { 110 reg_aldo1: aldo1 { 111 regulator-always-on; 112 regulator-min-microvolt = <3300000>; 113 regulator-max-microvolt = <3300000>; 114 regulator-name = "vcc-sys"; 115 }; 116 117 /* Enabled by the Android BSP */ 118 reg_aldo2: aldo2 { 119 regulator-min-microvolt = <3300000>; 120 regulator-max-microvolt = <3300000>; 121 regulator-name = "vcc3v3-ext"; 122 status = "disabled"; 123 }; 124 125 /* Enabled by the Android BSP */ 126 reg_aldo3: aldo3 { 127 regulator-min-microvolt = <3300000>; 128 regulator-max-microvolt = <3300000>; 129 regulator-name = "vcc3v3-ext2"; 130 status = "disabled"; 131 }; 132 133 reg_bldo1: bldo1 { 134 regulator-always-on; 135 regulator-min-microvolt = <1800000>; 136 regulator-max-microvolt = <1800000>; 137 regulator-name = "vcc1v8"; 138 }; 139 140 /* Enabled by the Android BSP */ 141 reg_bldo2: bldo2 { 142 regulator-min-microvolt = <1800000>; 143 regulator-max-microvolt = <1800000>; 144 regulator-name = "vcc1v8-2"; 145 status = "disabled"; 146 }; 147 148 bldo3 { 149 /* unused */ 150 }; 151 152 bldo4 { 153 /* unused */ 154 }; 155 156 cldo1 { 157 regulator-min-microvolt = <2500000>; 158 regulator-max-microvolt = <2500000>; 159 regulator-name = "vcc2v5"; 160 }; 161 162 cldo2 { 163 /* unused */ 164 }; 165 166 cldo3 { 167 /* unused */ 168 }; 169 170 reg_dcdca: dcdca { 171 regulator-always-on; 172 regulator-min-microvolt = <810000>; 173 regulator-max-microvolt = <1100000>; 174 regulator-name = "vdd-cpu"; 175 }; 176 177 reg_dcdcc: dcdcc { 178 regulator-always-on; 179 regulator-min-microvolt = <810000>; 180 regulator-max-microvolt = <990000>; 181 regulator-name = "vdd-gpu-sys"; 182 }; 183 184 reg_dcdcd: dcdcd { 185 regulator-always-on; 186 regulator-min-microvolt = <1360000>; 187 regulator-max-microvolt = <1360000>; 188 regulator-name = "vdd-dram"; 189 }; 190 191 reg_dcdce: dcdce { 192 regulator-always-on; 193 regulator-min-microvolt = <3300000>; 194 regulator-max-microvolt = <3300000>; 195 regulator-name = "vcc-eth-mmc"; 196 }; 197 198 sw { 199 /* unused */ 200 }; 201 }; 202 }; 203}; 204 205&uart0 { 206 pinctrl-names = "default"; 207 pinctrl-0 = <&uart0_ph_pins>; 208 status = "okay"; 209}; 210 211&usbotg { 212 dr_mode = "host"; /* USB A type receptable */ 213 status = "okay"; 214}; 215 216&usbphy { 217 status = "okay"; 218}; 219