1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2016-2017 Andreas Färber 4 * 5 * Based on nexbox-a1: 6 * 7 * Copyright (c) 2016 BayLibre, SAS. 8 * Author: Neil Armstrong <narmstrong@baylibre.com> 9 * 10 * Copyright (c) 2016 Endless Computers, Inc. 11 * Author: Carlo Caione <carlo@endlessm.com> 12 */ 13 14/dts-v1/; 15 16#include "meson-gxm.dtsi" 17 18/ { 19 compatible = "kingnovel,r-box-pro", "amlogic,s912", "amlogic,meson-gxm"; 20 model = "R-Box Pro"; 21 22 aliases { 23 serial0 = &uart_AO; 24 ethernet0 = ðmac; 25 }; 26 27 chosen { 28 stdout-path = "serial0:115200n8"; 29 }; 30 31 memory@0 { 32 device_type = "memory"; 33 reg = <0x0 0x0 0x0 0x80000000>; /* 2 GiB or 3 GiB */ 34 }; 35 36 leds { 37 compatible = "gpio-leds"; 38 39 blue { 40 label = "rbox-pro:blue:on"; 41 gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; 42 default-state = "on"; 43 }; 44 45 red { 46 label = "rbox-pro:red:standby"; 47 gpios = <&gpio GPIODV_28 GPIO_ACTIVE_HIGH>; 48 default-state = "off"; 49 retain-state-suspended; 50 panic-indicator; 51 }; 52 }; 53 54 vddio_boot: regulator-vddio-boot { 55 compatible = "regulator-fixed"; 56 regulator-name = "VDDIO_BOOT"; 57 regulator-min-microvolt = <1800000>; 58 regulator-max-microvolt = <1800000>; 59 }; 60 61 vddao_3v3: regulator-vddao-3v3 { 62 compatible = "regulator-fixed"; 63 regulator-name = "VDDAO_3V3"; 64 regulator-min-microvolt = <3300000>; 65 regulator-max-microvolt = <3300000>; 66 }; 67 68 vcc_3v3: regulator-vcc-3v3 { 69 compatible = "regulator-fixed"; 70 regulator-name = "VCC_3V3"; 71 regulator-min-microvolt = <3300000>; 72 regulator-max-microvolt = <3300000>; 73 }; 74 75 emmc_pwrseq: emmc-pwrseq { 76 compatible = "mmc-pwrseq-emmc"; 77 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 78 }; 79 80 wifi32k: wifi32k { 81 compatible = "pwm-clock"; 82 #clock-cells = <0>; 83 clock-frequency = <32768>; 84 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 85 }; 86 87 sdio_pwrseq: sdio-pwrseq { 88 compatible = "mmc-pwrseq-simple"; 89 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 90 clocks = <&wifi32k>; 91 clock-names = "ext_clock"; 92 }; 93}; 94 95ðmac { 96 status = "okay"; 97 98 pinctrl-0 = <ð_pins>; 99 pinctrl-names = "default"; 100 101 /* Select external PHY by default */ 102 phy-handle = <&external_phy>; 103 104 snps,reset-gpio = <&gpio GPIOZ_14 0>; 105 snps,reset-delays-us = <0 10000 1000000>; 106 snps,reset-active-low; 107 108 amlogic,tx-delay-ns = <2>; 109 110 /* External PHY is in RGMII */ 111 phy-mode = "rgmii"; 112}; 113 114&external_mdio { 115 external_phy: ethernet-phy@0 { 116 compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; 117 reg = <0>; 118 max-speed = <1000>; 119 }; 120}; 121 122&ir { 123 status = "okay"; 124 pinctrl-0 = <&remote_input_ao_pins>; 125 pinctrl-names = "default"; 126}; 127 128&pwm_ef { 129 status = "okay"; 130 pinctrl-0 = <&pwm_e_pins>; 131 pinctrl-names = "default"; 132 clocks = <&clkc CLKID_FCLK_DIV4>; 133 clock-names = "clkin0"; 134}; 135 136/* Wireless SDIO Module */ 137&sd_emmc_a { 138 status = "okay"; 139 pinctrl-0 = <&sdio_pins>; 140 pinctrl-names = "default"; 141 #address-cells = <1>; 142 #size-cells = <0>; 143 144 bus-width = <4>; 145 cap-sd-highspeed; 146 max-frequency = <100000000>; 147 148 non-removable; 149 disable-wp; 150 151 mmc-pwrseq = <&sdio_pwrseq>; 152 153 vmmc-supply = <&vddao_3v3>; 154 vqmmc-supply = <&vddio_boot>; 155 156 brcmf: brcmf@1 { 157 reg = <1>; 158 compatible = "brcm,bcm4329-fmac"; 159 }; 160}; 161 162/* SD card */ 163&sd_emmc_b { 164 status = "okay"; 165 pinctrl-0 = <&sdcard_pins>; 166 pinctrl-names = "default"; 167 168 bus-width = <4>; 169 cap-sd-highspeed; 170 max-frequency = <100000000>; 171 disable-wp; 172 173 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 174 175 vmmc-supply = <&vddao_3v3>; 176 vqmmc-supply = <&vddio_boot>; 177}; 178 179/* eMMC */ 180&sd_emmc_c { 181 status = "okay"; 182 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 183 pinctrl-names = "default"; 184 185 bus-width = <8>; 186 cap-mmc-highspeed; 187 max-frequency = <200000000>; 188 non-removable; 189 disable-wp; 190 mmc-ddr-1_8v; 191 mmc-hs200-1_8v; 192 193 mmc-pwrseq = <&emmc_pwrseq>; 194 vmmc-supply = <&vcc_3v3>; 195 vqmmc-supply = <&vddio_boot>; 196}; 197 198&uart_AO { 199 status = "okay"; 200 pinctrl-0 = <&uart_ao_a_pins>; 201 pinctrl-names = "default"; 202}; 203