1/* 2 * Copyright (c) 2016 Andreas Färber 3 * 4 * This file is dual-licensed: you can use it either under the terms 5 * of the GPL or the X11 license, at your option. Note that this dual 6 * licensing only applies to this file, and not this project as a 7 * whole. 8 * 9 * a) This library is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of the 12 * License, or (at your option) any later version. 13 * 14 * This library is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * Or, alternatively, 20 * 21 * b) Permission is hereby granted, free of charge, to any person 22 * obtaining a copy of this software and associated documentation 23 * files (the "Software"), to deal in the Software without 24 * restriction, including without limitation the rights to use, 25 * copy, modify, merge, publish, distribute, sublicense, and/or 26 * sell copies of the Software, and to permit persons to whom the 27 * Software is furnished to do so, subject to the following 28 * conditions: 29 * 30 * The above copyright notice and this permission notice shall be 31 * included in all copies or substantial portions of the Software. 32 * 33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 * OTHER DEALINGS IN THE SOFTWARE. 41 */ 42 43#include "meson-gxbb.dtsi" 44 45/ { 46 compatible = "tronsmart,vega-s95", "amlogic,meson-gxbb"; 47 48 aliases { 49 serial0 = &uart_AO; 50 }; 51 52 chosen { 53 stdout-path = "serial0:115200n8"; 54 }; 55 56 usb_vbus: regulator-usb0-vbus { 57 compatible = "regulator-fixed"; 58 59 regulator-name = "USB0_VBUS"; 60 61 regulator-min-microvolt = <5000000>; 62 regulator-max-microvolt = <5000000>; 63 64 gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; 65 enable-active-high; 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 vcc_1v8: regulator-vcc_1v8 { 76 compatible = "regulator-fixed"; 77 regulator-name = "VCC_1V8"; 78 regulator-min-microvolt = <1800000>; 79 regulator-max-microvolt = <1800000>; 80 }; 81 82 emmc_pwrseq: emmc-pwrseq { 83 compatible = "mmc-pwrseq-emmc"; 84 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 85 }; 86 87 wifi32k: wifi32k { 88 compatible = "pwm-clock"; 89 #clock-cells = <0>; 90 clock-frequency = <32768>; 91 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 92 }; 93 94 sdio_pwrseq: sdio-pwrseq { 95 compatible = "mmc-pwrseq-simple"; 96 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>, 97 <&gpio GPIOX_20 GPIO_ACTIVE_LOW>; 98 clocks = <&wifi32k>; 99 clock-names = "ext_clock"; 100 }; 101}; 102 103&uart_AO { 104 status = "okay"; 105 pinctrl-0 = <&uart_ao_a_pins>; 106 pinctrl-names = "default"; 107 108}; 109 110&ir { 111 status = "okay"; 112 pinctrl-0 = <&remote_input_ao_pins>; 113 pinctrl-names = "default"; 114}; 115 116ðmac { 117 status = "okay"; 118 pinctrl-0 = <ð_rgmii_pins>; 119 pinctrl-names = "default"; 120}; 121 122&usb0_phy { 123 status = "okay"; 124 phy-supply = <&usb_vbus>; 125}; 126 127&usb1_phy { 128 status = "okay"; 129}; 130 131&usb0 { 132 status = "okay"; 133}; 134 135&usb1 { 136 status = "okay"; 137}; 138 139/* Wireless SDIO Module */ 140&sd_emmc_a { 141 status = "okay"; 142 pinctrl-0 = <&sdio_pins &sdio_irq_pins>; 143 pinctrl-names = "default"; 144 #address-cells = <1>; 145 #size-cells = <0>; 146 147 bus-width = <4>; 148 cap-sd-highspeed; 149 max-frequency = <100000000>; 150 151 non-removable; 152 disable-wp; 153 154 mmc-pwrseq = <&sdio_pwrseq>; 155 156 vmmc-supply = <&vcc_3v3>; 157 vqmmc-supply = <&vcc_1v8>; 158 159 brcmf: bcrmf@1 { 160 reg = <1>; 161 compatible = "brcm,bcm4329-fmac"; 162 }; 163}; 164 165/* SD card */ 166&sd_emmc_b { 167 status = "okay"; 168 pinctrl-0 = <&sdcard_pins>; 169 pinctrl-names = "default"; 170 171 bus-width = <4>; 172 cap-sd-highspeed; 173 max-frequency = <100000000>; 174 disable-wp; 175 176 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 177 cd-inverted; 178 179 vmmc-supply = <&vcc_3v3>; 180}; 181 182/* eMMC */ 183&sd_emmc_c { 184 status = "okay"; 185 pinctrl-0 = <&emmc_pins>; 186 pinctrl-names = "default"; 187 188 bus-width = <8>; 189 cap-sd-highspeed; 190 cap-mmc-highspeed; 191 max-frequency = <200000000>; 192 non-removable; 193 disable-wp; 194 mmc-ddr-1_8v; 195 mmc-hs200-1_8v; 196 197 mmc-pwrseq = <&emmc_pwrseq>; 198 vmmc-supply = <&vcc_3v3>; 199 vmmcq-sumpply = <&vcc_1v8>; 200}; 201 202&pwm_ef { 203 status = "okay"; 204 pinctrl-0 = <&pwm_e_pins>; 205 pinctrl-names = "default"; 206 clocks = <&clkc CLKID_FCLK_DIV4>; 207 clock-names = "clkin0"; 208}; 209