am335x-boneblack-wireless.dts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  4. */
  5. /dts-v1/;
  6. #include "am33xx.dtsi"
  7. #include "am335x-bone-common.dtsi"
  8. #include "am335x-boneblack-common.dtsi"
  9. #include "am335x-boneblack-hdmi.dtsi"
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. / {
  12. model = "TI AM335x BeagleBone Black Wireless";
  13. compatible = "ti,am335x-bone-black-wireless", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
  14. wlan_en_reg: fixedregulator@2 {
  15. compatible = "regulator-fixed";
  16. regulator-name = "wlan-en-regulator";
  17. regulator-min-microvolt = <1800000>;
  18. regulator-max-microvolt = <1800000>;
  19. startup-delay-us = <70000>;
  20. /* WL_EN */
  21. gpio = <&gpio3 9 0>;
  22. enable-active-high;
  23. };
  24. };
  25. &am33xx_pinmux {
  26. bt_pins: pinmux_bt_pins {
  27. pinctrl-single,pins = <
  28. AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gmii1_txd0.gpio0_28 - BT_EN */
  29. >;
  30. };
  31. mmc3_pins: pinmux_mmc3_pins {
  32. pinctrl-single,pins = <
  33. AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLUP, MUX_MODE6 ) /* (L15) gmii1_rxd1.mmc2_clk */
  34. AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLUP, MUX_MODE6 ) /* (J16) gmii1_txen.mmc2_cmd */
  35. AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (J17) gmii1_rxdv.mmc2_dat0 */
  36. AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (J18) gmii1_txd3.mmc2_dat1 */
  37. AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (K15) gmii1_txd2.mmc2_dat2 */
  38. AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_INPUT_PULLUP, MUX_MODE5 ) /* (H16) gmii1_col.mmc2_dat3 */
  39. >;
  40. };
  41. uart3_pins: pinmux_uart3_pins {
  42. pinctrl-single,pins = <
  43. AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLUP, MUX_MODE1) /* gmii1_rxd3.uart3_rxd */
  44. AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE1) /* gmii1_rxd2.uart3_txd */
  45. AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT, MUX_MODE3) /* mdio_data.uart3_ctsn */
  46. AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLDOWN, MUX_MODE3) /* mdio_clk.uart3_rtsn */
  47. >;
  48. };
  49. wl18xx_pins: pinmux_wl18xx_pins {
  50. pinctrl-single,pins = <
  51. AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gmii1_txclk.gpio3_9 WL_EN */
  52. AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7) /* rmii1_refclk.gpio0_29 WL_IRQ */
  53. AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_OUTPUT_PULLUP, MUX_MODE7) /* gmii1_rxclk.gpio3_10 LS_BUF_EN */
  54. >;
  55. };
  56. };
  57. &mac_sw {
  58. status = "disabled";
  59. };
  60. &mmc3 {
  61. dmas = <&edma_xbar 12 0 1
  62. &edma_xbar 13 0 2>;
  63. dma-names = "tx", "rx";
  64. status = "okay";
  65. vmmc-supply = <&wlan_en_reg>;
  66. bus-width = <4>;
  67. non-removable;
  68. cap-power-off-card;
  69. keep-power-in-suspend;
  70. pinctrl-names = "default";
  71. pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
  72. #address-cells = <1>;
  73. #size-cells = <0>;
  74. wlcore: wlcore@2 {
  75. compatible = "ti,wl1835";
  76. reg = <2>;
  77. interrupt-parent = <&gpio0>;
  78. interrupts = <29 IRQ_TYPE_EDGE_RISING>;
  79. };
  80. };
  81. &uart3 {
  82. pinctrl-names = "default";
  83. pinctrl-0 = <&uart3_pins &bt_pins>;
  84. status = "okay";
  85. bluetooth {
  86. compatible = "ti,wl1835-st";
  87. enable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
  88. };
  89. };
  90. &gpio3 {
  91. ls-buf-en-hog {
  92. gpio-hog;
  93. gpios = <10 GPIO_ACTIVE_HIGH>;
  94. output-high;
  95. line-name = "LS_BUF_EN";
  96. };
  97. };