arm64: dts: qcom: sm7225-fairphone-fp4: Enable USB audio offload support

Enable USB audio offloading which allows to play audio via a USB-C
headset with lower power consumption and enabling some other features.

This can be used like the following:

  $ amixer -c0 cset name='USB_RX Audio Mixer MultiMedia1' On
  $ aplay --device=plughw:0,0 test.wav

Compared to regular playback to the USB sound card no xhci-hcd
interrupts appear during playback, instead the ADSP will be handling the
USB transfers.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250501-fp4-usb-audio-offload-v2-5-30f4596281cd@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Luca Weiss
2025-05-01 08:48:51 +02:00
committed by Bjorn Andersson
parent bbc5a9b5d9
commit 5ce2aa520d
2 changed files with 39 additions and 0 deletions

View File

@@ -2970,6 +2970,9 @@ wifi: wifi@18800000 {
};
};
sound: sound {
};
thermal-zones {
aoss0-thermal {
thermal-sensors = <&tsens0 0>;

View File

@@ -19,6 +19,7 @@
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/usb/pd.h>
#include "sm7225.dtsi"
#include "pm6150l.dtsi"
@@ -938,6 +939,12 @@ channel@644 {
};
};
&q6asmdai {
dai@0 {
reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
};
};
&qup_uart1_cts {
/*
* Configure a bias-bus-hold on CTS to lower power
@@ -1006,6 +1013,35 @@ &sdhc_2 {
status = "okay";
};
&sound {
compatible = "fairphone,fp4-sndcard";
model = "Fairphone 4";
mm1-dai-link {
link-name = "MultiMedia1";
cpu {
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
};
};
usb-dai-link {
link-name = "USB Playback";
codec {
sound-dai = <&q6usbdai USB_RX>;
};
cpu {
sound-dai = <&q6afedai USB_RX>;
};
platform {
sound-dai = <&q6routing>;
};
};
};
&tlmm {
gpio-reserved-ranges = <13 4>, <56 2>;