imx6qdl-sr-som-ti.dtsi 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. /*
  2. * Copyright (C) 2013,2014 Russell King
  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 file is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License
  11. * version 2 as published by the Free Software Foundation.
  12. *
  13. * This file is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * Or, alternatively,
  19. *
  20. * b) Permission is hereby granted, free of charge, to any person
  21. * obtaining a copy of this software and associated documentation
  22. * files (the "Software"), to deal in the Software without
  23. * restriction, including without limitation the rights to use,
  24. * copy, modify, merge, publish, distribute, sublicense, and/or
  25. * sell copies of the Software, and to permit persons to whom the
  26. * Software is furnished to do so, subject to the following
  27. * conditions:
  28. *
  29. * The above copyright notice and this permission notice shall be
  30. * included in all copies or substantial portions of the Software.
  31. *
  32. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  33. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  34. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  35. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  36. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  37. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  38. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  39. * OTHER DEALINGS IN THE SOFTWARE.
  40. */
  41. #include <dt-bindings/gpio/gpio.h>
  42. / {
  43. nvcc_sd1: regulator-nvcc-sd1 {
  44. compatible = "regulator-fixed";
  45. regulator-always-on;
  46. regulator-name = "nvcc_sd1";
  47. regulator-min-microvolt = <1800000>;
  48. regulator-max-microvolt = <1800000>;
  49. vin-supply = <&vcc_3v3>;
  50. };
  51. clk_ti_wifi: ti-wifi-clock {
  52. /* This is a hack around the kernel - using "fixed clock"
  53. * results in the "pinctrl" properties being ignored, and
  54. * the clock not being output. Instead, use a gated clock
  55. * and the unrouted WL_XTAL_PU gpio.
  56. */
  57. compatible = "gpio-gate-clock";
  58. #clock-cells = <0>;
  59. clock-frequency = <32768>;
  60. pinctrl-names = "default";
  61. pinctrl-0 = <&pinctrl_microsom_ti_clk>;
  62. enable-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
  63. };
  64. pwrseq_ti_wifi: ti-wifi-pwrseq {
  65. compatible = "mmc-pwrseq-simple";
  66. pinctrl-names = "default";
  67. pinctrl-0 = <&pinctrl_microsom_ti_wifi_en>;
  68. reset-gpios = <&gpio5 26 GPIO_ACTIVE_LOW>;
  69. post-power-on-delay-ms = <200>;
  70. clocks = <&clk_ti_wifi>;
  71. clock-names = "ext_clock";
  72. };
  73. };
  74. &iomuxc {
  75. microsom {
  76. pinctrl_microsom_ti_bt: microsom-ti-bt {
  77. fsl,pins = <
  78. /* BT_EN_SOC */
  79. MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00 0x40013070
  80. >;
  81. };
  82. pinctrl_microsom_ti_clk: microsom-ti-clk {
  83. fsl,pins = <
  84. /* EXT_32K */
  85. MX6QDL_PAD_GPIO_8__XTALOSC_REF_CLK_32K 0x1b0b0
  86. /* WL_XTAL_PU (unrouted) */
  87. MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05 0x40013070
  88. >;
  89. };
  90. pinctrl_microsom_ti_wifi_en: microsom-ti-wifi-en {
  91. fsl,pins = <
  92. /* WLAN_EN_SOC */
  93. MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x40013070
  94. >;
  95. };
  96. pinctrl_microsom_ti_wifi_irq: microsom-ti-wifi-irq {
  97. fsl,pins = <
  98. /* WLAN_IRQ */
  99. MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04 0x40013070
  100. >;
  101. };
  102. pinctrl_microsom_uart4: microsom-uart4 {
  103. fsl,pins = <
  104. MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
  105. MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
  106. MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1
  107. MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1
  108. >;
  109. };
  110. pinctrl_microsom_usdhc1: microsom-usdhc1 {
  111. fsl,pins = <
  112. MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
  113. MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
  114. MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
  115. MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
  116. MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
  117. MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
  118. >;
  119. };
  120. };
  121. };
  122. /* UART4 - Connected to optional TI Wi-Fi/BT/FM */
  123. &uart4 {
  124. pinctrl-names = "default";
  125. pinctrl-0 = <&pinctrl_microsom_uart4>;
  126. uart-has-rtscts;
  127. status = "okay";
  128. bluetooth {
  129. compatible = "ti,wl1837-st";
  130. clocks = <&clk_ti_wifi>;
  131. clock-names = "ext_clock";
  132. enable-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
  133. pinctrl-names = "default";
  134. pinctrl-0 = <&pinctrl_microsom_ti_bt>;
  135. };
  136. };
  137. /* USDHC1 - Connected to optional TI Wi-Fi/BT/FM */
  138. &usdhc1 {
  139. pinctrl-names = "default";
  140. pinctrl-0 = <&pinctrl_microsom_usdhc1>;
  141. bus-width = <4>;
  142. keep-power-in-suspend;
  143. mmc-pwrseq = <&pwrseq_ti_wifi>;
  144. cap-power-off-card;
  145. non-removable;
  146. vmmc-supply = <&vcc_3v3>;
  147. /* vqmmc-supply = <&nvcc_sd1>; - MMC layer doesn't like it! */
  148. status = "okay";
  149. #address-cells = <1>;
  150. #size-cells = <0>;
  151. wlcore@2 {
  152. compatible = "ti,wl1837";
  153. reg = <2>;
  154. interrupts-extended = <&gpio6 4 IRQ_TYPE_LEVEL_HIGH>;
  155. pinctrl-names = "default";
  156. pinctrl-0 = <&pinctrl_microsom_ti_wifi_irq>;
  157. };
  158. };