meson-gxbb-vega-s95.dtsi 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  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. #include "meson-gxbb.dtsi"
  43. / {
  44. compatible = "tronsmart,vega-s95", "amlogic,meson-gxbb";
  45. aliases {
  46. serial0 = &uart_AO;
  47. };
  48. chosen {
  49. stdout-path = "serial0:115200n8";
  50. };
  51. leds {
  52. compatible = "gpio-leds";
  53. blue {
  54. label = "vega-s95:blue:on";
  55. gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
  56. default-state = "on";
  57. panic-indicator;
  58. };
  59. };
  60. usb_vbus: regulator-usb0-vbus {
  61. compatible = "regulator-fixed";
  62. regulator-name = "USB0_VBUS";
  63. regulator-min-microvolt = <5000000>;
  64. regulator-max-microvolt = <5000000>;
  65. gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
  66. enable-active-high;
  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. vcc_1v8: regulator-vcc_1v8 {
  75. compatible = "regulator-fixed";
  76. regulator-name = "VCC_1V8";
  77. regulator-min-microvolt = <1800000>;
  78. regulator-max-microvolt = <1800000>;
  79. };
  80. emmc_pwrseq: emmc-pwrseq {
  81. compatible = "mmc-pwrseq-emmc";
  82. reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
  83. };
  84. wifi32k: wifi32k {
  85. compatible = "pwm-clock";
  86. #clock-cells = <0>;
  87. clock-frequency = <32768>;
  88. pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
  89. };
  90. sdio_pwrseq: sdio-pwrseq {
  91. compatible = "mmc-pwrseq-simple";
  92. reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>,
  93. <&gpio GPIOX_20 GPIO_ACTIVE_LOW>;
  94. clocks = <&wifi32k>;
  95. clock-names = "ext_clock";
  96. };
  97. };
  98. &ethmac {
  99. status = "okay";
  100. pinctrl-0 = <&eth_rgmii_pins>;
  101. pinctrl-names = "default";
  102. phy-handle = <&eth_phy0>;
  103. phy-mode = "rgmii";
  104. amlogic,tx-delay-ns = <2>;
  105. snps,reset-gpio = <&gpio GPIOZ_14 0>;
  106. snps,reset-delays-us = <0 10000 1000000>;
  107. snps,reset-active-low;
  108. mdio {
  109. compatible = "snps,dwmac-mdio";
  110. #address-cells = <1>;
  111. #size-cells = <0>;
  112. eth_phy0: ethernet-phy@0 {
  113. /* Realtek RTL8211F (0x001cc916) */
  114. reg = <0>;
  115. };
  116. };
  117. };
  118. &ir {
  119. status = "okay";
  120. pinctrl-0 = <&remote_input_ao_pins>;
  121. pinctrl-names = "default";
  122. };
  123. &pwm_ef {
  124. status = "okay";
  125. pinctrl-0 = <&pwm_e_pins>;
  126. pinctrl-names = "default";
  127. clocks = <&clkc CLKID_FCLK_DIV4>;
  128. clock-names = "clkin0";
  129. };
  130. /* Wireless SDIO Module */
  131. &sd_emmc_a {
  132. status = "okay";
  133. pinctrl-0 = <&sdio_pins &sdio_irq_pins>;
  134. pinctrl-1 = <&sdio_clk_gate_pins>;
  135. pinctrl-names = "default", "clk-gate";
  136. #address-cells = <1>;
  137. #size-cells = <0>;
  138. bus-width = <4>;
  139. cap-sd-highspeed;
  140. max-frequency = <100000000>;
  141. non-removable;
  142. disable-wp;
  143. mmc-pwrseq = <&sdio_pwrseq>;
  144. vmmc-supply = <&vcc_3v3>;
  145. vqmmc-supply = <&vcc_1v8>;
  146. brcmf: wifi@1 {
  147. reg = <1>;
  148. compatible = "brcm,bcm4329-fmac";
  149. };
  150. };
  151. /* SD card */
  152. &sd_emmc_b {
  153. status = "okay";
  154. pinctrl-0 = <&sdcard_pins>;
  155. pinctrl-1 = <&sdcard_clk_gate_pins>;
  156. pinctrl-names = "default", "clk-gate";
  157. bus-width = <4>;
  158. cap-sd-highspeed;
  159. max-frequency = <100000000>;
  160. disable-wp;
  161. cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
  162. cd-inverted;
  163. vmmc-supply = <&vcc_3v3>;
  164. };
  165. /* eMMC */
  166. &sd_emmc_c {
  167. status = "okay";
  168. pinctrl-0 = <&emmc_pins>;
  169. pinctrl-1 = <&emmc_clk_gate_pins>;
  170. pinctrl-names = "default", "clk-gate";
  171. bus-width = <8>;
  172. cap-mmc-highspeed;
  173. max-frequency = <200000000>;
  174. non-removable;
  175. disable-wp;
  176. mmc-ddr-1_8v;
  177. mmc-hs200-1_8v;
  178. mmc-pwrseq = <&emmc_pwrseq>;
  179. vmmc-supply = <&vcc_3v3>;
  180. vmmcq-sumpply = <&vcc_1v8>;
  181. };
  182. &uart_AO {
  183. status = "okay";
  184. pinctrl-0 = <&uart_ao_a_pins>;
  185. pinctrl-names = "default";
  186. };
  187. &usb0_phy {
  188. status = "okay";
  189. phy-supply = <&usb_vbus>;
  190. };
  191. &usb1_phy {
  192. status = "okay";
  193. };
  194. &usb0 {
  195. status = "okay";
  196. };
  197. &usb1 {
  198. status = "okay";
  199. };