Hi, On Fri, Nov 6, 2020 at 12:15 PM Samuel Holland <samuel@xxxxxxxxxxxx> wrote: > > 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? FYI there's a "Bluetooth: Allow to use configure SCO socket codec parameters" thread on the bluetooth mailing list which is still unresolved AFAICT. You might want to take a look at it. ChenYu > 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 >