* [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices
@ 2017-01-15 22:32 Martin Blumenstingl
2017-01-15 22:32 ` [PATCH 2/4] ARM64: dts: meson-gx: add the serial CTS and RTS pin groups Martin Blumenstingl
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Martin Blumenstingl @ 2017-01-15 22:32 UTC (permalink / raw)
To: linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA, will.deacon-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, Martin Blumenstingl
This adds the missing kernel bits for Bluetooth support on the
Tronsmart Vega S95 (GXBB based) boards as well as for the GXL
P230/P231 and GXM Q200/Q201 reference boards.
The Bluetooth functionality on these boards is provided by the
SDIO wifi/Bluetooth combo-chip (Broadcom bcm43xx based). The
Bluetooth module on that combo-chip has to be taken out of reset,
which is taken care of the GPIO in the sdio_pwrseq.
Once the module is taken out of reset it can be set up from userspace
using the "hciattach" tool from bluez, which talks to the Bluetooth
module which is connected to one of the serial ports (in our case
uart_A). To get the Bluetooth module initialized within the timeout
defined by "hciattach" (and to achieve usable speeds for Bluetooth
transfers) the communication uses a speed of 2000000 baud, which was
not supported by meson_uart before.
NOTE: The .dts-changes from this series depends on my previous series
"add support for uart_AO_B" - see [0]
[0] http://lists.infradead.org/pipermail/linux-amlogic/2017-January/001982.html
Martin Blumenstingl (4):
tty: serial: meson: allow baud-rates higher than 115200
ARM64: dts: meson-gx: add the serial CTS and RTS pin groups
ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module
ARM64: dts: meson-gxbb-vega-s95: enable the Bluetooth module
.../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 12 ++++++-
.../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 9 +++++
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 40 ++++++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 40 ++++++++++++++++++++++
drivers/tty/serial/meson_uart.c | 2 +-
5 files changed, 101 insertions(+), 2 deletions(-)
--
2.11.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/4] tty: serial: meson: allow baud-rates higher than 115200
[not found] ` <20170115223255.10350-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
@ 2017-01-15 22:32 ` Martin Blumenstingl
[not found] ` <20170115223255.10350-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:32 ` [PATCH 3/4] ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module Martin Blumenstingl
2017-01-15 22:32 ` [PATCH 4/4] ARM64: dts: meson-gxbb-vega-s95: " Martin Blumenstingl
2 siblings, 1 reply; 15+ messages in thread
From: Martin Blumenstingl @ 2017-01-15 22:32 UTC (permalink / raw)
To: linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA, will.deacon-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, Martin Blumenstingl
The vendor driver allows setting baud-rates higher than 115200 baud.
There is a check in the vendor driver which prevents using more than
115200 baud during startup, however it does not have such a check in
.set_termios.
Higher baud-rates are often used by the bluetooth modules embedded into
the SDIO wifi chips (Amlogic devices use brcmfmac based wifi chips quite
often, 2000000 baud seems to be a common value for the UART baud-rate in
Amlogic's "libbt").
I have tested this on a Meson GXL device with uart_A (to which the
bluetooth module is connected, where initialization times out with
115200 baud) and uart_AO (which I manually set to 2000000 baud and then
connected with my USB UART adapter to that).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
---
drivers/tty/serial/meson_uart.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
index 6aea0f4a9165..60f16795d16b 100644
--- a/drivers/tty/serial/meson_uart.c
+++ b/drivers/tty/serial/meson_uart.c
@@ -364,7 +364,7 @@ static void meson_uart_set_termios(struct uart_port *port,
writel(val, port->membase + AML_UART_CONTROL);
- baud = uart_get_baud_rate(port, termios, old, 9600, 115200);
+ baud = uart_get_baud_rate(port, termios, old, 9600, 4000000);
meson_uart_change_speed(port, baud);
port->read_status_mask = AML_UART_TX_FIFO_WERR;
--
2.11.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/4] ARM64: dts: meson-gx: add the serial CTS and RTS pin groups
2017-01-15 22:32 [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices Martin Blumenstingl
@ 2017-01-15 22:32 ` Martin Blumenstingl
[not found] ` <20170115223255.10350-3-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
[not found] ` <20170115223255.10350-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-18 11:25 ` [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices Martin Blumenstingl
2 siblings, 1 reply; 15+ messages in thread
From: Martin Blumenstingl @ 2017-01-15 22:32 UTC (permalink / raw)
To: linux-serial, linux-amlogic, jslaby, gregkh, khilman, carlo
Cc: mark.rutland, devicetree, Martin Blumenstingl, catalin.marinas,
will.deacon, robh+dt, linux-arm-kernel
This adds pinctrl group nodes for the CTS and RTS pins of each serial
controller. This makes it possible to enable the CTS and RTS pins which
are controlled by the serial controller hardware (through the meson_uart
driver).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 40 +++++++++++++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 40 +++++++++++++++++++++++++++++
2 files changed, 80 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 474435e21759..f001c4d007bc 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -138,6 +138,14 @@
};
};
+ uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
+ mux {
+ groups = "uart_cts_ao_a",
+ "uart_rts_ao_a";
+ function = "uart_ao";
+ };
+ };
+
uart_ao_b_pins: uart_ao_b {
mux {
groups = "uart_tx_ao_b", "uart_rx_ao_b";
@@ -145,6 +153,14 @@
};
};
+ uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
+ mux {
+ groups = "uart_cts_ao_b",
+ "uart_rts_ao_b";
+ function = "uart_ao_b";
+ };
+ };
+
remote_input_ao_pins: remote_input_ao {
mux {
groups = "remote_input_ao";
@@ -290,6 +306,14 @@
};
};
+ uart_a_cts_rts_pins: uart_a_cts_rts {
+ mux {
+ groups = "uart_cts_a",
+ "uart_rts_a";
+ function = "uart_a";
+ };
+ };
+
uart_b_pins: uart_b {
mux {
groups = "uart_tx_b",
@@ -298,6 +322,14 @@
};
};
+ uart_b_cts_rts_pins: uart_b_cts_rts {
+ mux {
+ groups = "uart_cts_b",
+ "uart_rts_b";
+ function = "uart_b";
+ };
+ };
+
uart_c_pins: uart_c {
mux {
groups = "uart_tx_c",
@@ -306,6 +338,14 @@
};
};
+ uart_c_cts_rts_pins: uart_c_cts_rts {
+ mux {
+ groups = "uart_cts_c",
+ "uart_rts_c";
+ function = "uart_c";
+ };
+ };
+
i2c_a_pins: i2c_a {
mux {
groups = "i2c_sck_a",
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index 53ed7a5f50ab..7d7fd87f094b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -82,6 +82,14 @@
};
};
+ uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
+ mux {
+ groups = "uart_cts_ao_a",
+ "uart_rts_ao_a";
+ function = "uart_ao";
+ };
+ };
+
uart_ao_b_pins: uart_ao_b {
mux {
groups = "uart_tx_ao_b", "uart_rx_ao_b";
@@ -89,6 +97,14 @@
};
};
+ uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
+ mux {
+ groups = "uart_cts_ao_b",
+ "uart_rts_ao_b";
+ function = "uart_ao_b";
+ };
+ };
+
remote_input_ao_pins: remote_input_ao {
mux {
groups = "remote_input_ao";
@@ -164,6 +180,14 @@
};
};
+ uart_a_cts_rts_pins: uart_a_cts_rts {
+ mux {
+ groups = "uart_cts_a",
+ "uart_rts_a";
+ function = "uart_a";
+ };
+ };
+
uart_b_pins: uart_b {
mux {
groups = "uart_tx_b",
@@ -172,6 +196,14 @@
};
};
+ uart_b_cts_rts_pins: uart_b_cts_rts {
+ mux {
+ groups = "uart_cts_b",
+ "uart_rts_b";
+ function = "uart_b";
+ };
+ };
+
uart_c_pins: uart_c {
mux {
groups = "uart_tx_c",
@@ -180,6 +212,14 @@
};
};
+ uart_c_cts_rts_pins: uart_c_cts_rts {
+ mux {
+ groups = "uart_cts_c",
+ "uart_rts_c";
+ function = "uart_c";
+ };
+ };
+
i2c_a_pins: i2c_a {
mux {
groups = "i2c_sck_a",
--
2.11.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/4] ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module
[not found] ` <20170115223255.10350-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:32 ` [PATCH 1/4] tty: serial: meson: allow baud-rates higher than 115200 Martin Blumenstingl
@ 2017-01-15 22:32 ` Martin Blumenstingl
2017-01-16 0:47 ` Andreas Färber
2017-01-15 22:32 ` [PATCH 4/4] ARM64: dts: meson-gxbb-vega-s95: " Martin Blumenstingl
2 siblings, 1 reply; 15+ messages in thread
From: Martin Blumenstingl @ 2017-01-15 22:32 UTC (permalink / raw)
To: linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA, will.deacon-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, Martin Blumenstingl
This takes the Bluetooth module out of reset (the reset line is
connected to GPIOX_17) and enables uart_A which is used to configure the
module.
This is identical for all boards which inherit meson-gx-p23x-q20x:
- GXL S905D P230
- GXL S905D P231
- GXM S912 Q200
- GXM S912 Q201
To get the HCI interface up one has to install bluez-utils and run:
hciattach -s115200 /dev/ttyAML1 bcm43xx 2000000 flow -
Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
---
arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
index 7a078bef04cd..7db779048091 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -48,6 +48,7 @@
/ {
aliases {
serial0 = &uart_AO;
+ serial1 = &uart_A;
};
chosen {
@@ -94,12 +95,21 @@
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
- reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>,
+ <&gpio GPIOX_17 GPIO_ACTIVE_LOW>;
clocks = <&wifi32k>;
clock-names = "ext_clock";
};
};
+/* This is connected to the Bluetooth module of the wifi/BT combo chip: */
+&uart_A {
+ status = "okay";
+ pinctrl-0 = <&uart_a_pins &uart_a_cts_rts_pins>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+};
+
/* This UART is brought out to the DB9 connector */
&uart_AO {
status = "okay";
--
2.11.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/4] ARM64: dts: meson-gxbb-vega-s95: enable the Bluetooth module
[not found] ` <20170115223255.10350-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:32 ` [PATCH 1/4] tty: serial: meson: allow baud-rates higher than 115200 Martin Blumenstingl
2017-01-15 22:32 ` [PATCH 3/4] ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module Martin Blumenstingl
@ 2017-01-15 22:32 ` Martin Blumenstingl
[not found] ` <20170115223255.10350-5-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2 siblings, 1 reply; 15+ messages in thread
From: Martin Blumenstingl @ 2017-01-15 22:32 UTC (permalink / raw)
To: linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA, will.deacon-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A, Martin Blumenstingl
This takes the Bluetooth module out of reset (the reset line is
connected to GPIOX_20) and enables uart_A which is used to configure the
module. This is common for all Vega S95 boards.
The device can then be initialized by running the hciattach tool:
hciattach -s115200 /dev/ttyAML1 bcm43xx 2000000 flow -
Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
---
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
index ab497126c9a3..9e0a13b1ac93 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
@@ -47,6 +47,7 @@
aliases {
serial0 = &uart_AO;
+ serial1 = &uart_A;
};
chosen {
@@ -100,6 +101,14 @@
};
};
+/* This is connected to the Bluetooth module of the wifi/BT combo chip: */
+&uart_A {
+ status = "okay";
+ pinctrl-0 = <&uart_a_pins &uart_a_cts_rts_pins>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+};
+
&uart_AO {
status = "okay";
pinctrl-0 = <&uart_ao_a_pins>;
--
2.11.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] tty: serial: meson: allow baud-rates higher than 115200
[not found] ` <20170115223255.10350-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
@ 2017-01-15 22:48 ` Andreas Färber
2017-01-18 21:44 ` Kevin Hilman
1 sibling, 0 replies; 15+ messages in thread
From: Andreas Färber @ 2017-01-15 22:48 UTC (permalink / raw)
To: Martin Blumenstingl, linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A
Cc: mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Am 15.01.2017 um 23:32 schrieb Martin Blumenstingl:
> The vendor driver allows setting baud-rates higher than 115200 baud.
> There is a check in the vendor driver which prevents using more than
> 115200 baud during startup, however it does not have such a check in
> .set_termios.
> Higher baud-rates are often used by the bluetooth modules embedded into
> the SDIO wifi chips (Amlogic devices use brcmfmac based wifi chips quite
> often, 2000000 baud seems to be a common value for the UART baud-rate in
> Amlogic's "libbt").
>
> I have tested this on a Meson GXL device with uart_A (to which the
> bluetooth module is connected, where initialization times out with
> 115200 baud) and uart_AO (which I manually set to 2000000 baud and then
> connected with my USB UART adapter to that).
>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
Tested-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
Thanks,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/4] ARM64: dts: meson-gx: add the serial CTS and RTS pin groups
[not found] ` <20170115223255.10350-3-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
@ 2017-01-15 22:50 ` Andreas Färber
2017-01-18 21:52 ` Kevin Hilman
0 siblings, 1 reply; 15+ messages in thread
From: Andreas Färber @ 2017-01-15 22:50 UTC (permalink / raw)
To: Martin Blumenstingl, linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A
Cc: mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Am 15.01.2017 um 23:32 schrieb Martin Blumenstingl:
> This adds pinctrl group nodes for the CTS and RTS pins of each serial
> controller. This makes it possible to enable the CTS and RTS pins which
> are controlled by the serial controller hardware (through the meson_uart
> driver).
>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
Tested-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
Thanks,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/4] ARM64: dts: meson-gxbb-vega-s95: enable the Bluetooth module
[not found] ` <20170115223255.10350-5-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
@ 2017-01-15 22:55 ` Andreas Färber
0 siblings, 0 replies; 15+ messages in thread
From: Andreas Färber @ 2017-01-15 22:55 UTC (permalink / raw)
To: Martin Blumenstingl, linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A
Cc: mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Am 15.01.2017 um 23:32 schrieb Martin Blumenstingl:
> This takes the Bluetooth module out of reset (the reset line is
> connected to GPIOX_20) and enables uart_A which is used to configure the
> module. This is common for all Vega S95 boards.
> The device can then be initialized by running the hciattach tool:
> hciattach -s115200 /dev/ttyAML1 bcm43xx 2000000 flow -
>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
> ---
> arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
> index ab497126c9a3..9e0a13b1ac93 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
> @@ -47,6 +47,7 @@
>
> aliases {
> serial0 = &uart_AO;
> + serial1 = &uart_A;
> };
>
> chosen {
> @@ -100,6 +101,14 @@
> };
> };
>
> +/* This is connected to the Bluetooth module of the wifi/BT combo chip: */
Personally I would just say "Connected to the .... chip" or even just
"Bluetooth .... chip", without trailing colon, for consistency.
> +&uart_A {
> + status = "okay";
> + pinctrl-0 = <&uart_a_pins &uart_a_cts_rts_pins>;
> + pinctrl-names = "default";
> + uart-has-rtscts;
> +};
> +
> &uart_AO {
> status = "okay";
> pinctrl-0 = <&uart_ao_a_pins>;
Tested-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
Thanks,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module
2017-01-15 22:32 ` [PATCH 3/4] ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module Martin Blumenstingl
@ 2017-01-16 0:47 ` Andreas Färber
[not found] ` <042e2824-0772-cf27-ffa5-4c3b2af7c92b-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 15+ messages in thread
From: Andreas Färber @ 2017-01-16 0:47 UTC (permalink / raw)
To: Martin Blumenstingl, linux-serial, linux-amlogic, jslaby, gregkh,
khilman, carlo
Cc: mark.rutland, devicetree, catalin.marinas, will.deacon, robh+dt,
linux-arm-kernel
Am 15.01.2017 um 23:32 schrieb Martin Blumenstingl:
> This takes the Bluetooth module out of reset (the reset line is
> connected to GPIOX_17) and enables uart_A which is used to configure the
> module.
> This is identical for all boards which inherit meson-gx-p23x-q20x:
> - GXL S905D P230
> - GXL S905D P231
> - GXM S912 Q200
> - GXM S912 Q201
>
> To get the HCI interface up one has to install bluez-utils and run:
> hciattach -s115200 /dev/ttyAML1 bcm43xx 2000000 flow -
>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> ---
> arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
> index 7a078bef04cd..7db779048091 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
> @@ -48,6 +48,7 @@
> / {
> aliases {
> serial0 = &uart_AO;
> + serial1 = &uart_A;
> };
>
> chosen {
> @@ -94,12 +95,21 @@
>
> sdio_pwrseq: sdio-pwrseq {
> compatible = "mmc-pwrseq-simple";
> - reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
> + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>,
> + <&gpio GPIOX_17 GPIO_ACTIVE_LOW>;
> clocks = <&wifi32k>;
> clock-names = "ext_clock";
> };
> };
>
> +/* This is connected to the Bluetooth module of the wifi/BT combo chip: */
> +&uart_A {
> + status = "okay";
> + pinctrl-0 = <&uart_a_pins &uart_a_cts_rts_pins>;
Nit: <&uart_a_pins>, <&uart_a_cts_rts_pins> please, like you've done for
reset-gpios above.
Regards,
Andreas
> + pinctrl-names = "default";
> + uart-has-rtscts;
> +};
> +
> /* This UART is brought out to the DB9 connector */
> &uart_AO {
> status = "okay";
>
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module
[not found] ` <042e2824-0772-cf27-ffa5-4c3b2af7c92b-l3A5Bk7waGM@public.gmane.org>
@ 2017-01-16 9:44 ` Martin Blumenstingl
0 siblings, 0 replies; 15+ messages in thread
From: Martin Blumenstingl @ 2017-01-16 9:44 UTC (permalink / raw)
To: Andreas Färber
Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
khilman-rdvid1DuHRBWk0Htik3J/w, carlo-KA+7E9HrN00dnm+yROfE0A,
mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA,
catalin.marinas-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Mon, Jan 16, 2017 at 1:47 AM, Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org> wrote:
> Am 15.01.2017 um 23:32 schrieb Martin Blumenstingl:
>> This takes the Bluetooth module out of reset (the reset line is
>> connected to GPIOX_17) and enables uart_A which is used to configure the
>> module.
>> This is identical for all boards which inherit meson-gx-p23x-q20x:
>> - GXL S905D P230
>> - GXL S905D P231
>> - GXM S912 Q200
>> - GXM S912 Q201
>>
>> To get the HCI interface up one has to install bluez-utils and run:
>> hciattach -s115200 /dev/ttyAML1 bcm43xx 2000000 flow -
>>
>> Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
>> ---
>> arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 12 +++++++++++-
>> 1 file changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
>> index 7a078bef04cd..7db779048091 100644
>> --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
>> +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
>> @@ -48,6 +48,7 @@
>> / {
>> aliases {
>> serial0 = &uart_AO;
>> + serial1 = &uart_A;
>> };
>>
>> chosen {
>> @@ -94,12 +95,21 @@
>>
>> sdio_pwrseq: sdio-pwrseq {
>> compatible = "mmc-pwrseq-simple";
>> - reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
>> + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>,
>> + <&gpio GPIOX_17 GPIO_ACTIVE_LOW>;
>> clocks = <&wifi32k>;
>> clock-names = "ext_clock";
>> };
>> };
>>
>> +/* This is connected to the Bluetooth module of the wifi/BT combo chip: */
>> +&uart_A {
>> + status = "okay";
>> + pinctrl-0 = <&uart_a_pins &uart_a_cts_rts_pins>;
>
> Nit: <&uart_a_pins>, <&uart_a_cts_rts_pins> please, like you've done for
> reset-gpios above.
indeed, not sure why I mixed it up. should I also send an update for
the pinctrl-documentation (as it seems to use the same pattern): [0]?
> Regards,
> Andreas
>
>> + pinctrl-names = "default";
>> + uart-has-rtscts;
>> +};
>> +
>> /* This UART is brought out to the DB9 connector */
>> &uart_AO {
>> status = "okay";
>>
>
>
> --
> SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Felix Imendörffer, Jane Smithard, Graham Norton
> HRB 21284 (AG Nürnberg)
[0] http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt?v=4.9#L74
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices
2017-01-15 22:32 [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices Martin Blumenstingl
2017-01-15 22:32 ` [PATCH 2/4] ARM64: dts: meson-gx: add the serial CTS and RTS pin groups Martin Blumenstingl
[not found] ` <20170115223255.10350-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
@ 2017-01-18 11:25 ` Martin Blumenstingl
2017-01-18 22:02 ` Kevin Hilman
2 siblings, 1 reply; 15+ messages in thread
From: Martin Blumenstingl @ 2017-01-18 11:25 UTC (permalink / raw)
To: linux-serial, linux-amlogic, jslaby, gregkh, khilman, carlo
Cc: mark.rutland, devicetree, Martin Blumenstingl, catalin.marinas,
will.deacon, robh+dt, linux-arm-kernel
Kevin,
On Sun, Jan 15, 2017 at 11:32 PM, Martin Blumenstingl
<martin.blumenstingl@googlemail.com> wrote:
> This adds the missing kernel bits for Bluetooth support on the
> Tronsmart Vega S95 (GXBB based) boards as well as for the GXL
> P230/P231 and GXM Q200/Q201 reference boards.
>
> The Bluetooth functionality on these boards is provided by the
> SDIO wifi/Bluetooth combo-chip (Broadcom bcm43xx based). The
> Bluetooth module on that combo-chip has to be taken out of reset,
> which is taken care of the GPIO in the sdio_pwrseq.
>
> Once the module is taken out of reset it can be set up from userspace
> using the "hciattach" tool from bluez, which talks to the Bluetooth
> module which is connected to one of the serial ports (in our case
> uart_A). To get the Bluetooth module initialized within the timeout
> defined by "hciattach" (and to achieve usable speeds for Bluetooth
> transfers) the communication uses a speed of 2000000 baud, which was
> not supported by meson_uart before.
>
> NOTE: The .dts-changes from this series depends on my previous series
> "add support for uart_AO_B" - see [0]
>
>
> [0] http://lists.infradead.org/pipermail/linux-amlogic/2017-January/001982.html
>
>
> Martin Blumenstingl (4):
> tty: serial: meson: allow baud-rates higher than 115200
> ARM64: dts: meson-gx: add the serial CTS and RTS pin groups
Neil just informed me that Rob Herring is working on defining the UART
Bluetooth device properly using devicetree (preparation for this is
named "[PATCH v2 0/9] Serial slave device bus", see [0] for the
mailing-list conversation and [1] for a WiP git repo).
This means that there will be a better solution than the one proposed
in the meson-gx-p23x-q20x and meson-gxbb-vega-s95 patches (patches #1
and #2 are not affected by this), namely:
- I'm currently (ab)using sdio-pwrseq node to power on the UART
Bluetooth module, this can solved by specifying a bluetooth { } node
inside the &uart_A node in the future and providing the corresponding
GPIOs there
- all the userspace commands will not be necessary once
drivers/bluetooth/hci_bcm.c is changed to the serio framework and gets
devicetree support
> ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module
> ARM64: dts: meson-gxbb-vega-s95: enable the Bluetooth module
>
> .../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 12 ++++++-
> .../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 9 +++++
> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 40 ++++++++++++++++++++++
> arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 40 ++++++++++++++++++++++
> drivers/tty/serial/meson_uart.c | 2 +-
> 5 files changed, 101 insertions(+), 2 deletions(-)
>
> --
> 2.11.0
>
[0] http://marc.info/?l=linux-serial&m=148460728417109&w=2
[1] https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/log/?h=serial-bus-v3
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] tty: serial: meson: allow baud-rates higher than 115200
[not found] ` <20170115223255.10350-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:48 ` Andreas Färber
@ 2017-01-18 21:44 ` Kevin Hilman
1 sibling, 0 replies; 15+ messages in thread
From: Kevin Hilman @ 2017-01-18 21:44 UTC (permalink / raw)
To: Martin Blumenstingl
Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
jslaby-IBi9RG/b67k, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
carlo-KA+7E9HrN00dnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-u79uwXL29TY76Z2rM5mHXA, will.deacon-5wv7dgnIgG8,
catalin.marinas-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A
Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> writes:
> The vendor driver allows setting baud-rates higher than 115200 baud.
> There is a check in the vendor driver which prevents using more than
> 115200 baud during startup, however it does not have such a check in
> .set_termios.
> Higher baud-rates are often used by the bluetooth modules embedded into
> the SDIO wifi chips (Amlogic devices use brcmfmac based wifi chips quite
> often, 2000000 baud seems to be a common value for the UART baud-rate in
> Amlogic's "libbt").
>
> I have tested this on a Meson GXL device with uart_A (to which the
> bluetooth module is connected, where initialization times out with
> 115200 baud) and uart_AO (which I manually set to 2000000 baud and then
> connected with my USB UART adapter to that).
>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
Acked-by: Kevin Hilman <khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/4] ARM64: dts: meson-gx: add the serial CTS and RTS pin groups
2017-01-15 22:50 ` Andreas Färber
@ 2017-01-18 21:52 ` Kevin Hilman
0 siblings, 0 replies; 15+ messages in thread
From: Kevin Hilman @ 2017-01-18 21:52 UTC (permalink / raw)
To: Andreas Färber
Cc: mark.rutland, devicetree, catalin.marinas, Martin Blumenstingl,
gregkh, will.deacon, robh+dt, linux-serial, jslaby, carlo,
linux-amlogic, linux-arm-kernel
Andreas Färber <afaerber@suse.de> writes:
> Am 15.01.2017 um 23:32 schrieb Martin Blumenstingl:
>> This adds pinctrl group nodes for the CTS and RTS pins of each serial
>> controller. This makes it possible to enable the CTS and RTS pins which
>> are controlled by the serial controller hardware (through the meson_uart
>> driver).
>>
>> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
>
> Tested-by: Andreas Färber <afaerber@suse.de>
Applied to v4.11/dt64 with Andreas' ack.
Kevin
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices
2017-01-18 11:25 ` [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices Martin Blumenstingl
@ 2017-01-18 22:02 ` Kevin Hilman
2017-01-19 13:39 ` Greg KH
0 siblings, 1 reply; 15+ messages in thread
From: Kevin Hilman @ 2017-01-18 22:02 UTC (permalink / raw)
To: Martin Blumenstingl
Cc: mark.rutland, devicetree, catalin.marinas, gregkh, will.deacon,
robh+dt, linux-serial, jslaby, carlo, linux-amlogic,
linux-arm-kernel
Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:
> Kevin,
>
> On Sun, Jan 15, 2017 at 11:32 PM, Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
>> This adds the missing kernel bits for Bluetooth support on the
>> Tronsmart Vega S95 (GXBB based) boards as well as for the GXL
>> P230/P231 and GXM Q200/Q201 reference boards.
>>
>> The Bluetooth functionality on these boards is provided by the
>> SDIO wifi/Bluetooth combo-chip (Broadcom bcm43xx based). The
>> Bluetooth module on that combo-chip has to be taken out of reset,
>> which is taken care of the GPIO in the sdio_pwrseq.
>>
>> Once the module is taken out of reset it can be set up from userspace
>> using the "hciattach" tool from bluez, which talks to the Bluetooth
>> module which is connected to one of the serial ports (in our case
>> uart_A). To get the Bluetooth module initialized within the timeout
>> defined by "hciattach" (and to achieve usable speeds for Bluetooth
>> transfers) the communication uses a speed of 2000000 baud, which was
>> not supported by meson_uart before.
>>
>> NOTE: The .dts-changes from this series depends on my previous series
>> "add support for uart_AO_B" - see [0]
>>
>>
>> [0] http://lists.infradead.org/pipermail/linux-amlogic/2017-January/001982.html
>>
>>
>> Martin Blumenstingl (4):
>> tty: serial: meson: allow baud-rates higher than 115200
>> ARM64: dts: meson-gx: add the serial CTS and RTS pin groups
>
> Neil just informed me that Rob Herring is working on defining the UART
> Bluetooth device properly using devicetree (preparation for this is
> named "[PATCH v2 0/9] Serial slave device bus", see [0] for the
> mailing-list conversation and [1] for a WiP git repo).
Ah, good news. I knew Rob had been talking about that for awhile, so
I'm glad to see it coming into existence. Thanks for the pointers.
> This means that there will be a better solution than the one proposed
> in the meson-gx-p23x-q20x and meson-gxbb-vega-s95 patches (patches #1
> and #2 are not affected by this),> namely:
> - I'm currently (ab)using sdio-pwrseq node to power on the UART
> Bluetooth module, this can solved by specifying a bluetooth { } node
> inside the &uart_A node in the future and providing the corresponding
> GPIOs there
Good. I didn't like the (ab)use of sdio_pwrseq GPIO resets for the
bluetooth either.
> - all the userspace commands will not be necessary once
> drivers/bluetooth/hci_bcm.c is changed to the serio framework and gets
> devicetree support
Cool. Maybe you can setup a WIP branch based on Rob's work for broader
testing on Amlogic boards until this gets merged?
In the mean time, I've applied patch 2/4 and hopefully the drivers/tty
patch will go through the serial tree.
Kevin
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices
2017-01-18 22:02 ` Kevin Hilman
@ 2017-01-19 13:39 ` Greg KH
0 siblings, 0 replies; 15+ messages in thread
From: Greg KH @ 2017-01-19 13:39 UTC (permalink / raw)
To: Kevin Hilman
Cc: mark.rutland, devicetree, Martin Blumenstingl, catalin.marinas,
will.deacon, robh+dt, linux-serial, jslaby, carlo, linux-amlogic,
linux-arm-kernel
On Wed, Jan 18, 2017 at 02:02:06PM -0800, Kevin Hilman wrote:
> Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:
>
> > Kevin,
> >
> > On Sun, Jan 15, 2017 at 11:32 PM, Martin Blumenstingl
> > <martin.blumenstingl@googlemail.com> wrote:
> >> This adds the missing kernel bits for Bluetooth support on the
> >> Tronsmart Vega S95 (GXBB based) boards as well as for the GXL
> >> P230/P231 and GXM Q200/Q201 reference boards.
> >>
> >> The Bluetooth functionality on these boards is provided by the
> >> SDIO wifi/Bluetooth combo-chip (Broadcom bcm43xx based). The
> >> Bluetooth module on that combo-chip has to be taken out of reset,
> >> which is taken care of the GPIO in the sdio_pwrseq.
> >>
> >> Once the module is taken out of reset it can be set up from userspace
> >> using the "hciattach" tool from bluez, which talks to the Bluetooth
> >> module which is connected to one of the serial ports (in our case
> >> uart_A). To get the Bluetooth module initialized within the timeout
> >> defined by "hciattach" (and to achieve usable speeds for Bluetooth
> >> transfers) the communication uses a speed of 2000000 baud, which was
> >> not supported by meson_uart before.
> >>
> >> NOTE: The .dts-changes from this series depends on my previous series
> >> "add support for uart_AO_B" - see [0]
> >>
> >>
> >> [0] http://lists.infradead.org/pipermail/linux-amlogic/2017-January/001982.html
> >>
> >>
> >> Martin Blumenstingl (4):
> >> tty: serial: meson: allow baud-rates higher than 115200
> >> ARM64: dts: meson-gx: add the serial CTS and RTS pin groups
> >
> > Neil just informed me that Rob Herring is working on defining the UART
> > Bluetooth device properly using devicetree (preparation for this is
> > named "[PATCH v2 0/9] Serial slave device bus", see [0] for the
> > mailing-list conversation and [1] for a WiP git repo).
>
> Ah, good news. I knew Rob had been talking about that for awhile, so
> I'm glad to see it coming into existence. Thanks for the pointers.
>
> > This means that there will be a better solution than the one proposed
> > in the meson-gx-p23x-q20x and meson-gxbb-vega-s95 patches (patches #1
> > and #2 are not affected by this),> namely:
> > - I'm currently (ab)using sdio-pwrseq node to power on the UART
> > Bluetooth module, this can solved by specifying a bluetooth { } node
> > inside the &uart_A node in the future and providing the corresponding
> > GPIOs there
>
> Good. I didn't like the (ab)use of sdio_pwrseq GPIO resets for the
> bluetooth either.
>
> > - all the userspace commands will not be necessary once
> > drivers/bluetooth/hci_bcm.c is changed to the serio framework and gets
> > devicetree support
>
> Cool. Maybe you can setup a WIP branch based on Rob's work for broader
> testing on Amlogic boards until this gets merged?
>
> In the mean time, I've applied patch 2/4 and hopefully the drivers/tty
> patch will go through the serial tree.
Yes, I've taken it now, thanks.
greg k-h
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2017-01-19 13:39 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-15 22:32 [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices Martin Blumenstingl
2017-01-15 22:32 ` [PATCH 2/4] ARM64: dts: meson-gx: add the serial CTS and RTS pin groups Martin Blumenstingl
[not found] ` <20170115223255.10350-3-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:50 ` Andreas Färber
2017-01-18 21:52 ` Kevin Hilman
[not found] ` <20170115223255.10350-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:32 ` [PATCH 1/4] tty: serial: meson: allow baud-rates higher than 115200 Martin Blumenstingl
[not found] ` <20170115223255.10350-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:48 ` Andreas Färber
2017-01-18 21:44 ` Kevin Hilman
2017-01-15 22:32 ` [PATCH 3/4] ARM64: dts: meson-gx-p23x-q20x: enable the Bluetooth module Martin Blumenstingl
2017-01-16 0:47 ` Andreas Färber
[not found] ` <042e2824-0772-cf27-ffa5-4c3b2af7c92b-l3A5Bk7waGM@public.gmane.org>
2017-01-16 9:44 ` Martin Blumenstingl
2017-01-15 22:32 ` [PATCH 4/4] ARM64: dts: meson-gxbb-vega-s95: " Martin Blumenstingl
[not found] ` <20170115223255.10350-5-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-15 22:55 ` Andreas Färber
2017-01-18 11:25 ` [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices Martin Blumenstingl
2017-01-18 22:02 ` Kevin Hilman
2017-01-19 13:39 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).