linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] PinePhone BT audio bringup
@ 2020-11-06  4:15 Samuel Holland
  2020-11-06  4:15 ` [PATCH 1/7] ASoC: dt-bindings: sun8i-codec: Increase #sound-dai-cells Samuel Holland
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Samuel Holland @ 2020-11-06  4:15 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec, Liam Girdwood,
	Mark Brown, Rob Herring
  Cc: alsa-devel, devicetree, linux-arm-kernel, linux-kernel,
	phone-devel, Samuel Holland

This series makes use of the additional DAIs recently added to the
sun8i-codec driver to add hardware routing for BT SCO (headset) audio
on the PinePhone.

The BT audio connection is represented by the "dummy" bt-sco codec. The
connection to the Quectel EG-25G modem via AIF2 works as well, but I do
not include it here because there is no appropriate codec driver in
tree. We have been using an out-of-tree "dummy" codec driver similar to
bt-sco, and I'm not sure if such a driver would be desired upstream.

The modem has a similar amount of configurability as the rtl8723cs BT
chip. For the BT chip, the DAI format and PCM parameters are set in a
configuration firmware file and loaded at driver load time. For the
modem, the DAI format and PCM parameters are set by (and can be queried
from) an AT command. However, this AT command requires a modem restart
to take effect, so the parameters cannot feasibly be changed at runtime.

With a dummy driver, we pick some "standard" set of PCM parameters, e.g.
16 bit mono at 8 or 16 kHz, and assume the hardware agrees. Similarly,
we assume the DAI format pre-programmed in the remote hardware matches
what is configured in the DAI link (in this case, in the device tree).

Is that the right way to model this? Or does the modem (and maybe even
the BT chip) deserve a more featureful driver that reads and/or programs
the format and params at probe time?

Because of those unanswered questions, I'm sending BT SCO support
first/only.

Regards,
Samuel

Arnaud Ferraris (1):
  arm64: dts: allwinner: pinephone: Set audio card name

Samuel Holland (6):
  ASoC: dt-bindings: sun8i-codec: Increase #sound-dai-cells
  ARM: dts: sun8i-a33: Allow using multiple codec DAIs
  arm64: dts: allwinner: a64: Allow using multiple codec DAIs
  arm64: dts: allwinner: a64: Add pinmux nodes for AIF2/AIF3
  arm64: dts: allwinner: a64: Allow multiple DAI links
  arm64: dts: allwinner: pinephone: Add support for Bluetooth audio

 .../sound/allwinner,sun8i-a33-codec.yaml      |  2 +-
 arch/arm/boot/dts/sun8i-a33.dtsi              |  4 +-
 .../dts/allwinner/sun50i-a64-pinephone.dtsi   | 25 +++++++++++++
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 37 ++++++++++++++-----
 4 files changed, 55 insertions(+), 13 deletions(-)

-- 
2.26.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-11-06 16:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-06  4:15 [PATCH 0/7] PinePhone BT audio bringup Samuel Holland
2020-11-06  4:15 ` [PATCH 1/7] ASoC: dt-bindings: sun8i-codec: Increase #sound-dai-cells Samuel Holland
2020-11-06 16:15   ` Rob Herring
2020-11-06  4:15 ` [PATCH 2/7] ARM: dts: sun8i-a33: Allow using multiple codec DAIs Samuel Holland
2020-11-06  4:15 ` [PATCH 3/7] arm64: dts: allwinner: a64: " Samuel Holland
2020-11-06  4:15 ` [PATCH 4/7] arm64: dts: allwinner: a64: Add pinmux nodes for AIF2/AIF3 Samuel Holland
2020-11-06  4:15 ` [PATCH 5/7] arm64: dts: allwinner: a64: Allow multiple DAI links Samuel Holland
2020-11-06  4:15 ` [PATCH 6/7] arm64: dts: allwinner: pinephone: Add support for Bluetooth audio Samuel Holland
2020-11-06  4:15 ` [PATCH 7/7] arm64: dts: allwinner: pinephone: Set audio card name Samuel Holland
2020-11-06  4:28 ` [PATCH 0/7] PinePhone BT audio bringup Chen-Yu Tsai

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).