Rtwo/kernel/motorola/sm8550-devicetrees/qcom/audio/bindings/qcom-audio-dev.txt

2685 lines
98 KiB
Text
Raw Normal View History

2025-09-30 20:22:48 -04:00
Qualcomm Technologies, Inc. Audio devices for ALSA sound SoC
* msm-pcm
Required properties:
- compatible : "qcom,msm-pcm-dsp"
- qcom,msm-pcm-dsp-id : device node id
* msm-pcm-low-latency
Required properties:
- compatible : "qcom,msm-pcm-dsp"
- qcom,msm-pcm-dsp-id : device node id
Optional properties:
- qcom,msm-pcm-low-latency : Flag indicating whether
the device node is of type low latency.
- qcom,latency-level : Flag indicating whether the device node
is of type regular low latency or ultra
low latency.
regular : regular low latency stream
ultra : ultra low latency stream
ull-pp : ultra low latency stream with post-processing capability
* msm-pcm-dsp-noirq
Required properties:
- compatible : "qcom,msm-pcm-dsp-noirq";
Optional properties:
- qcom,msm-pcm-low-latency : Flag indicating whether
the device node is of type low latency.
- qcom,latency-level : Flag indicating whether the device node
is of type low latency or ultra low latency
ultra : ultra low latency stream
ull-pp : ultra low latency stream with post-processing capability
* msm-pcm-routing
Required properties:
- compatible : "qcom,msm-pcm-routing"
* msm-pcm-lpa
Required properties:
- compatible : "qcom,msm-pcm-lpa"
* msm-compr-dsp
Required properties:
- compatible : "qcom,msm-compr-dsp"
* msm-compress-dsp
Required properties:
- compatible : "qcom,msm-compress-dsp"
Optional properties:
- qcom,adsp-version:
This property can be used to specify the ADSP version/name.
Based on ADSP version, we decide if we have to use older
ADSP APIs or newer. Right now we are adding "MDSP 1.2" for
8909 purpose. If the ADSP version is anything other than this
we use new ADSP APIs.
* msm-voip-dsp
Required properties:
- compatible : "qcom,msm-voip-dsp"
* msm-pcm-voice
Required properties:
- compatible : "qcom,msm-pcm-voice"
- qcom,destroy-cvd : Flag indicating whether to destroy cvd at
the end of call for low memory targets
* msm-voice-host-pcm
Required properties:
- compatible : "qcom,msm-voice-host-pcm"
* msm-voice-svc
Required properties:
- compatible : "qcom,msm-voice-svc"
* msm-stub-codec
Required properties:
- compatible : "qcom,msm-stub-codec"
* msm-hdmi-dba-codec-rx
Required properties:
- compatible : "qcom,msm-hdmi-dba-codec-rx"
- qcom,dba-bridge-chip: String info to indicate which bridge-chip
is used for HDMI using DBA.
* msm-dai-fe
Required properties:
- compatible : "qcom,msm-dai-fe"
* msm-pcm-afe
Required properties:
- compatible : "qcom,msm-pcm-afe"
* msm-pcm-dtmf
Required properties:
- compatible : "qcom,msm-pcm-dtmf"
- qcom,msm-pcm-dtmf : Enable DTMF driver in Audio. DTMF driver is
used for generation and detection of DTMF tones, when user is in
active voice call. APR commands are sent from DTMF driver to ADSP.
* msm-dai-stub
[First Level Nodes]
Required properties:
- compatible : "msm-dai-stub"
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-stub-dev"
- qcom,msm-dai-stub-dev-id : Stub dai port ID value is from 0 to 3.
This enables stub CPU dai in Audio. The stub dai is used when
there is no real backend in Audio.
* msm-dai-q6-spdif
Optional properties:
- compatible : "msm-dai-q6-spdif"
* msm-dai-q6-hdmi
Required properties:
- compatible : "msm-dai-q6-hdmi"
- qcom,msm-dai-q6-dev-id : The hdmi multi channel port ID.
It is passed onto the dsp from the apps to form an audio
path to the HDMI device. Currently the only supported value
is 8, which indicates the rx path used for audio playback
on HDMI device.
* msm-lsm-client
Required properties:
- compatible : "qcom,msm-lsm-client"
* msm-pcm-loopback
Required properties:
- compatible : "qcom,msm-pcm-loopback"
Optional properties:
- qcom,msm-pcm-loopback-low-latency : Flag indicating whether
the device node is of type low latency.
* msm-transcode-loopback
Required properties:
- compatible : "qcom,msm-transcode-loopback"
* msm-dai-q6
[First Level Nodes]
Required properties:
- compatible : "msm-dai-q6"
Optional properties:
- qcom,ext-spk-amp-supply : External speaker amplifier power supply.
- qcom,ext-spk-amp-gpio : External speaker amplifier enable signal.
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-q6-dev"
- qcom,msm-dai-q6-dev-id : The slimbus multi channel port ID
Value is from 16384 to 16397.
BT SCO port ID value from 12288 to 12289.
RT Proxy port ID values from 224 to 225 and 240 to
241.
FM Rx and TX port ID values from 12292 to 12293.
incall record Rx and TX port ID values from 32771 to 32772.
inCall Music Delivery port ID is 32773.
incall Music 2 Delivery port ID is 32770.
Optional properties:
- qcom,msm-dai-q6-slim-dev-id : The Slimbus HW device (instance) ID associated
with Slimbus ports.
0 - Slimbus HW device ID 0 (first instance)
1 - Slimbus HW device ID 1 (second instance)
* msm_dai_cdc_dma
[First Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-cdc-dma"
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-cdc-dma-dev"
- qcom,msm-dai-cdc-dma-dev-id : WSA codec dma port ID
Value is from 45056 to 45061.
VA codec dma port ID Value is from 45089 to 45091.
RX and TX codec dma port ID values from 45120
to 45135.
Optional properties:
- qcom,msm-dai-is-island-supported: Defines whether this dai supported in
island mode or not.
0 - Unsupported
1 - Supported
- qcom,msm-dai-cdc-dma-dev-id: Indicate how data is packed within
codec DMA.
0 - MSB
1 - LSB
* msm-auxpcm
Required properties:
- compatible : "qcom,msm-auxpcm-dev"
- qcom,msm-cpudai-auxpcm-mode: mode information. The first value is
for 8khz mode, the second is for
16khz
0 - for PCM
- qcom,msm-cpudai-auxpcm-sync: sync information. The first value is
for 8khz mode, the second is for
16khz
- qcom,msm-cpudai-auxpcm-frame: No.of bytes per frame. The first
value is for 8khz mode, the second
is for 16khz
5 - 256BPF
4 - 128BPF
- qcom,msm-cpudai-auxpcm-quant: Type of quantization. The first
value is for 8khz mode, the second
is for 16khz
2 - Linear quantization
- qcom,msm-cpudai-auxpcm-num-slots: Number of slots per mode in the
msm-cpudai-auxpcm-slot-mapping
array.
The first value is for 8khz mode, the
second is for 16khz. Max number of
slots supported by DSP is 4, anything
above 4 will be truncated to 4 when
sent to DSP.
- qcom,msm-cpudai-auxpcm-slot-mapping: Array of slot numbers for multi
slot scenario. The first array
is for 8khz mode, the second is
for 16khz. The size of the array
is determined by the value in
qcom,msm-cpudai-auxpcm-num-slots
- qcom,msm-cpudai-auxpcm-data: Data field - 0. The first value is
for 8khz mode, the second is for
16khz
- qcom,msm-cpudai-auxpcm-pcm-clk-rate: Clock rate for pcm - 2048000. The
first value is for 8khz mode, the
second is for 16KHz mode. When clock
rate is set to zero, then external
clock is assumed.
- qcom,msm-auxpcm-interface: name of AUXPCM interface "primary"
indicates primary AUXPCM interface
"secondary" indicates secondary
AUXPCM interface
Optional properties:
- pinctrl-names: Pinctrl state names for each pin
group configuration.
- pinctrl-x: Defines pinctrl state for each pin
group
- qcom,msm-cpudai-afe-clk-ver: Indicates version of AFE clock
interface to be used for enabling
PCM clock. If not defined, selects
default AFE clock interface.
- qcom,msm-dai-is-island-supported: Defines whether this dai supported in
island mode or not.
0 - Unsupported
1 - Supported
* msm-pcm-hostless
Required properties:
- compatible : "qcom,msm-pcm-hostless"
* msm-audio-apr
Required properties:
- compatible : "qcom,msm-audio-apr"
This device is added to represent APR module.
- qcom,subsys-name: This value provides the subsystem name where codec
is present. It can be "apr_modem" or "apr_adsp". This
property enable apr driver to receive subsystem up/down
notification from modem/adsp.
* Bolero codec
Required properties:
- compatible : "qcom,bolero-codec"
This device is added to represent bolero codec.
Optional properties:
- qcom,bolero-version: Provides info relating to bolero version.
* LPASS digital codec
Required properties:
- compatible : "qcom,lpass-cdc"
This device is added to represent LPASS digital codec.
Optional properties:
- qcom,lpass-cdc-version: Provides info relating to LPASS codec version.
* msm-ocmem-audio
Required properties:
- compatible : "qcom,msm-ocmem-audio"
- qcom,msm_bus,name: Client name
- qcom,msm_bus,num_cases: Total number of use cases
- qcom,msm_bus,active_only: Context flag for requests in active
or dual (active & sleep) contex
- qcom,msm_bus,num_paths: Total number of master-slave pairs
- qcom,msm_bus,vectors: Arrays of unsigned integers
representing:
master-id, slave-id, arbitrated
bandwidth,
instantaneous bandwidth
* wcd9xxx_intc
Required properties:
- compatible : "qcom,wcd9xxx-irq"
- interrupt-controller : Mark this device node as an
interrupt controller
- #interrupt-cells : Should be 1
- interrupt-parent : Parent interrupt controller
- qcom,gpio-connect Gpio that connects to parent
interrupt controller
* audio-ext-clk-up
Required properties:
- compatible : "qcom,audio-ref-clk"
- qcom,codec-ext-clk-src: Clock source type like PMIC, LPASS
requested to enable reference
or external clock.
Optional properties:
- qcom,codec-lpass-ext-clk-freq: Property used to specify frequency.
- qcom,codec-lpass-clk-id: Property used to specify LPASS clock
ID value.
- clock-names: Name of the PMIC clock that needs
to be enabled for audio ref clock.
This clock is set as parent.
- clocks: phandle reference to the parent
clock.
- qcom,mclk-clk-reg: Indicate the register address for mclk.
- qcom,use-pinctrl: Indicates pinctrl required or not for this
clock node.
* audio_slimslave
Required properties:
- compatible : "qcom,audio-slimslave"
- elemental-addr: slimbus slave enumeration address.
* msm-cpe-lsm
Required properties:
- compatible : "qcom,msm-cpe-lsm"
- qcom,msm-cpe-lsm-id : lsm afe port ID. CPE lsm driver uses
this property to find out the input afe port ID. Currently
only supported values are 1 and 3.
* wcd_us_euro_gpio
Required properties:
- compatible : "qcom,msm-cdc-pinctrl"
Optional properties:
- qcom,lpi-gpios : This boolean property is added if GPIOs are under
LPI TLMM.
- qcom,chip-wakeup-reg : This lists registers related to control interrupt mask
for respective LPI TLMM GPIOs.
- qcom,chip-wakeup-maskbit : This gives info on maskbit for given list of registers.
- qcom,chip-wakeup-default-val : This gives info on default value to be updated
for given chip regs.
* msm-dai-slim
Required properties:
- compatible : "qcom,msm-dai-slim"
- elemental-addr: slimbus slave enumeration address.
* wcd_gpio_ctrl
Required properties:
- compatible : "qcom,msm-cdc-pinctrl"
- qcom,cdc-rst-n-gpio : TLMM GPIO number
- pinctrl-names: Pinctrl state names for each pin
group configuration.
- pinctrl-x: Defines pinctrl state for each pin
group.
* msm_cdc_pinctrl
Required properties:
- compatible : "qcom,msm-cdc-pinctrl"
- pinctrl-names: Pinctrl state names for each pin
group configuration.
- pinctrl-x: Defines pinctrl state for each pin
group.
* wcd_dsp_glink
Required properties:
- compatible : "qcom,wcd-dsp-glink"
- qcom,wdsp-channels: List of wdsp supported channel names.
* msm_ext_disp_audio_codec_rx
Required properties:
- compatible : "qcom,msm-ext-disp-audio-codec-rx"
Example:
qcom,msm-pcm {
compatible = "qcom,msm-pcm-dsp";
qcom,msm-pcm-dsp-id = <0>;
};
qcom,msm-pcm-low-latency {
compatible = "qcom,msm-pcm-dsp";
qcom,msm-pcm-dsp-id = <1>;
qcom,msm-pcm-low-latency;
};
qcom,msm-pcm-loopback-low-latency {
compatible = "qcom,msm-pcm-loopback";
qcom,msm-pcm-loopback-low-latency;
};
qcom,msm-pcm-routing {
compatible = "qcom,msm-pcm-routing";
};
qcom,msm-pcm-lpa {
compatible = "qcom,msm-pcm-lpa";
};
qcom,msm-compr-dsp {
compatible = "qcom,msm-compr-dsp";
};
qcom,msm-compress-dsp {
compatible = "qcom,msm-compress-dsp";
};
qcom,msm-voip-dsp {
compatible = "qcom,msm-voip-dsp";
};
qcom,msm-pcm-voice {
compatible = "qcom,msm-pcm-voice";
qcom,destroy-cvd;
};
qcom,msm-voice-host-pcm {
compatible = "qcom,msm-voice-host-pcm";
};
qcom,msm-stub-codec {
compatible = "qcom,msm-stub-codec";
};
qcom,msm-dai-fe {
compatible = "qcom,msm-dai-fe";
};
qcom,msm-pcm-dtmf {
compatible = "qcom,msm-pcm-dtmf";
};
qcom,msm-dai-stub {
compatible = "qcom,msm-dai-stub";
};
qcom,msm-dai-q6-spdif {
compatible = "qcom,msm-dai-q6-spdif";
};
qcom,msm-dai-q6-hdmi {
compatible = "qcom,msm-dai-q6-hdmi";
qcom,msm-dai-q6-dev-id = <8>;
};
dai_dp: qcom,msm-dai-q6-dp {
compatible = "qcom,msm-dai-q6-hdmi";
qcom,msm-dai-q6-dev-id = <24608>;
};
qcom,msm-dai-q6 {
compatible = "qcom,msm-dai-q6";
qcom,msm-dai-q6-sb-0-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16384>;
qcom,msm-dai-q6-slim-dev-id = <0>;
};
qcom,msm-dai-q6-sb-0-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16385>;
};
qcom,msm-dai-q6-sb-1-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16386>;
};
qcom,msm-dai-q6-sb-1-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16387>;
};
qcom,msm-dai-q6-sb-3-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16390>;
};
qcom,msm-dai-q6-sb-3-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16391>;
};
qcom,msm-dai-q6-sb-4-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16392>;
};
qcom,msm-dai-q6-sb-4-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16393>;
};
qcom,msm-dai-q6-sb-5-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16395>;
};
qcom,msm-dai-q6-sb-6-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16396>;
};
qcom,msm-dai-q6-sb-6-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <16397>;
};
qcom,msm-dai-q6-bt-sco-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <12288>;
};
qcom,msm-dai-q6-bt-sco-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <12289>;
};
qcom,msm-dai-q6-int-fm-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <12292>;
};
qcom,msm-dai-q6-int-fm-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <12293>;
};
qcom,msm-dai-q6-be-afe-pcm-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <224>;
};
qcom,msm-dai-q6-be-afe-pcm-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <225>;
};
qcom,msm-dai-q6-afe-proxy-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <241>;
};
qcom,msm-dai-q6-afe-proxy-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <240>;
};
qcom,msm-dai-q6-incall-record-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <32771>;
};
qcom,msm-dai-q6-incall-record-tx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <32772>;
};
qcom,msm-dai-q6-incall-music-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <32773>;
};
qcom,msm-dai-q6-incall-music-2-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <32770>;
};
};
qcom,msm-pri-auxpcm {
qcom,msm-cpudai-auxpcm-mode = <1>, <1>;
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
qcom,msm-cpudai-auxpcm-num-slots = <4>, <4>;
qcom,msm-cpudai-auxpcm-slot-mapping = <1 0 0 0>, <1 3 0 0>;
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
qcom,msm-auxpcm-interface = "primary";
compatible = "qcom,msm-auxpcm-dev";
pinctrl-names = "default", "idle";
pinctrl-0 = <&pri_aux_pcm_active &pri_aux_pcm_din_active>;
pinctrl-1 = <&pri_aux_pcm_sleep &pri_aux_pcm_din_sleep>;
};
qcom,msm-pcm-hostless {
compatible = "qcom,msm-pcm-hostless";
};
audio_apr: qcom,msm-audio-apr {
compatible = "qcom,msm-audio-apr";
qcom,subsys-name = "apr_adsp";
q6core {
compatible = "qcom,q6core-audio";
bolero: bolero-cdc {
compatible = "qcom,bolero-codec";
};
};
};
qcom,msm-ocmem-audio {
compatible = "qcom,msm-ocmem-audio";
qcom,msm_bus,name = "audio-ocmem";
qcom,msm_bus,num_cases = <2>;
qcom,msm_bus,active_only = <0>;
qcom,msm_bus,num_paths = <1>;
qcom,msm_bus,vectors =
<11 604 0 0>,
<11 604 32505856 325058560>;
};
wcd9xxx_intc: wcd9xxx-irq {
compatible = "qcom,wcd9xxx-irq";
interrupt-controller;
#interrupt-cells = <1>;
interrupt-parent = <&msmgpio>;
interrupts = <72 0>;
interrupt-names = "cdc-int";
};
clock_audio: audio_ext_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <2>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <1>;
clock-names = "osr_clk";
clocks = <&clock_rpm clk_div_clk1>;
#clock-cells = <1>;
pinctrl-names = "sleep", "active";
pinctrl-0 = <&spkr_i2s_clk_sleep>;
pinctrl-1 = <&spkr_i2s_clk_active>;
};
audio_slimslave {
compatible = "qcom,audio-slimslave";
elemental-addr = [ff ff ff ff 17 02];
};
msm_dai_slim {
compatible = "qcom,msm_dai_slim";
elemental-addr = [ff ff ff fe 17 02];
};
wcd_gpio_ctrl {
compatible = "qcom,msm-cdc-pinctrl";
qcom,cdc-rst-n-gpio = <&tlmm 64 0>;
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_reset_active>;
pinctrl-1 = <&cdc_reset_sleep>;
};
msm_cdc_pinctrl {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_reset_active>;
pinctrl-1 = <&cdc_reset_sleep>;
};
wcd_dsp_glink {
compatible = "qcom,wcd-dsp-glink";
};
msm_ext_disp_audio_codec_rx {
compatible = "qcom,msm-ext-disp-audio-codec-rx";
};
* msm-dai-mi2s
[First Level Nodes]
Required properties:
- compatible : "msm-dai-mi2s"
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-q6-mi2s"
- qcom,msm-dai-q6-mi2s-dev-id: MSM or MDM can use Slimbus or I2S interface to
transfer data to (WCD9XXX) codec.
If slimbus interface is used then "msm-dai-q6"
needs to be filled with correct data for
slimbus interface.
The sections "msm-dai-mi2s" is used by MDM or
MSM to use I2S interface with codec.
This section is used by CPU driver in ASOC MSM
to configure MI2S interface. MSM internally
has multiple MI2S namely Primary, Secondary,
Tertiary and Quaternary MI2S.
They are represented with id 0, 1, 2, 3
respectively.
The field "qcom,msm-dai-q6-mi2s-dev-id"
represents which of the MI2S block is used.
These MI2S are connected to I2S interface.
- qcom,msm-mi2s-rx-lines: Each MI2S interface in MSM has one or more SD
lines. These lines are used for data transfer
between codec and MSM.
This element in indicates which output RX lines
are used in the MI2S interface.
- qcom,msm-mi2s-tx-lines: Each MI2S interface in MSM has one or more SD
lines. These lines are used for data transfer
between codec and MSM.
This element in indicates which input TX lines
are used in the MI2S interface.
Optional properties:
- pinctrl-names: Pinctrl state names for each pin group
configuration.
- pinctrl-x: Defines pinctrl state for each pin group
- qcom,msm-dai-is-island-supported: Defines whether this dai supported in
island mode or not.
0 - Unsupported
1 - Supported
Example:
qcom,msm-dai-mi2s {
compatible = "qcom,msm-dai-mi2s";
qcom,msm-dai-q6-mi2s-prim {
compatible = "qcom,msm-dai-q6-mi2s";
qcom,msm-dai-q6-mi2s-dev-id = <0>;
qcom,msm-mi2s-rx-lines = <2>;
qcom,msm-mi2s-tx-lines = <1>;
pinctrl-names = "default", "idle";
pinctrl-0 = <&tert_mi2s_active &tert_mi2s_sd0_active>;
pinctrl-1 = <&tert_mi2s_sleep &tert_mi2s_sd0_sleep>;
};
};
* msm-dai-spdif
[First Level Nodes]
Required properties:
- compatible : "msm-dai-spdif"
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-q6-spdif"
- qcom,msm-dai-q6-dev-id: The SPDIF port ID
Value is from 20480 to 20483.
Example:
qcom,msm-dai-spdif {
compatible = "qcom,msm-dai-spdif";
qcom,msm-dai-q6-spdif-pri-rx {
compatible = "qcom,msm-dai-q6-spdif";
qcom,msm-dai-q6-dev-id = <20480>;
};
};
* msm-adsp-loader
Required properties:
- compatible : "qcom,adsp-loader"
- qcom,rproc-handle:
remoteproc handler is used to load ADSP image at boot.
- qcom,adsp-state:
It is possible that some MSM use PIL to load the ADSP image. While
other MSM may use SBL to load the ADSP image at boot. Audio APR needs
state of ADSP to register and enable APR to be used for sending commands
to ADSP. so adsp-state represents the state of ADSP to ADSP loader.
Value of 0 indicates ADSP loader needs to use PIL and value of 2 means
ADSP image is already loaded by SBL.
Example:
qcom,msm-adsp-loader {
status = "ok";
compatible = "qcom,adsp-loader";
qcom,rproc-handle = <&adsp_pas>;
qcom,adsp-state = <0>;
};
* msm-adsp_notify
Required properties:
- compatible : "qcom,adsp_notify"
- qcom,rproc-handle:
remoteproc handler is used to get subsystem domain name.
Example:
adsp_notify: qcom,msm-adsp-notify {
status = "ok";
compatible = "qcom,adsp-notify";
qcom,rproc-handle = <&adsp_pas>;
};
* msm-audio-ion
Required properties:
- compatible : "qcom,msm-audio-ion"
Optional properties:
- qcom,smmu-version:
version ID to provide info regarding smmu version
used in chipset. If ARM SMMU HW - use id value as 1,
If QSMMU HW - use id value as 2.
- qcom,smmu-sid-mask:
Mask for the Stream ID part of SMMU SID.
- qcom,smmu-enabled:
It is possible that some MSM have SMMU in ADSP. While other MSM use
no SMMU. Audio lib introduce wrapper for ION APIs. The wrapper needs
presence of SMMU in ADSP to handle ION APIs differently.
Presence of this property means ADSP has SMMU in it.
- iommus:
A phandle parsed by smmu driver. Number of entries will vary across
targets.
Example:
qcom,msm-audio-ion {
compatible = "qcom,msm-audio-ion;
qcom,smmu-enabled;
};
* msm-audio-ion-cma
Required properties:
- compatible : "qcom,msm-audio-ion-cma"
Example:
qcom,msm-audio-ion-cma {
compatible = "qcom,msm-audio-ion-cma";
};
* msm-dai-tdm
[First Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-tdm"
- qcom,msm-cpudai-tdm-group-id: ID of the group device. TDM interface
supports up to 8 groups:
Primary RX: 37120
Primary TX: 37121
Secondary RX: 37136
Secondary TX: 37137
Tertiary RX: 37152
Tertiary TX: 37153
Quaternary RX: 37168
Quaternary TX: 37169
- qcom,msm-cpudai-tdm-group-num-ports: Number of ports in
msm-cpudai-tdm-group-port-id array.
Max number of ports supported by DSP is 8.
- qcom,msm-cpudai-tdm-group-port-id: Array of TDM port IDs of the group.
The size of the array is determined by
the value in msm-cpudai-tdm-group-num-ports.
Each group supports up to 8 ports:
Primary RX: 36864, 36866, 36868, 36870,
36872, 36874, 36876, 36878
Primary TX: 36865, 36867, 36869, 36871,
36873, 36875, 36877, 36879
Secondary RX: 36880, 36882, 36884, 36886,
36888, 36890, 36892, 36894
Secondary TX: 36881, 36883, 36885, 36887,
36889, 36891, 36893, 36895
Tertiary RX: 36896, 36898, 36900, 36902,
36904, 36906, 36908, 36910
Tertiary TX: 36897, 36899, 36901, 36903,
36905, 36907, 36909, 36911
Quaternary RX: 36912, 36914, 36916, 36918,
36920, 36922, 36924, 36926
Quaternary TX: 36913, 36915, 36917, 36919,
36921, 36923, 36925, 36927
- qcom,msm-cpudai-tdm-clk-rate: Clock rate for tdm - 12288000.
When clock rate is set to zero,
then external clock is assumed.
- qcom,msm-cpudai-tdm-clk-internal: Clock Source.
0 - EBIT clock from clk tree
1 - IBIT clock from clk tree
- qcom,msm-cpudai-tdm-sync-mode: Synchronization setting.
0 - Short sync bit mode
1 - Long sync mode
2 - Short sync slot mode
- qcom,msm-cpudai-tdm-sync-src: Synchronization source.
0 - External source
1 - Internal source
- qcom,msm-cpudai-tdm-data-out: Data out signal to drive with other masters.
0 - Disable
1 - Enable
- qcom,msm-cpudai-tdm-invert-sync: Invert the sync.
0 - Normal
1 - Invert
- qcom,msm-cpudai-tdm-data-delay: Number of bit clock to delay data
with respect to sync edge.
0 - 0 bit clock cycle
1 - 1 bit clock cycle
2 - 2 bit clock cycle
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-q6-tdm"
- qcom,msm-dai-q6-mi2s-dev-id: TDM port ID.
- qcom,msm-cpudai-tdm-data-align: Indicate how data is packed
within the slot. For example, 32 slot width in case of
sample bit width is 24.
0 - MSB
1 - LSB
Optional properties:
- qcom,msm-cpudai-tdm-header-start-offset: TDM Custom header start offset
in bytes from this sub-frame. The bytes is counted from 0.
0 is mapped to the 1st byte in or out of
the digital serial data line this sub-frame belong to.
Supported value: 0, 4, 8.
- qcom,msm-cpudai-tdm-header-width: Header width per frame followed.
2 bytes for MOST/TDM case.
Supported value: 2.
- qcom,msm-cpudai-tdm-header-num-frame-repeat: Number of header followed.
Supported value: 8.
- pinctrl-names: Pinctrl state names for each pin group
configuration.
- pinctrl-x: Defines pinctrl state for each pin group.
- qcom,msm-dai-is-island-supported: Defines whether this dai supported in
island mode or not.
0 - Unsupported
1 - Supported
Example:
qcom,msm-dai-tdm-quat-rx {
compatible = "qcom,msm-dai-tdm";
qcom,msm-cpudai-tdm-group-id = <37168>;
qcom,msm-cpudai-tdm-group-num-ports = <1>;
qcom,msm-cpudai-tdm-group-port-id = <36912>;
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
qcom,msm-cpudai-tdm-clk-internal = <1>;
qcom,msm-cpudai-tdm-sync-mode = <0>;
qcom,msm-cpudai-tdm-sync-src = <1>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>;
pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>;
dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36912>;
qcom,msm-cpudai-tdm-data-align = <0>;
qcom,msm-cpudai-tdm-header-start-offset = <0>;
qcom,msm-cpudai-tdm-header-width = <2>;
qcom,msm-cpudai-tdm-header-num-frame-repeat = <8>;
};
};
* MSMSTUB ASoC Machine driver
Required properties:
- compatible : "qcom,sm8150-asoc-snd-stub" for SM8150 target.
- compatible : "qcom,kona-asoc-snd-stub" for Kona target.
- qcom,model : The user-visible name of this sound card.
- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
Optional properties:
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
Example:
sound_stub {
compatible = "qcom,sm8150-asoc-snd-stub";
qcom,model = "sm8150-stub-snd-card";
qcom,tasha-mclk-clk-freq = <9600000>;
asoc-platform = <&pcm0>;
asoc-platform-names = "msm-pcm-dsp.0";
asoc-cpu = <&sb_0_rx>, <&sb_0_tx>;
asoc-cpu-names = "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385";
asoc-codec = <&stub_codec>;
asoc-codec-names = "msm-stub-codec.1";
qcom,wsa-max-devs = <0>;
};
* WCD DSP manager driver
Required properties:
- compatible : "qcom,wcd-dsp-mgr"
- qcom,wdsp-components : This is phandle list containing the references to the
components of the manager driver. Manager driver will
register to component framework with these phandles.
- qcom,img-filename : String property to provide the dsp image file name that is
to be read from file system and downloaded to dsp memory
Optional properties:
- qcom,wdsp-cmpnt-dev-name : Property that manager driver will parse, but defined
in the child's DT entry that is given to manager driver
with phandle. This property will be used by the manager
driver in case the manager driver cannot match child's
of_node pointer to registered phandle.
Example:
qcom,wcd-dsp-mgr {
compatible = "qcom,wcd-dsp-mgr";
qcom,wdsp-components = <&wcd934x_cdc 0>,
<&wcd_spi_0 1>,
<&glink_spi 2>;
qcom,img-filename = "cpe_9340";
};
Example of child node that would have qcom,wdsp-cmpnt-dev-name property
wcd934x_cdc: tavil_codec {
qcom,wdsp-cmpnt-dev-name = "tavil_codec";
};
* msm-mdf
Required properties:
- compatible : "qcom,msm-mdf"
Optional subnodes:
- qcom,msm_mdf_cb : Child nodes representing the compute context banks.
Subnode Required properties:
- compatible : "qcom,msm-mdf-cb"
- label: Label describing the subsystem this context bank belongs to.
Subnode Optional properties:
- qcom,smmu-enabled:
It is possible that some MSM subsystems have SMMU, while other MSM
subsystems do not. MDF platform driver needs to handle SMMU APIs
differently according to the availability of SMMU.
Presence of this property means the subsystem has SMMU in it.
- iommus : A list of phandle and IOMMU specifier pairs that describe the
IOMMU master interfaces of the device.
Example:
qcom,msm-mdf {
compatible = "qcom,msm-mdf";
qcom,msm_mdf_cb1 {
compatible = "qcom,msm-mdf-cb";
label = "adsp";
qcom,smmu-enabled;
};
qcom,msm_mdf_cb2 {
compatible = "qcom,msm-mdf-cb";
label = "dsps";
};
qcom,msm_mdf_cb3 {
compatible = "qcom,msm-mdf-cb";
label = "modem";
};
};
* msm-mdf-mem
Required properties:
- compatible : "qcom,msm-mdf-mem-region"
- qcom,msm-mdf-mem-data-size: indicates the size of memory
for MDF purpose
- memory-region : CMA region which is owned by this device.
Example:
qcom,msm-mdf-mem {
compatible = "qcom,msm-mdf-mem-region";
memory-region = <&mdf_mem>;
};
* SM8150 ASoC Machine driver
Required properties:
- compatible : "qcom,sm8150-asoc-snd-pahu-aqt" for pahu codec and
"qcom,sm8150-asoc-snd-tavil" for tavil codec.
- qcom,model : The user-visible name of this sound card.
- qcom,pahu-ext-clk-freq : External CLK frequency value for pahu codec
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
Optional properties:
- clock-names : clock name defined for external clock.
- clocks : external clock defined for codec clock.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
Example:
sound-pahu {
compatible = "qcom,sm8150-asoc-snd-pahu-aqt";
qcom,model = "sm8150-pahu-aqt-snd-card";
qcom,ext-disp-audio-rx;
qcom,wcn-btfm;
qcom,mi2s-audio-intf;
qcom,auxpcm-audio-intf;
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
reg = <0x1711a000 0x4>,
<0x1711b000 0x4>,
<0x1711c000 0x4>,
<0x1711d000 0x4>;
reg-names = "lpaif_pri_mode_muxsel",
"lpaif_sec_mode_muxsel",
"lpaif_tert_mode_muxsel",
"lpaif_quat_mode_muxsel";
qcom,audio-routing =
"MADINPUT", "MCLK",
"AMIC2", "MIC BIAS2",
"AMIC3", "MIC BIAS2",
"AMIC4", "MIC BIAS2",
"AMIC5", "MIC BIAS3",
"MIC BIAS3", "Handset Mic",
"DMIC0", "MIC BIAS1",
"MIC BIAS1", "Digital Mic0",
"DMIC1", "MIC BIAS1",
"MIC BIAS1", "Digital Mic1",
"DMIC2", "MIC BIAS3",
"MIC BIAS3", "Digital Mic2",
"DMIC3", "MIC BIAS3",
"MIC BIAS3", "Digital Mic3",
"DMIC4", "MIC BIAS4",
"MIC BIAS4", "Digital Mic4",
"DMIC5", "MIC BIAS4",
"MIC BIAS4", "Digital Mic5",
"SpkrLeft IN", "SPK1 OUT",
"SpkrRight IN", "SPK2 OUT";
qcom,pahu-ext-clk-freq = <19200000>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-cpe-lsm",
"msm-compr-dsp", "msm-pcm-dsp-noirq";
asoc-cpu = <&dai_hdmi>, <&dai_dp>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
<&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
<&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>,
<&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>;
asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
"msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
"msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
"msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394",
"msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398",
"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913";
asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>;
asoc-codec-names = "msm-stub-codec.1",
"msm-ext-disp-audio-codec-rx";
qcom,wsa-max-devs = <2>;
qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
<&wsa881x_0213>, <&wsa881x_0214>;
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
"SpkrLeft", "SpkrRight";
};
* QCS405 ASoC Machine driver
Required properties:
- compatible : "qcom,qcs405-asoc-snd".
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
Optional properties:
- clock-names : clock name defined for external clock.
- clocks : external clock defined for codec clock.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,wsa_bolero_codec : Property to specify if WSA macro in Bolero codec is used for this target
- qcom,va_bolero_codec : Property to specify if VA macro in Bolero codec is used for this target
- qcom,tasha_codec : Property to specify if Tasha codec is used for this target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,csra-codec : Property to specify if CSRA66x0 is used for this target
- qcom,csra-max-devs : Maximum number of CSRA66x0 devices present in the target
- qcom,csra-devs : List of phandles of all possible CSRA66x0 devices supported for the target
- qcom,csra-aux-dev-prefix : Name prefix in multi-channel configuration for CSRA66x0 device
Example:
qcs405_snd {
compatible = "qcom,qcs405-asoc-snd";
qcom,wsa_bolero_codec = <1>;
qcom,va_bolero_codec = <1>;
qcom,tasha_codec = <1>;
qcom,ext-disp-audio-rx = <1>;
qcom,wcn-btfm = <1>;
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
qcom,audio-routing =
"MADINPUT", "MCLK",
"AMIC2", "MIC BIAS2",
"AMIC3", "MIC BIAS2",
"AMIC4", "MIC BIAS2",
"AMIC5", "MIC BIAS3",
"MIC BIAS3", "Handset Mic",
"DMIC0", "MIC BIAS1",
"MIC BIAS1", "Digital Mic0",
"DMIC1", "MIC BIAS1",
"MIC BIAS1", "Digital Mic1",
"DMIC2", "MIC BIAS3",
"MIC BIAS3", "Digital Mic2",
"DMIC3", "MIC BIAS3",
"MIC BIAS3", "Digital Mic3",
"DMIC4", "MIC BIAS4",
"MIC BIAS4", "Digital Mic4",
"DMIC5", "MIC BIAS4",
"MIC BIAS4", "Digital Mic5",
"SpkrLeft IN", "SPK1 OUT",
"SpkrRight IN", "SPK2 OUT";
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-cpe-lsm",
"msm-compr-dsp", "msm-pcm-dsp-noirq";
asoc-cpu = <&dai_hdmi>, <&dai_dp>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
<&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
<&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>,
<&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
<&wsa_cdc_dma_2_tx>, <&va_cdc_dma_0_tx>,
<&va_cdc_dma_1_tx>;
asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
"msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
"msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
"msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394",
"msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398",
"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
"msm-dai-q6-cdc-dma-dev.45056",
"msm-dai-q6-cdc-dma-dev.45057",
"msm-dai-q6-cdc-dma-dev.45058",
"msm-dai-q6-cdc-dma-dev.45059",
"msm-dai-q6-cdc-dma-dev.45061",
"msm-dai-q6-cdc-dma-dev.45089",
"msm-dai-q6-cdc-dma-dev.45091";
asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>,
<&bolero>;;
asoc-codec-names = "msm-stub-codec.1",
"msm-ext-disp-audio-codec-rx",
"bolero_codec";
qcom,wsa-max-devs = <2>;
qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
<&wsa881x_0213>, <&wsa881x_0214>;
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
"SpkrLeft", "SpkrRight";
qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>,
<&cdc_dmic56_gpios>, <&cdc_dmic78_gpios>;
};
* SM6150 ASoC Machine driver
Required properties:
- compatible : "qcom,sm6150-asoc-snd".
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
- qcom,codec-aux-devs: This is phandle list containing the references to Auxilary
codec devices.
Optional properties:
- qcom,msm-mi2s-master: This property is used to inform machine driver
if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target
- qcom,tavil_codec : Property to specify if Tavil codec is used for this target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,msm_audio_ssr_devs: List the snd event framework clients
Example:
sm6150_snd: sound {
status = "okay";
compatible = "qcom,sm6150-asoc-snd";
qcom,ext-disp-audio-rx = <1>;
qcom,wcn-btfm = <1>;
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-compr-dsp",
"msm-pcm-dsp-noirq";
asoc-cpu = <&dai_dp>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_pri_auxpcm>,
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
<&dai_quat_auxpcm>, <&dai_quin_auxpcm>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>,
<&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, <&sb_8_rx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>,
<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
<&wsa_cdc_dma_2_tx>,
<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
<&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>,
<&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>,
<&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>,
<&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>,
<&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>,
<&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>,
<&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>;
asoc-cpu-names = "msm-dai-q6-dp.24608",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
"msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5",
"msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16398",
"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
"msm-dai-q6-dev.16400",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
"msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929",
"msm-dai-cdc-dma-dev.45056",
"msm-dai-cdc-dma-dev.45057",
"msm-dai-cdc-dma-dev.45058",
"msm-dai-cdc-dma-dev.45059",
"msm-dai-cdc-dma-dev.45061",
"msm-dai-cdc-dma-dev.45089",
"msm-dai-cdc-dma-dev.45091",
"msm-dai-cdc-dma-dev.45120",
"msm-dai-cdc-dma-dev.45121",
"msm-dai-cdc-dma-dev.45122",
"msm-dai-cdc-dma-dev.45123",
"msm-dai-cdc-dma-dev.45124",
"msm-dai-cdc-dma-dev.45125",
"msm-dai-cdc-dma-dev.45126",
"msm-dai-cdc-dma-dev.45127",
"msm-dai-cdc-dma-dev.45128",
"msm-dai-cdc-dma-dev.45129",
"msm-dai-cdc-dma-dev.45130",
"msm-dai-cdc-dma-dev.45131",
"msm-dai-cdc-dma-dev.45133",
"msm-dai-cdc-dma-dev.45135";
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
qcom,msm-mbhc-hphl-swh = <1>;
qcom,msm-mbhc-gnd-swh = <1>;
qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>;
asoc-codec = <&stub_codec>, <&bolero>,
<&ext_disp_audio_codec>;
asoc-codec-names = "msm-stub-codec.1", "bolero-codec",
"msm-ext-disp-audio-codec-rx";
qcom,wsa-max-devs = <2>;
qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
<&wsa881x_0213>, <&wsa881x_0214>;
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
"SpkrLeft", "SpkrRight";
qcom,codec-aux-devs = <&wcd937x_codec>;
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>;
};
};
* SA8155 ASoC Machine driver
Required properties:
- compatible : "qcom,sa8155-asoc-snd-auto" for auto adp codec and
"qcom,sa8155-asoc-snd-auto-custom" for auto custom codec.
- qcom,model : The user-visible name of this sound card.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
Optional properties:
- qcom,mi2s-audio-intf : Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf : Property to specify if AUX PCM interface is used for the target
- qcom,msm-mi2s-master : List of master/slave configuration for MI2S interfaces
Example:
sound-adp-star {
compatible = "qcom,sa8155-asoc-snd-adp-star";
qcom,model = "sa8155-adp-star-snd-card";
qcom,mi2s-audio-intf;
qcom,auxpcm-audio-intf;
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&pcm_noirq>, <&loopback1>, <&pcm_dtmf>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-compr-dsp",
"msm-pcm-dsp-noirq", "msm-pcm-loopback.1",
"msm-pcm-dtmf";
asoc-cpu = <&dai_hdmi>, <&dai_dp>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_pri_auxpcm>,
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
<&dai_quat_auxpcm>, <&dai_quin_auxpcm>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_rx_1>,
<&dai_pri_tdm_rx_2>, <&dai_pri_tdm_rx_3>,
<&dai_pri_tdm_tx_0>, <&dai_pri_tdm_tx_1>,
<&dai_pri_tdm_tx_2>, <&dai_pri_tdm_tx_3>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_rx_1>,
<&dai_sec_tdm_rx_2>, <&dai_sec_tdm_rx_3>,
<&dai_sec_tdm_tx_0>, <&dai_sec_tdm_tx_1>,
<&dai_sec_tdm_tx_2>, <&dai_sec_tdm_tx_3>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>,
<&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>,
<&dai_tert_tdm_rx_4>, <&dai_tert_tdm_tx_0>,
<&dai_tert_tdm_tx_1>, <&dai_tert_tdm_tx_2>,
<&dai_tert_tdm_tx_3>, <&dai_quat_tdm_rx_0>,
<&dai_quat_tdm_rx_1>, <&dai_quat_tdm_rx_2>,
<&dai_quat_tdm_rx_3>, <&dai_quat_tdm_tx_0>,
<&dai_quat_tdm_tx_1>, <&dai_quat_tdm_tx_2>,
<&dai_quat_tdm_tx_3>, <&dai_quin_tdm_rx_0>,
<&dai_quin_tdm_rx_1>, <&dai_quin_tdm_rx_2>,
<&dai_quin_tdm_rx_3>, <&dai_quin_tdm_tx_0>,
<&dai_quin_tdm_tx_1>, <&dai_quin_tdm_tx_2>,
<&dai_quin_tdm_tx_3>;
asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
"msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5",
"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
"msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
"msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36866",
"msm-dai-q6-tdm.36868", "msm-dai-q6-tdm.36870",
"msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36867",
"msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36871",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36882",
"msm-dai-q6-tdm.36884", "msm-dai-q6-tdm.36886",
"msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36883",
"msm-dai-q6-tdm.36885", "msm-dai-q6-tdm.36887",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898",
"msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902",
"msm-dai-q6-tdm.36904", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36899", "msm-dai-q6-tdm.36901",
"msm-dai-q6-tdm.36903", "msm-dai-q6-tdm.36912",
"msm-dai-q6-tdm.36914", "msm-dai-q6-tdm.36916",
"msm-dai-q6-tdm.36918", "msm-dai-q6-tdm.36913",
"msm-dai-q6-tdm.36915", "msm-dai-q6-tdm.36917",
"msm-dai-q6-tdm.36919", "msm-dai-q6-tdm.36928",
"msm-dai-q6-tdm.36930", "msm-dai-q6-tdm.36932",
"msm-dai-q6-tdm.36934", "msm-dai-q6-tdm.36929",
"msm-dai-q6-tdm.36931", "msm-dai-q6-tdm.36933",
"msm-dai-q6-tdm.36935";
asoc-codec = <&stub_codec>;
asoc-codec-names = "msm-stub-codec.1";
};
* BENGAL ASoC Machine driver
Required properties:
- compatible : "qcom,bengal-asoc-snd".
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
- qcom,codec-aux-devs: This is phandle list containing the references to Auxilary
codec devices.
Optional properties:
- qcom,msm-mi2s-master: This property is used to inform machine driver
if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,msm_audio_ssr_devs: List the snd event framework clients
- qcom,afe-rxtx-lb: AFE RX to TX loopback.
- qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio
- qcom,va-bolero-codec: Property to specify VA macro supported.
- qcom,rxtx-bolero-codec: Property to specify RX-TX macros supported.
- qcom,wsa-bolero-codec: Property to specify WSA macro supported.
Example:
bengal_snd: sound {
status = "okay";
compatible = "qcom,bengal-asoc-snd";
qcom,wcn-btfm = <1>;
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,afe-rxtx-lb = <1>;
qcom,va-bolero-codec = <1>;
qcom,rxtx-bolero-codec = <1>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-compr-dsp",
"msm-pcm-dsp-noirq";
asoc-cpu = <&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_pri_auxpcm>,
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
<&dai_quat_auxpcm>, <&dai_quin_auxpcm>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>,
<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
<&wsa_cdc_dma_2_tx>,
<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
<&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>,
<&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>,
<&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>,
<&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>,
<&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>,
<&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>,
<&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>;
asoc-cpu-names = "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
"msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5",
"msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16398",
"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
"msm-dai-q6-dev.16400",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
"msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929",
"msm-dai-cdc-dma-dev.45056",
"msm-dai-cdc-dma-dev.45057",
"msm-dai-cdc-dma-dev.45058",
"msm-dai-cdc-dma-dev.45059",
"msm-dai-cdc-dma-dev.45061",
"msm-dai-cdc-dma-dev.45089",
"msm-dai-cdc-dma-dev.45091",
"msm-dai-cdc-dma-dev.45120",
"msm-dai-cdc-dma-dev.45121",
"msm-dai-cdc-dma-dev.45122",
"msm-dai-cdc-dma-dev.45123",
"msm-dai-cdc-dma-dev.45124",
"msm-dai-cdc-dma-dev.45125",
"msm-dai-cdc-dma-dev.45126",
"msm-dai-cdc-dma-dev.45127",
"msm-dai-cdc-dma-dev.45128",
"msm-dai-cdc-dma-dev.45129",
"msm-dai-cdc-dma-dev.45130",
"msm-dai-cdc-dma-dev.45131",
"msm-dai-cdc-dma-dev.45133",
"msm-dai-cdc-dma-dev.45135";
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
qcom,msm-mbhc-hphl-swh = <1>;
qcom,msm-mbhc-gnd-swh = <1>;
qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>;
asoc-codec = <&stub_codec>, <&bolero>;
asoc-codec-names = "msm-stub-codec.1", "bolero-codec";
qcom,wsa-max-devs = <1>;
qcom,wsa-devs = <&wsa881x_i2c_f>;
qcom,wsa-aux-dev-prefix = "SpkrMono";
qcom,codec-aux-devs = <&wcd937x_codec>;
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>;
};
* KONA ASoC Machine driver
Required properties:
- compatible : "qcom,kona-asoc-snd".
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
- qcom,codec-aux-devs: This is phandle list containing the references to Auxilary
codec devices.
Optional properties:
- qcom,msm-mi2s-master: This property is used to inform machine driver
if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,msm_audio_ssr_devs: List the snd event framework clients
- qcom,afe-rxtx-lb: AFE RX to TX loopback.
- qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio
Example:
kona_snd: sound {
status = "okay";
compatible = "qcom,kona-asoc-snd";
qcom,ext-disp-audio-rx = <1>;
qcom,wcn-btfm = <1>;
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,afe-rxtx-lb = <1>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-compr-dsp",
"msm-pcm-dsp-noirq";
asoc-cpu = <&dai_dp>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_pri_auxpcm>,
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
<&dai_quat_auxpcm>, <&dai_quin_auxpcm>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>,
<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
<&wsa_cdc_dma_2_tx>,
<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
<&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>,
<&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>,
<&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>,
<&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>,
<&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>,
<&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>,
<&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>;
asoc-cpu-names = "msm-dai-q6-dp.24608",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
"msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5",
"msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16398",
"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
"msm-dai-q6-dev.16400",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
"msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929",
"msm-dai-cdc-dma-dev.45056",
"msm-dai-cdc-dma-dev.45057",
"msm-dai-cdc-dma-dev.45058",
"msm-dai-cdc-dma-dev.45059",
"msm-dai-cdc-dma-dev.45061",
"msm-dai-cdc-dma-dev.45089",
"msm-dai-cdc-dma-dev.45091",
"msm-dai-cdc-dma-dev.45120",
"msm-dai-cdc-dma-dev.45121",
"msm-dai-cdc-dma-dev.45122",
"msm-dai-cdc-dma-dev.45123",
"msm-dai-cdc-dma-dev.45124",
"msm-dai-cdc-dma-dev.45125",
"msm-dai-cdc-dma-dev.45126",
"msm-dai-cdc-dma-dev.45127",
"msm-dai-cdc-dma-dev.45128",
"msm-dai-cdc-dma-dev.45129",
"msm-dai-cdc-dma-dev.45130",
"msm-dai-cdc-dma-dev.45131",
"msm-dai-cdc-dma-dev.45133",
"msm-dai-cdc-dma-dev.45135";
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
qcom,msm-mbhc-hphl-swh = <1>;
qcom,msm-mbhc-gnd-swh = <1>;
qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>;
asoc-codec = <&stub_codec>, <&bolero>,
<&ext_disp_audio_codec>;
asoc-codec-names = "msm-stub-codec.1", "bolero-codec",
"msm-ext-disp-audio-codec-rx";
qcom,wsa-max-devs = <2>;
qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
<&wsa881x_0213>, <&wsa881x_0214>;
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
"SpkrLeft", "SpkrRight";
qcom,codec-aux-devs = <&wcd937x_codec>;
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>;
};
* voice-mhi-audio
Required properties:
- compatible : "qcom,voice-mhi-audio"
- memory-region : CMA region owned by this device
Optional properties:
- voice_mhi_voting : Property that defines whether voting is needed or not for this device
Example:
qcom,voice-mhi-audio {
compatible = "qcom,voice-mhi-audio";
memory-region = <&mailbox_mem>;
voice_mhi_voting;
};
};
* LAHAINA ASoC Machine driver
Required properties:
- compatible : "qcom,lahaina-asoc-snd".
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
- qcom,codec-aux-devs: This is phandle list containing the references to Auxilary
codec devices.
Optional properties:
- qcom,msm-mi2s-master: This property is used to inform machine driver
if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,msm_audio_ssr_devs: List the snd event framework clients
- qcom,afe-rxtx-lb: AFE RX to TX loopback.
- qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio
- qcom,wcd-disabled : Property to specify if wcd codec is disabled for the target
Example:
lahaina_snd: sound {
compatible = "qcom,lahaina-asoc-snd";
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,wcn-bt = <0>;
qcom,ext-disp-audio-rx = <0>;
qcom,afe-rxtx-lb = <0>;
qcom,wcd-disabled = <0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-compr-dsp",
"msm-pcm-dsp-noirq";
asoc-cpu = <&dai_dp>, <&dai_dp1>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_mi2s5>, <&dai_pri_auxpcm>,
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
<&dai_quat_auxpcm>, <&dai_quin_auxpcm>,
<&dai_sen_auxpcm>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&sb_7_rx>, <&sb_7_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>,
<&dai_sen_tdm_rx_0>, <&dai_sen_tdm_tx_0>,
<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
<&wsa_cdc_dma_2_tx>,
<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
<&va_cdc_dma_2_tx>,
<&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>,
<&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>,
<&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>,
<&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>,
<&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>,
<&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>,
<&rx_cdc_dma_6_rx>, <&rx_cdc_dma_7_rx>,
<&afe_loopback_tx>;
asoc-cpu-names = "msm-dai-q6-dp.0", "msm-dai-q6-dp.1",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.5",
"msm-dai-q6-auxpcm.1",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
"msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5",
"msm-dai-q6-auxpcm.6", "msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
"msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929",
"msm-dai-q6-tdm.36944", "msm-dai-q6-tdm.36945",
"msm-dai-cdc-dma-dev.45056",
"msm-dai-cdc-dma-dev.45057",
"msm-dai-cdc-dma-dev.45058",
"msm-dai-cdc-dma-dev.45059",
"msm-dai-cdc-dma-dev.45061",
"msm-dai-cdc-dma-dev.45089",
"msm-dai-cdc-dma-dev.45091",
"msm-dai-cdc-dma-dev.45093",
"msm-dai-cdc-dma-dev.45104",
"msm-dai-cdc-dma-dev.45105",
"msm-dai-cdc-dma-dev.45106",
"msm-dai-cdc-dma-dev.45107",
"msm-dai-cdc-dma-dev.45108",
"msm-dai-cdc-dma-dev.45109",
"msm-dai-cdc-dma-dev.45110",
"msm-dai-cdc-dma-dev.45111",
"msm-dai-cdc-dma-dev.45112",
"msm-dai-cdc-dma-dev.45113",
"msm-dai-cdc-dma-dev.45114",
"msm-dai-cdc-dma-dev.45115",
"msm-dai-cdc-dma-dev.45116",
"msm-dai-cdc-dma-dev.45118",
"msm-dai-q6-dev.24577";
fsa4480-i2c-handle = <&fsa4480>;
};
};
* HOLI ASoC Machine driver
Required properties:
- compatible : "qcom,holi-asoc-snd".
>>>>>>> kernel.lnx.5.4-200915
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
- qcom,codec-aux-devs: This is phandle list containing the references to Auxilary
codec devices.
Optional properties:
- qcom,msm-mi2s-master: This property is used to inform machine driver
if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,msm_audio_ssr_devs: List the snd event framework clients
- qcom,afe-rxtx-lb: AFE RX to TX loopback.
- qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio
Example:
holi_snd: sound {
compatible = "qcom,holi-asoc-snd";
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,wcn-bt = <0>;
qcom,afe-rxtx-lb = <0>;
qcom,is-wcd937x-codec = <1>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-compr-dsp",
"msm-pcm-dsp-noirq";
asoc-cpu = <&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_pri_auxpcm>,
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
<&dai_quat_auxpcm>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>,
<&afe_proxy_tx_1>,
<&proxy_rx>, <&proxy_tx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&sb_7_rx>, <&sb_7_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
<&va_cdc_dma_2_tx>,
<&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>,
<&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>,
<&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>,
<&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>,
<&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>,
<&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>,
<&rx_cdc_dma_7_rx>,<&afe_loopback_tx>;
asoc-cpu-names = "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-auxpcm.1",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
"msm-dai-q6-auxpcm.4",
"msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770",
"msm-dai-q6-dev.242",
"msm-dai-q6-dev.8194", "msm-dai-q6-dev.8195",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
"msm-dai-cdc-dma-dev.45089",
"msm-dai-cdc-dma-dev.45091",
"msm-dai-cdc-dma-dev.45093",
"msm-dai-cdc-dma-dev.45104",
"msm-dai-cdc-dma-dev.45105",
"msm-dai-cdc-dma-dev.45106",
"msm-dai-cdc-dma-dev.45107",
"msm-dai-cdc-dma-dev.45108",
"msm-dai-cdc-dma-dev.45109",
"msm-dai-cdc-dma-dev.45110",
"msm-dai-cdc-dma-dev.45111",
"msm-dai-cdc-dma-dev.45112",
"msm-dai-cdc-dma-dev.45113",
"msm-dai-cdc-dma-dev.45114",
"msm-dai-cdc-dma-dev.45115",
"msm-dai-cdc-dma-dev.45118",
"msm-dai-q6-dev.24577";
};
};
* Waipio ASoC Machine driver
Required properties:
- compatible : "qcom,waipio-asoc-snd".
- compatible : "qcom,waipio-asoc-snd-stub" for waipio rumi target.
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
- qcom,codec-aux-devs: This is phandle list containing the references to Auxilary
codec devices.
Optional properties:
- qcom,msm-mi2s-master: This property is used to inform machine driver
if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,tdm-clk-attribute: This property is used to set the clock attribute for tdm.
The first entry is primary tdm; the second entry is secondary tdm, and so on.
- qcom,mi2s-clk-attribute: This property is used to set the clock attribute for mi2s.
The first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,msm_audio_ssr_devs: List the snd event framework clients
- qcom,afe-rxtx-lb: AFE RX to TX loopback.
- qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio
Example:
waipio_snd: sound {
compatible = "qcom,waipio-asoc-snd";
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,tdm-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>;
qcom,mi2s-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>;
qcom,wcn-bt = <0>;
qcom,ext-disp-audio-rx = <0>;
qcom,afe-rxtx-lb = <0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-compr-dsp",
"msm-pcm-dsp-noirq";
asoc-cpu = <&dai_dp>, <&dai_dp1>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_mi2s5>, <&dai_pri_auxpcm>,
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
<&dai_quat_auxpcm>, <&dai_quin_auxpcm>,
<&dai_sen_auxpcm>,
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
<&afe_proxy_tx>, <&incall_record_rx>,
<&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>,
<&usb_audio_rx>, <&usb_audio_tx>,
<&sb_7_rx>, <&sb_7_tx>,
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>,
<&dai_sen_tdm_rx_0>, <&dai_sen_tdm_tx_0>,
<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
<&wsa_cdc_dma_2_tx>,
<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
<&va_cdc_dma_2_tx>,
<&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>,
<&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>,
<&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>,
<&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>,
<&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>,
<&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>,
<&rx_cdc_dma_6_rx>, <&rx_cdc_dma_7_rx>,
<&afe_loopback_tx>;
asoc-cpu-names = "msm-dai-q6-dp.0", "msm-dai-q6-dp.1",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.5",
"msm-dai-q6-auxpcm.1",
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
"msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5",
"msm-dai-q6-auxpcm.6", "msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770",
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
"msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399",
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
"msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929",
"msm-dai-q6-tdm.36944", "msm-dai-q6-tdm.36945",
"msm-dai-cdc-dma-dev.45056",
"msm-dai-cdc-dma-dev.45057",
"msm-dai-cdc-dma-dev.45058",
"msm-dai-cdc-dma-dev.45059",
"msm-dai-cdc-dma-dev.45061",
"msm-dai-cdc-dma-dev.45089",
"msm-dai-cdc-dma-dev.45091",
"msm-dai-cdc-dma-dev.45093",
"msm-dai-cdc-dma-dev.45104",
"msm-dai-cdc-dma-dev.45105",
"msm-dai-cdc-dma-dev.45106",
"msm-dai-cdc-dma-dev.45107",
"msm-dai-cdc-dma-dev.45108",
"msm-dai-cdc-dma-dev.45109",
"msm-dai-cdc-dma-dev.45110",
"msm-dai-cdc-dma-dev.45111",
"msm-dai-cdc-dma-dev.45112",
"msm-dai-cdc-dma-dev.45113",
"msm-dai-cdc-dma-dev.45114",
"msm-dai-cdc-dma-dev.45115",
"msm-dai-cdc-dma-dev.45116",
"msm-dai-cdc-dma-dev.45118",
"msm-dai-q6-dev.24577";
fsa4480-i2c-handle = <&fsa4480>;
};
};
* Kalama ASoC Machine driver
Required properties:
- compatible : "qcom,kalama-asoc-snd".
- compatible : "qcom,kalama-asoc-snd-stub" for kalama rumi target.
- qcom,model : The user-visible name of this sound card.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-codec: This is phandle list containing the references to codec dai device
nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
codec dai names should match to that of the phandle order given
in "asoc-codec".
Optional properties:
- asoc-platform: This is phandle list containing the references to platform device
nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
the platform names should match to that of the phandle order
given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
cpu dai names should match to that of the phandle order given
in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
where the id (%d) field represents the back-end AFE port id that
this CPU dai is associated with.
- qcom,msm-mi2s-master: This property is used to inform machine driver
if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,tdm-clk-attribute: This property is used to set the clock attribute for tdm.
The first entry is primary tdm; the second entry is secondary tdm, and so on.
- qcom,mi2s-clk-attribute: This property is used to set the clock attribute for mi2s.
The first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,codec-aux-devs: This is phandle list containing the references to Auxilary
codec devices.
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
- qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target
- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
- qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target
- qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target
- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
- qcom,msm_audio_ssr_devs: List the snd event framework clients
- qcom,afe-rxtx-lb: AFE RX to TX loopback.
- qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio
Example:
kalama_snd: sound {
compatible = "qcom,kalama-asoc-snd";
qcom,mi2s-audio-intf = <1>;
qcom,auxpcm-audio-intf = <1>;
qcom,tdm-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>;
qcom,mi2s-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>;
qcom,wcn-bt = <0>;
qcom,ext-disp-audio-rx = <0>;
qcom,afe-rxtx-lb = <0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
asoc-codec = <&stub_codec>, <&lpass_cdc>,
<&wcd938x_codec>, <&swr_haptics>,
<&wsa884x_0220>, <&wsa884x_0221>;
asoc-codec-names = "msm-stub-codec.1", "lpass-cdc",
"wcd938x_codec", "swr-haptics",
"wsa-codec1", "wsa-codec2";
};
};
Required properties:
- compatible : "qcom,spf-core-platform"
Required properties:
- compatible : "qcom,audio-pkt-core-platform"
Required properties:
- compatible : "qcom,swr-wcd"
Required properties:
- compatible : "qcom,tavil-i2c"
Required properties:
- compatible : "qcom,wcd-pinctrl"
Required properties:
- compatible : "qcom,gpr"
Required properties:
- compatible : "qcom,spf_core"
Required properties:
- compatible : "qcom,audio-pkt"
Required properties:
- compatible : "qcom,audio_prm"