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