]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License version 2 as | |
6 | * published by the Free Software Foundation. | |
7 | */ | |
8 | /dts-v1/; | |
9 | ||
10 | #include "am33xx.dtsi" | |
11 | #include "am335x-bone-common.dtsi" | |
12 | #include "am335x-bonegreen-common.dtsi" | |
13 | #include <dt-bindings/interrupt-controller/irq.h> | |
14 | ||
15 | / { | |
16 | model = "TI AM335x BeagleBone Green Wireless"; | |
17 | compatible = "ti,am335x-bone-green-wireless", "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; | |
18 | ||
19 | wlan_en_reg: fixedregulator@2 { | |
20 | compatible = "regulator-fixed"; | |
21 | regulator-name = "wlan-en-regulator"; | |
22 | regulator-min-microvolt = <1800000>; | |
23 | regulator-max-microvolt = <1800000>; | |
24 | startup-delay-us= <70000>; | |
25 | ||
26 | /* WL_EN */ | |
27 | gpio = <&gpio0 26 0>; | |
28 | enable-active-high; | |
29 | }; | |
30 | }; | |
31 | ||
32 | &am33xx_pinmux { | |
33 | bt_pins: pinmux_bt_pins { | |
34 | pinctrl-single,pins = < | |
35 | AM33XX_IOPAD(0x878, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_ad12.gpio1_28 BT_EN */ | |
36 | >; | |
37 | }; | |
38 | ||
39 | mmc3_pins: pinmux_mmc3_pins { | |
40 | pinctrl-single,pins = < | |
41 | AM33XX_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad12.mmc2_dat0 */ | |
42 | AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad13.mmc2_dat1 */ | |
43 | AM33XX_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad14.mmc2_dat2 */ | |
44 | AM33XX_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad15.mmc2_dat3 */ | |
45 | AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */ | |
46 | AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_clk.mmc2_clk */ | |
47 | >; | |
48 | }; | |
49 | ||
50 | uart3_pins: pinmux_uart3_pins { | |
51 | pinctrl-single,pins = < | |
52 | AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE1) /* gmii1_rxd3.uart3_rxd */ | |
53 | AM33XX_IOPAD(0x938, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gmii1_rxd2.uart3_txd */ | |
54 | AM33XX_IOPAD(0x948, PIN_INPUT | MUX_MODE3) /* mdio_data.uart3_ctsn */ | |
55 | AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* mdio_clk.uart3_rtsn */ | |
56 | >; | |
57 | }; | |
58 | ||
59 | wl18xx_pins: pinmux_wl18xx_pins { | |
60 | pinctrl-single,pins = < | |
61 | AM33XX_IOPAD(0x828, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.gpio0_26 WL_EN */ | |
62 | AM33XX_IOPAD(0x82C, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.gpio0_27 WL_IRQ */ | |
63 | AM33XX_IOPAD(0x87C, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_csn0.gpio1_29 LS_BUF_EN */ | |
64 | >; | |
65 | }; | |
66 | }; | |
67 | ||
68 | &mac { | |
69 | status = "disabled"; | |
70 | }; | |
71 | ||
72 | &mmc3 { | |
73 | dmas = <&edma_xbar 12 0 1 | |
74 | &edma_xbar 13 0 2>; | |
75 | dma-names = "tx", "rx"; | |
76 | status = "okay"; | |
77 | vmmc-supply = <&wlan_en_reg>; | |
78 | bus-width = <4>; | |
79 | non-removable; | |
80 | cap-power-off-card; | |
81 | ti,needs-special-hs-handling; | |
82 | keep-power-in-suspend; | |
83 | pinctrl-names = "default"; | |
84 | pinctrl-0 = <&mmc3_pins &wl18xx_pins>; | |
85 | ||
86 | #address-cells = <1>; | |
87 | #size-cells = <0>; | |
88 | wlcore: wlcore@2 { | |
89 | compatible = "ti,wl1835"; | |
90 | reg = <2>; | |
91 | interrupt-parent = <&gpio0>; | |
92 | interrupts = <27 IRQ_TYPE_EDGE_RISING>; | |
93 | }; | |
94 | }; | |
95 | ||
96 | &uart3 { | |
97 | pinctrl-names = "default"; | |
98 | pinctrl-0 = <&uart3_pins &bt_pins>; | |
99 | status = "okay"; | |
100 | ||
101 | bluetooth { | |
102 | compatible = "ti,wl1835-st"; | |
103 | enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; | |
104 | }; | |
105 | }; | |
106 | ||
107 | &gpio1 { | |
108 | ls_buf_en { | |
109 | gpio-hog; | |
110 | gpios = <29 GPIO_ACTIVE_HIGH>; | |
111 | output-high; | |
112 | line-name = "LS_BUF_EN"; | |
113 | }; | |
114 | }; | |
115 | ||
116 | /* BT_AUD_OUT from wl1835 has to be pulled low when WL_EN is activated.*/ | |
117 | /* in case it isn't, wilink8 ends up in one of the test modes that */ | |
118 | /* intruces various issues (elp wkaeup timeouts etc.) */ | |
119 | /* On the BBGW this pin is routed through the level shifter (U21) that */ | |
120 | /* introduces a pullup on the line and wilink8 ends up in a bad state. */ | |
121 | /* use a gpio hog to force this pin low. An alternative may be adding */ | |
122 | /* an external pulldown on U21 pin 4. */ | |
123 | ||
124 | &gpio3 { | |
125 | bt_aud_in { | |
126 | gpio-hog; | |
127 | gpios = <16 GPIO_ACTIVE_HIGH>; | |
128 | output-low; | |
129 | line-name = "MCASP0_AHCLKR"; | |
130 | }; | |
131 | }; |