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&ir { 54 status = "okay"; 55}; 56 57&mmc0 { 58 vmmc-supply = <®_dcdce>; 59 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 60 disable-wp; 61 bus-width = <4>; 62 status = "okay"; 63}; 64 65&mmc2 { 66 vmmc-supply = <®_dcdce>; 67 vqmmc-supply = <®_bldo1>; 68 bus-width = <8>; 69 non-removable; 70 cap-mmc-hw-reset; 71 mmc-ddr-1_8v; 72 mmc-hs200-1_8v; 73 status = "okay"; 74}; 75 76&ohci0 { 77 status = "okay"; 78}; 79 80&ohci2 { 81 status = "okay"; 82}; 83 84&r_rsb { 85 status = "okay"; 86 87 axp305: pmic@745 { 88 compatible = "x-powers,axp305", "x-powers,axp805", 89 "x-powers,axp806"; 90 interrupt-controller; 91 #interrupt-cells = <1>; 92 reg = <0x745>; 93 94 x-powers,self-working-mode; 95 vina-supply = <®_vcc5v>; 96 vinb-supply = <®_vcc5v>; 97 vinc-supply = <®_vcc5v>; 98 vind-supply = <®_vcc5v>; 99 vine-supply = <®_vcc5v>; 100 aldoin-supply = <®_vcc5v>; 101 bldoin-supply = <®_vcc5v>; 102 cldoin-supply = <®_vcc5v>; 103 104 regulators { 105 reg_aldo1: aldo1 { 106 regulator-always-on; 107 regulator-min-microvolt = <3300000>; 108 regulator-max-microvolt = <3300000>; 109 regulator-name = "vcc-sys"; 110 }; 111 112 /* Enabled by the Android BSP */ 113 reg_aldo2: aldo2 { 114 regulator-min-microvolt = <3300000>; 115 regulator-max-microvolt = <3300000>; 116 regulator-name = "vcc3v3-ext"; 117 status = "disabled"; 118 }; 119 120 /* Enabled by the Android BSP */ 121 reg_aldo3: aldo3 { 122 regulator-min-microvolt = <3300000>; 123 regulator-max-microvolt = <3300000>; 124 regulator-name = "vcc3v3-ext2"; 125 status = "disabled"; 126 }; 127 128 reg_bldo1: bldo1 { 129 regulator-always-on; 130 regulator-min-microvolt = <1800000>; 131 regulator-max-microvolt = <1800000>; 132 regulator-name = "vcc1v8"; 133 }; 134 135 /* Enabled by the Android BSP */ 136 reg_bldo2: bldo2 { 137 regulator-min-microvolt = <1800000>; 138 regulator-max-microvolt = <1800000>; 139 regulator-name = "vcc1v8-2"; 140 status = "disabled"; 141 }; 142 143 bldo3 { 144 /* unused */ 145 }; 146 147 bldo4 { 148 /* unused */ 149 }; 150 151 cldo1 { 152 regulator-min-microvolt = <2500000>; 153 regulator-max-microvolt = <2500000>; 154 regulator-name = "vcc2v5"; 155 }; 156 157 cldo2 { 158 /* unused */ 159 }; 160 161 cldo3 { 162 /* unused */ 163 }; 164 165 reg_dcdca: dcdca { 166 regulator-always-on; 167 regulator-min-microvolt = <810000>; 168 regulator-max-microvolt = <1100000>; 169 regulator-name = "vdd-cpu"; 170 }; 171 172 reg_dcdcc: dcdcc { 173 regulator-always-on; 174 regulator-min-microvolt = <810000>; 175 regulator-max-microvolt = <990000>; 176 regulator-name = "vdd-gpu-sys"; 177 }; 178 179 reg_dcdcd: dcdcd { 180 regulator-always-on; 181 regulator-min-microvolt = <1360000>; 182 regulator-max-microvolt = <1360000>; 183 regulator-name = "vdd-dram"; 184 }; 185 186 reg_dcdce: dcdce { 187 regulator-always-on; 188 regulator-min-microvolt = <3300000>; 189 regulator-max-microvolt = <3300000>; 190 regulator-name = "vcc-eth-mmc"; 191 }; 192 193 sw { 194 /* unused */ 195 }; 196 }; 197 }; 198}; 199 200&uart0 { 201 pinctrl-names = "default"; 202 pinctrl-0 = <&uart0_ph_pins>; 203 status = "okay"; 204}; 205 206&usbotg { 207 dr_mode = "host"; /* USB A type receptable */ 208 status = "okay"; 209}; 210 211&usbphy { 212 status = "okay"; 213}; 214