Skip to content

Commit 8c07240

Browse files
jadonkRobertCNelson
authored andcommitted
add: am335x-boneblack-wireless
* Removed btaudio * BT_EN moved from GPIO1_28 to GPIO0_28 * WL_IRQ moved from GPIO0_27 to GPIO0_29 * WL_EN moved from GPIO0_26 to GPIO3_9 * Cape_Buffer_EN moved from GPIO1_29 to GPIO3_10 * Moved MMC2 to different pins (recovered from MII
1 parent eb017fa commit 8c07240

File tree

2 files changed

+301
-0
lines changed

2 files changed

+301
-0
lines changed
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
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 "am33xx-overlay-edma-fix.dtsi"
13+
#include "am335x-boneblack-wl1835.dtsi"
14+
/* #include "am335x-bone-jtag.dtsi" */
15+
16+
/ {
17+
model = "TI AM335x BeagleBone Black Wireless";
18+
compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
19+
};
20+
21+
&ldo3_reg {
22+
regulator-min-microvolt = <1800000>;
23+
regulator-max-microvolt = <1800000>;
24+
regulator-always-on;
25+
};
26+
27+
&mmc1 {
28+
vmmc-supply = <&vmmcsd_fixed>;
29+
};
30+
31+
&mmc2 {
32+
vmmc-supply = <&vmmcsd_fixed>;
33+
pinctrl-names = "default";
34+
pinctrl-0 = <&emmc_pins>;
35+
bus-width = <8>;
36+
status = "okay";
37+
};
38+
39+
&uart3 {
40+
status = "okay";
41+
};
42+
43+
&mmc3 {
44+
status = "okay";
45+
};
46+
47+
&mac {
48+
status = "disabled";
49+
};
50+
51+
&sgx {
52+
status = "okay";
53+
};
54+
55+
&am33xx_pinmux {
56+
nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
57+
pinctrl-single,pins = <
58+
0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
59+
0xa0 0x08 /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
60+
0xa4 0x08 /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
61+
0xa8 0x08 /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
62+
0xac 0x08 /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
63+
0xb0 0x08 /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
64+
0xb4 0x08 /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
65+
0xb8 0x08 /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
66+
0xbc 0x08 /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
67+
0xc0 0x08 /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
68+
0xc4 0x08 /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
69+
0xc8 0x08 /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
70+
0xcc 0x08 /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
71+
0xd0 0x08 /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
72+
0xd4 0x08 /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
73+
0xd8 0x08 /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
74+
0xdc 0x08 /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
75+
0xe0 0x00 /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
76+
0xe4 0x00 /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
77+
0xe8 0x00 /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
78+
0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
79+
>;
80+
};
81+
nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
82+
pinctrl-single,pins = <
83+
0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
84+
>;
85+
};
86+
87+
mcasp0_pins: mcasp0_pins {
88+
pinctrl-single,pins = <
89+
0x1ac (PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahclkx.mcasp0_ahclkx */
90+
0x19c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2 */
91+
0x194 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mcasp0_fsx.mcasp0_fsx */
92+
0x190 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_aclkx.mcasp0_aclkx */
93+
0x06c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.GPIO1_27 */
94+
>;
95+
};
96+
97+
mcasp0_pins_sleep: mcasp0_pins_sleep {
98+
pinctrl-single,pins = <
99+
0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_ahclkx.mcasp0_ahclkx */
100+
0x19c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_ahclkr.mcasp0_axr2 */
101+
0x194 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_fsx.mcasp0_fsx */
102+
0x190 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_aclkx.mcasp0_aclkx */
103+
0x06c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.GPIO1_27 */
104+
>;
105+
};
106+
};
107+
108+
&lcdc {
109+
status = "okay";
110+
port {
111+
lcdc_0: endpoint@0 {
112+
remote-endpoint = <&hdmi_0>;
113+
};
114+
};
115+
};
116+
117+
&i2c0 {
118+
tda19988 {
119+
compatible = "nxp,tda998x";
120+
reg = <0x70>;
121+
pinctrl-names = "default", "off";
122+
pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
123+
pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
124+
port {
125+
hdmi_0: endpoint@0 {
126+
remote-endpoint = <&lcdc_0>;
127+
};
128+
};
129+
};
130+
};
131+
132+
&mcasp0 {
133+
pinctrl-names = "default", "sleep";
134+
pinctrl-0 = <&mcasp0_pins>;
135+
pinctrl-1 = <&mcasp0_pins_sleep>;
136+
status = "okay";
137+
op-mode = <0>; /* MCASP_IIS_MODE */
138+
tdm-slots = <2>;
139+
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
140+
0 0 1 0
141+
>;
142+
tx-num-evt = <1>;
143+
rx-num-evt = <1>;
144+
};
145+
146+
/ {
147+
clk_mcasp0_fixed: clk_mcasp0_fixed {
148+
#clock-cells = <0>;
149+
compatible = "fixed-clock";
150+
clock-frequency = <24576000>;
151+
};
152+
153+
clk_mcasp0: clk_mcasp0 {
154+
#clock-cells = <0>;
155+
compatible = "gpio-gate-clock";
156+
clocks = <&clk_mcasp0_fixed>;
157+
enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */
158+
};
159+
160+
hdmi_audio: hdmi_audio@0 {
161+
compatible = "linux,hdmi-audio";
162+
status = "okay";
163+
};
164+
165+
sound {
166+
compatible = "ti,beaglebone-black-audio";
167+
ti,model = "TI BeagleBone Black";
168+
ti,audio-codec = <&hdmi_audio>;
169+
ti,mcasp-controller = <&mcasp0>;
170+
ti,audio-routing =
171+
"HDMI Out", "TX";
172+
clocks = <&clk_mcasp0>;
173+
clock-names = "mclk";
174+
};
175+
};
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
2+
#include <dt-bindings/interrupt-controller/irq.h>
3+
4+
/ {
5+
wlan_en_reg: fixedregulator@2 {
6+
compatible = "regulator-fixed";
7+
regulator-name = "wlan-en-regulator";
8+
regulator-min-microvolt = <1800000>;
9+
regulator-max-microvolt = <1800000>;
10+
11+
/* WL_EN */
12+
gpio = <&gpio3 9 0>;
13+
enable-active-high;
14+
};
15+
16+
tibt {
17+
compatible = "tibt";
18+
nshutdown_gpio = <28>;
19+
dev_name = "/dev/ttyO3";
20+
flow_cntrl = <1>;
21+
baud_rate = <3000000>;
22+
};
23+
24+
btwilink {
25+
compatible = "btwilink";
26+
};
27+
};
28+
29+
&am33xx_pinmux {
30+
bt_pins: pinmux_bt_pins {
31+
pinctrl-single,pins = <
32+
0x128 ( PIN_INPUT | MUX_MODE7 ) /* (K17) gmii1_txd0.gpio0[28] - BT_EN */
33+
>;
34+
};
35+
36+
mmc3_pins: pinmux_mmc3_pins {
37+
pinctrl-single,pins = <
38+
0x13c ( PIN_INPUT | MUX_MODE6 ) /* (L15) gmii1_rxd1.mmc2_clk */
39+
0x114 ( PIN_OUTPUT | MUX_MODE6 ) /* (J16) gmii1_txen.mmc2_cmd */
40+
0x118 ( PIN_INPUT | MUX_MODE5 ) /* (J17) gmii1_rxdv.mmc2_dat0 */
41+
0x11c ( PIN_INPUT | MUX_MODE5 ) /* (J18) gmii1_txd3.mmc2_dat1 */
42+
0x120 ( PIN_INPUT | MUX_MODE5 ) /* (K15) gmii1_txd2.mmc2_dat2 */
43+
0x108 ( PIN_INPUT | MUX_MODE5 ) /* (H16) gmii1_col.mmc2_dat3 */
44+
>;
45+
};
46+
47+
mmc3_pins_sleep: pinmux_mmc3_pins_sleep {
48+
pinctrl-single,pins = <
49+
0x13c ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (L15) gmii1_rxd1.mmc2_clk */
50+
0x114 ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (J16) gmii1_txen.mmc2_cmd */
51+
0x118 ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (J17) gmii1_rxdv.mmc2_dat0 */
52+
0x11c ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (J18) gmii1_txd3.mmc2_dat1 */
53+
0x120 ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (K15) gmii1_txd2.mmc2_dat2 */
54+
0x108 ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* (H16) gmii1_col.mmc2_dat3 */
55+
>;
56+
};
57+
58+
/* wl18xx card enable/irq GPIOs. */
59+
wlan_pins: pinmux_wlan_pins {
60+
pinctrl-single,pins = <
61+
0x144 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (H18) rmii1_refclk.gpio0[29] - WL_IRQ */
62+
0x12c ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (K18) gmii1_txclk.gpio3[9] - WL_EN */
63+
0x130 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (L18) gmii1_rxclk.gpio3[10] - Cape_Buffer_EN */
64+
>;
65+
};
66+
67+
/* wl18xx card enable/irq GPIOs. */
68+
wlan_pins_sleep: pinmux_wlan_pins_sleep {
69+
pinctrl-single,pins = <
70+
0x144 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (H18) rmii1_refclk.gpio0[29] - WL_IRQ */
71+
0x12c ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (K18) gmii1_txclk.gpio3[9] - WL_EN */
72+
0x130 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (L18) gmii1_rxclk.gpio3[10] - Cape_Buffer_EN */
73+
>;
74+
};
75+
76+
uart3_pins_default: pinmux_uart3_pins_default {
77+
pinctrl-single,pins = <
78+
0x134 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (L17) gmii1_rxd3.uart3_rxd */
79+
0x138 ( PIN_OUTPUT_PULLDOWN | MUX_MODE1 ) /* (L16) gmii1_rxd2.uart3_txd */
80+
0x148 ( PIN_INPUT | MUX_MODE3 ) /* (M17) mdio_data.uart3_ctsn */
81+
0x14c ( PIN_OUTPUT_PULLDOWN | MUX_MODE3 ) /* (M18) mdio_clk.uart3_rtsn */
82+
>;
83+
};
84+
85+
uart3_pins_sleep: pinmux_uart3_pins_sleep {
86+
pinctrl-single,pins = <
87+
0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* (L17) gmii1_rxd3.uart3_rxd */
88+
0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* (L16) gmii1_rxd2.uart3_txd */
89+
0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M17) mdio_data.uart3_ctsn */
90+
0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* (M18) mdio_clk.uart3_rtsn */
91+
92+
>;
93+
};
94+
};
95+
96+
&mmc3 {
97+
dmas = <&edma_xbar 12 0 1
98+
&edma_xbar 13 0 2>;
99+
dma-names = "tx", "rx";
100+
status = "okay";
101+
vmmc-supply = <&wlan_en_reg>;
102+
bus-width = <4>;
103+
pinctrl-names = "default", "sleep";
104+
pinctrl-0 = <&mmc3_pins &wlan_pins>;
105+
pinctrl-1 = <&mmc3_pins_sleep &wlan_pins_sleep>;
106+
ti,non-removable;
107+
ti,needs-special-hs-handling;
108+
cap-power-off-card;
109+
keep-power-in-suspend;
110+
111+
#address-cells = <1>;
112+
#size-cells = <0>;
113+
wlcore: wlcore@0 {
114+
compatible = "ti,wl1835";
115+
reg = <2>;
116+
interrupt-parent = <&gpio0>;
117+
interrupts = <29 IRQ_TYPE_LEVEL_HIGH>;
118+
};
119+
};
120+
121+
&uart3 {
122+
pinctrl-names = "default", "sleep";
123+
pinctrl-0 = <&uart3_pins_default>;
124+
pinctrl-1 = <&uart3_pins_sleep>;
125+
status = "okay";
126+
};

0 commit comments

Comments
 (0)