From mboxrd@z Thu Jan 1 00:00:00 1970 From: khilman@baylibre.com (Kevin Hilman) Date: Wed, 18 Jan 2017 14:02:06 -0800 Subject: [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices In-Reply-To: (Martin Blumenstingl's message of "Wed, 18 Jan 2017 12:25:43 +0100") References: <20170115223255.10350-1-martin.blumenstingl@googlemail.com> Message-ID: To: linus-amlogic@lists.infradead.org List-Id: linus-amlogic.lists.infradead.org Martin Blumenstingl writes: > Kevin, > > On Sun, Jan 15, 2017 at 11:32 PM, Martin Blumenstingl > 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Hilman Subject: Re: [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices Date: Wed, 18 Jan 2017 14:02:06 -0800 Message-ID: References: <20170115223255.10350-1-martin.blumenstingl@googlemail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: (Martin Blumenstingl's message of "Wed, 18 Jan 2017 12:25:43 +0100") List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Martin Blumenstingl Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, catalin.marinas@arm.com, gregkh@linuxfoundation.org, will.deacon@arm.com, robh+dt@kernel.org, linux-serial@vger.kernel.org, jslaby@suse.com, carlo@caione.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: linux-serial@vger.kernel.org Martin Blumenstingl writes: > Kevin, > > On Sun, Jan 15, 2017 at 11:32 PM, Martin Blumenstingl > 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: khilman@baylibre.com (Kevin Hilman) Date: Wed, 18 Jan 2017 14:02:06 -0800 Subject: [PATCH 0/4] Bluetooth support for GXBB/GXL/GXM based devices In-Reply-To: (Martin Blumenstingl's message of "Wed, 18 Jan 2017 12:25:43 +0100") References: <20170115223255.10350-1-martin.blumenstingl@googlemail.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Martin Blumenstingl writes: > Kevin, > > On Sun, Jan 15, 2017 at 11:32 PM, Martin Blumenstingl > 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