1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2018 Oleg Ivanov <balbes-150@yandex.ru> 4 * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com> 5 */ 6 7/dts-v1/; 8 9#include "meson8m2.dtsi" 10 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/input/input.h> 13 14/ { 15 model = "Tronsmart MXIII Plus"; 16 compatible = "tronsmart,mxiii-plus", "amlogic,meson8m2"; 17 18 aliases { 19 ethernet0 = ðmac; 20 i2c0 = &i2c_AO; 21 serial0 = &uart_AO; 22 mmc0 = &sd_card_slot; 23 }; 24 25 chosen { 26 stdout-path = "serial0:115200n8"; 27 }; 28 29 memory { 30 device_type = "memory"; 31 reg = <0x40000000 0x80000000>; 32 }; 33 34 adc-keys { 35 compatible = "adc-keys"; 36 io-channels = <&saradc 0>; 37 io-channel-names = "buttons"; 38 keyup-threshold-microvolt = <1710000>; 39 40 button-function { 41 label = "Function"; 42 linux,code = <KEY_FN>; 43 press-threshold-microvolt = <10000>; 44 }; 45 }; 46 47 sdio_pwrseq: sdio-pwrseq { 48 compatible = "mmc-pwrseq-simple"; 49 50 pinctrl-0 = <&xtal_32k_out_pins>; 51 pinctrl-names = "default"; 52 53 reset-gpios = <&gpio GPIOX_11 GPIO_ACTIVE_LOW>, 54 <&gpio_ao GPIOAO_6 GPIO_ACTIVE_LOW>; 55 56 clocks = <&xtal_32k_out>; 57 clock-names = "ext_clock"; 58 }; 59 60 vcc_3v3: regulator-vcc3v3 { 61 compatible = "regulator-fixed"; 62 regulator-name = "VCC3V3"; 63 regulator-min-microvolt = <3300000>; 64 regulator-max-microvolt = <3300000>; 65 }; 66 67 xtal_32k_out: xtal-32k-out-clk { 68 compatible = "fixed-clock"; 69 #clock-cells = <0>; 70 clock-frequency = <32768>; 71 clock-output-names = "xtal_32k_out"; 72 }; 73}; 74 75&cpu0 { 76 cpu-supply = <&vcck>; 77}; 78 79ðmac { 80 status = "okay"; 81 82 pinctrl-0 = <ð_rgmii_pins>; 83 pinctrl-names = "default"; 84 85 phy-handle = <ð_phy0>; 86 phy-mode = "rgmii-id"; 87 88 mdio { 89 compatible = "snps,dwmac-mdio"; 90 #address-cells = <1>; 91 #size-cells = <0>; 92 93 eth_phy0: ethernet-phy@0 { 94 /* Realtek RTL8211F (0x001cc916) */ 95 reg = <0>; 96 97 reset-assert-us = <10000>; 98 reset-deassert-us = <80000>; 99 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; 100 }; 101 }; 102}; 103 104&ir_receiver { 105 status = "okay"; 106 pinctrl-0 = <&ir_recv_pins>; 107 pinctrl-names = "default"; 108}; 109 110&i2c_AO { 111 status = "okay"; 112 pinctrl-0 = <&i2c_ao_pins>; 113 pinctrl-names = "default"; 114 115 pmic@32 { 116 compatible = "ricoh,rn5t618"; 117 reg = <0x32>; 118 system-power-controller; 119 120 regulators { 121 vcck: DCDC1 { 122 regulator-name = "VCCK"; 123 regulator-min-microvolt = <825000>; 124 regulator-max-microvolt = <1150000>; 125 regulator-boot-on; 126 regulator-always-on; 127 }; 128 129 vddee: DCDC2 { 130 /* the output is also used as VDDAO */ 131 regulator-name = "VDD_EE"; 132 regulator-min-microvolt = <950000>; 133 regulator-max-microvolt = <1150000>; 134 regulator-boot-on; 135 regulator-always-on; 136 }; 137 138 DCDC3 { 139 regulator-name = "VDD_DDR"; 140 regulator-min-microvolt = <1500000>; 141 regulator-max-microvolt = <1500000>; 142 regulator-boot-on; 143 regulator-always-on; 144 }; 145 146 LDO1 { 147 regulator-name = "VDDIO_AO28"; 148 regulator-min-microvolt = <2900000>; 149 regulator-max-microvolt = <2900000>; 150 regulator-boot-on; 151 regulator-always-on; 152 }; 153 154 vddio_ao1v8: LDO2 { 155 regulator-name = "VDDIO_AO18"; 156 regulator-min-microvolt = <1800000>; 157 regulator-max-microvolt = <1800000>; 158 regulator-boot-on; 159 regulator-always-on; 160 }; 161 162 LDO3 { 163 regulator-name = "VCC1V8"; 164 regulator-min-microvolt = <1800000>; 165 regulator-max-microvolt = <1800000>; 166 regulator-boot-on; 167 regulator-always-on; 168 }; 169 170 LDO4 { 171 regulator-name = "VCC2V8"; 172 regulator-min-microvolt = <2850000>; 173 regulator-max-microvolt = <2850000>; 174 regulator-boot-on; 175 regulator-always-on; 176 }; 177 178 LDO5 { 179 regulator-name = "AVDD1V8"; 180 regulator-min-microvolt = <1800000>; 181 regulator-max-microvolt = <1800000>; 182 regulator-boot-on; 183 regulator-always-on; 184 }; 185 186 LDORTC1 { 187 regulator-name = "VDD_LDO"; 188 regulator-min-microvolt = <2700000>; 189 regulator-max-microvolt = <2700000>; 190 regulator-boot-on; 191 regulator-always-on; 192 }; 193 194 LDORTC2 { 195 regulator-name = "RTC_0V9"; 196 regulator-min-microvolt = <900000>; 197 regulator-max-microvolt = <900000>; 198 regulator-boot-on; 199 regulator-always-on; 200 }; 201 }; 202 }; 203}; 204 205&mali { 206 mali-supply = <&vddee>; 207}; 208 209&saradc { 210 status = "okay"; 211 vref-supply = <&vddio_ao1v8>; 212}; 213 214/* SDIO wifi */ 215&sdhc { 216 status = "okay"; 217 218 pinctrl-0 = <&sdxc_a_pins>; 219 pinctrl-names = "default"; 220 221 bus-width = <4>; 222 max-frequency = <50000000>; 223 224 disable-wp; 225 non-removable; 226 cap-mmc-highspeed; 227 cap-sd-highspeed; 228 229 mmc-pwrseq = <&sdio_pwrseq>; 230 231 vmmc-supply = <&vcc_3v3>; 232 vqmmc-supply = <&vcc_3v3>; 233}; 234 235&sdio { 236 status = "okay"; 237 238 pinctrl-0 = <&sd_b_pins>; 239 pinctrl-names = "default"; 240 241 /* SD card */ 242 sd_card_slot: slot@1 { 243 compatible = "mmc-slot"; 244 reg = <1>; 245 status = "okay"; 246 247 bus-width = <4>; 248 no-sdio; 249 cap-mmc-highspeed; 250 cap-sd-highspeed; 251 disable-wp; 252 253 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 254 255 vmmc-supply = <&vcc_3v3>; 256 }; 257}; 258 259/* connected to the Bluetooth module */ 260&uart_A { 261 status = "okay"; 262 pinctrl-0 = <&uart_a1_pins>, <&uart_a1_cts_rts_pins>; 263 pinctrl-names = "default"; 264 uart-has-rtscts; 265 266 bluetooth { 267 compatible = "brcm,bcm20702a1"; 268 shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 269 max-speed = <2000000>; 270 }; 271}; 272 273&uart_AO { 274 status = "okay"; 275 pinctrl-0 = <&uart_ao_a_pins>; 276 pinctrl-names = "default"; 277}; 278 279&usb0 { 280 status = "okay"; 281}; 282 283&usb1 { 284 status = "okay"; 285}; 286 287&usb0_phy { 288 status = "okay"; 289}; 290 291&usb1_phy { 292 status = "okay"; 293}; 294