Skip to contentSkip to conversation

ARM: dts: omap4-droid4: add bluetooth

PATCH In review Sebastian Reichel 3 participants 5 messages Apr 15, 2017 – May 16, 2017 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: omap4-droid4: add bluetooth

Droid 4 has wl1835 connected to the OMAP's UART4 port, which is used for Bluetooth and most likely can also be used for controlling the FM radio and GPS receivers.

---
Hi,

Thanks to the work of Rob adding Bluetooth support for Droid 4 was straight forward :) I did a short test scanning for available devices using bluetoothctl. For that I had to rebind the bluetooth device, since it has been initialized before rootfs/firmware was available (builtin driver):

echo serial0-0 > /sys/bus/serial/drivers/hci-ti/unbind echo serial0-0 > /sys/bus/serial/drivers/hci-ti/bind

According to my research the FM module should be functional on Droid 4 and the wl1835's GPS is also used. Rob, do you have a plans for supporting the extra resources?

-- Sebastian

---
 arch/arm/boot/dts/omap4-droid4-xt894.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
arch/arm/boot/dts/omap4-droid4-xt894.dts +20 -0
index e0fdfe6cc78c..2495faf79a43 100644
@@ -395,6 +395,15 @@
 		>;
 	};
 
+	uart4_pins: pinmux_uart4_pins {
+		pinctrl-single,pins = <
+		OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0)		/* uart4_rx */
+		OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0)		/* uart4_tx */
+		OMAP4_IOPAD(0x110, PIN_INPUT_PULLUP | MUX_MODE5)	/* uart4_cts */
+		OMAP4_IOPAD(0x112, PIN_OUTPUT_PULLUP | MUX_MODE5)	/* uart4_rts */
+		>;
+	};
+
 	mcbsp2_pins: pinmux_mcbsp2_pins {
 		pinctrl-single,pins = <
 			OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)	/* abe_mcbsp2_clkx */
@@ -429,6 +438,17 @@
 			       &omap4_pmx_core 0x17c>;
 };
 
+&uart4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart4_pins>;
+
+	bluetooth {
+		compatible = "ti,wl1835-st";
+		enable-gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>; /* gpio 174 */
+		max-speed = <3686400>;
+	};
+};
+
 &usbhsehci {
 	phys = <&hsusb1_phy>;
 };
Signature · 1 line
2.11.0
#1 lore raw
Quoted 14 lines · Sebastian Reichel

Droid 4 has wl1835 connected to the OMAP's UART4 port, which is used for Bluetooth and most likely can also be used for controlling the FM radio and GPS receivers.

---
Hi,

Thanks to the work of Rob adding Bluetooth support for Droid 4 was straight forward :) I did a short test scanning for available devices using bluetoothctl. For that I had to rebind the bluetooth device, since it has been initialized before rootfs/firmware was available (builtin driver):

Quoted 6 lines

echo serial0-0 > /sys/bus/serial/drivers/hci-ti/unbind echo serial0-0 > /sys/bus/serial/drivers/hci-ti/bind

According to my research the FM module should be functional on Droid 4 and the wl1835's GPS is also used. Rob, do you have a plans for supporting the extra resources?

I don't think the h/w I have can do FM or GPS. At least there's no headphone jack to serve as the FM antenna. For GPS, it seems support for that is not publicly available. Maybe an antenna is not needed to get the control interface working. It would be nice to integrate though and then we can kill off the shared transport driver. Marcel had mentioned that the Intel BT driver provides a regmap interface to its FM driver. Not sure if that would work for TI.

Rob

A message that is not in the archive (sent off-list or not yet received): CAEz3QY0duPa91TT3e86xA=tDGppiq0UXmDzuUm2i6cXbBi9CgQ@mail.gmail.com

#3 lore raw

Hi Michael,

Quoted 6 lines · Michael Scott
Quoted 1 line · Sebastian Reichel

Droid 4 has wl1835 connected to the OMAP's UART4 port, which is

Technically, I believe the Droid 4 has WL1283 WLAN chip.

- Mike

iFixit [0] has a nice photo in step 15, which clearly shows, that its a WL1285C, with 1835 looking similar I didn't notice Rob's binding does not cover wl128x. I will resend with proper compatible value (+ patches for the driver and binding).

[0] https://www.ifixit.com/Teardown/Motorola+Droid+4+Teardown/7759#s31961

-- Sebastian

#4 lore raw
Quoted 6 lines · Sebastian Reichel

Hi Michael,

Quoted 3 lines · Michael Scott
Quoted 1 line · Sebastian Reichel

Droid 4 has wl1835 connected to the OMAP's UART4 port, which is

Quoted 8 lines
Quoted 3 lines

Technically, I believe the Droid 4 has WL1283 WLAN chip.

- Mike

iFixit [0] has a nice photo in step 15, which clearly shows, that its a WL1285C, with 1835 looking similar I didn't notice Rob's binding does not cover wl128x. I will resend with proper compatible value (+ patches for the driver and binding).

I only documented what was publicly available as some parts have failed to materialize. Any idea what the differences are?

Rob

#5 lore raw
In reply to Sebastian Reichel
Quoted 3 lines · Sebastian Reichel

Droid 4 has wl1835 connected to the OMAP's UART4 port, which is used for Bluetooth and most likely can also be used for controlling the FM radio and GPS receivers.

...

Quoted 8 lines
arch/arm/boot/dts/omap4-droid4-xt894.dts +2 -0
@@ -395,6 +395,15 @@
 		>;
 	};
 
+	uart4_pins: pinmux_uart4_pins {
+		pinctrl-single,pins = <

arch/arm/boot/dts/omap4-droid4-xt894.dts line 409

Quoted 10 lines
arch/arm/boot/dts/omap4-droid4-xt894.dts +7 -0
+		OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0)		/* uart4_rx */
+		OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0)		/* uart4_tx */
+		OMAP4_IOPAD(0x110, PIN_INPUT_PULLUP | MUX_MODE5)	/* uart4_cts */
+		OMAP4_IOPAD(0x112, PIN_OUTPUT_PULLUP | MUX_MODE5)	/* uart4_rts */
+		>;
+	};
+
 	mcbsp2_pins: pinmux_mcbsp2_pins {
 		pinctrl-single,pins = <
 			OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0)	/* abe_mcbsp2_clkx */

This needs updating against v4.12-rc1 BTW, looks like you have some audio patches in works here that mainline does not have for mcbsp2.

Regards,

Tony