Re: [PATCH v3 00/15] ARM: sunxi: Enable Broadcom-based Bluetooth controllers
From: Chen-Yu Tsai
Date: Wed Dec 19 2018 - 04:54:32 EST
On Wed, Dec 19, 2018 at 7:50 AM Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
>
> Hi Chen-Yu,
>
> > This is v3 of my Broadcom-based Bluetooth controllers on Allwinner SoC-
> > based SBCs series. v2 was sent on 11/15, with a follow up ping on 11/28.
> > No response from either Bluetooth maintainer. Would the maintainers
> > acknowledge or provide feedback so we can move forward? WiFi for the
> > Broadcom chips has been supported and enabled for many years. Bluetooth
> > on the other hand has required userspace trickery to get it working.
> > With serdev support, this now requires minimal interaction from
> > users to get working.
> >
> >
> > Changes since v2:
> >
> > - Collected tags from Ondrej for applicable patches
> >
> > Changes since v1:
> >
> > - Collected tags
> > - Re-organize dt binding clocks and clock-names properties
> > - Simplify check for deferred probe when getting clocks
> > - Add explanation of Cubietruck's clk_out_a pinmux setting placement
> > to commit message.
> > - Add missing "uart-has-rtscts" property to Cubietruck device tree
> >
> > Original cover letter follows.
> >
> >
> > On many Allwinner SBCs / developer boards, there is a WiFi+BT combo
> > module from AMPAK. Inside is either one or two Broadcom chips, depending
> > on the model. This series enables the Bluetooth controllers for AMPAK
> > AP6210, AP6212, and AP6330 found on several boards. More will come later
> > as other SoCs require changes to some other parts. I did not cover the
> > SCO PCM connections from the controller to the SoC's I2S interface. It
> > seems no one is actually doing this, so I was not sure how to proceed.
> > Any suggestions?
> >
> > I deliberately left out the netdev mailing list and Dave Miller, as the
> > only thing that is under net is the binding document. Maybe we should
> > move that out of Documentation/devicetree/bindings/net/ ?
> >
> > Also, I'm not subscribed to the linux-bluetooth ML, so please CC me for
> > any discussions.
> >
> > Patches 1 through 4 are device tree binding changes:
> >
> > 1 - Make the external clock name unambiguous, and add a second entry for
> > the LPO clock.
> >
> > 2 - Add regulator supply properties for the VBAT and VDDIO power pins.
> >
> > 3 - Add a compatible string for BCM20702A1.
> >
> > 4 - Add a compatible string for BCM4330.
> >
> > Patches 5 through 13 are changes to the driver, either improvements,
> > or updates to handle the updated device tree binding.
> >
> > 5 - Make the driver handle deferred probing for the external clock.
> >
> > 6 - Simplify clock error checking for subsequent clk API calls.
> >
> > 7 - Handle clock-names for the main external clock.
> >
> > 8 - Support a new external clock, the LPO.
> >
> > 9 - Support regulator supplies.
> >
> > 10 - Wait a small amount of time after toggling the GPIO for the device
> > to settle.
> >
> > 11 - Add support for BCM20702A1, including its default address.
> >
> > 12 - Add BCM4330 compatible string to the driver.
> >
> > 13 - Handle default address for BCM43430A0.
> >
> > 14 - Enable Broadcom-based serdev Bluetooth for multiple Allwinner ARMv7
> > boards.
> >
> > 15 - Enable Broadcom-based serdev Bluetooth for the Bananapi M64.
> >
> > checkpatch reports an error for both patch 11 and patch 13:
> >
> > ERROR: space required after that close brace '}'
> >
> > I followed the existing code's style. If this is undesirable, I can send
> > a follow-up patch fixing the entire code block.
> >
> > The first 13 patches should go through the Bluetooth tree, while we, the
> > sunxi maintainers, will take the last 2.
> >
> >
> > Thanks
> > ChenYu
> >
> > Chen-Yu Tsai (14):
> > dt-bindings: net: broadcom-bluetooth: Fix external clock names
> > dt-bindings: net: broadcom-bluetooth: Add VBAT and VDDIO supplies
> > dt-bindings: net: broadcom-bluetooth: Add BCM20702A1 compatible string
> > dt-bindings: net: broadcom-bluetooth: Add BCM4330 compatible string
> > Bluetooth: hci_bcm: Handle deferred probing for the clock supply
> > Bluetooth: hci_bcm: Simplify clk_get error handling
> > Bluetooth: hci_bcm: Use "txco" and "extclk" to get clock reference
> > Bluetooth: hci_bcm: Add support for LPO clock
> > Bluetooth: hci_bcm: Add support for regulator supplies
> > Bluetooth: hci_bcm: Wait for device to come out of reset after power
> > on
> > Bluetooth: hci_bcm: Add compatible string for BCM4330
> > Bluetooth: btbcm: Add default address for BCM43430A0
> > ARM: dts: sunxi: Enable Broadcom-based Bluetooth for multiple boards
> > arm64: dts: allwinner: a64: bananapi-m64: Add Bluetooth device node
> >
> > Maxime Ripard (1):
> > Bluetooth: hci_bcm: Add BCM20702A1 variant
> >
> > .../bindings/net/broadcom-bluetooth.txt | 11 +-
> > arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 25 ++++
> > arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts | 18 +++
> > .../boot/dts/sun8i-a83t-cubietruck-plus.dts | 18 +++
> > arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts | 14 +++
> > .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 14 +++
> > drivers/bluetooth/btbcm.c | 13 +-
> > drivers/bluetooth/hci_bcm.c | 112 +++++++++++++++---
> > 8 files changed, 208 insertions(+), 17 deletions(-)
>
> patches 1-13 have been applied to bluetooth-next tree.
Thanks. Queued up the last two for a late pull request round.
ChenYu