721 lines
21 KiB
Plaintext
721 lines
21 KiB
Plaintext
|
Qualcomm 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.
|
||
|
|
||
|
* 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-voip-dsp
|
||
|
|
||
|
Required properties:
|
||
|
|
||
|
- compatible : "qcom,msm-voip-dsp"
|
||
|
|
||
|
* msm-pcm-voice
|
||
|
|
||
|
Required properties:
|
||
|
|
||
|
- compatible : "qcom,msm-pcm-voice"
|
||
|
|
||
|
* msm-voice-host-pcm
|
||
|
|
||
|
Required properties:
|
||
|
|
||
|
- compatible : "qcom,msm-voice-host-pcm"
|
||
|
|
||
|
* msm-stub-codec
|
||
|
|
||
|
Required properties:
|
||
|
|
||
|
- compatible : "qcom,msm-stub-codec"
|
||
|
|
||
|
* 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
|
||
|
|
||
|
Required properties:
|
||
|
|
||
|
- compatible : "qcom,msm-dai-stub"
|
||
|
- qcom,msm-dai-stub : This enables stub CPU dai in Audio.
|
||
|
The stub dai is used when there is no real backend in Audio.
|
||
|
|
||
|
* 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-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 16393
|
||
|
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
|
||
|
|
||
|
* msm-auxpcm
|
||
|
|
||
|
[First Level Nodes]
|
||
|
|
||
|
Required properties:
|
||
|
|
||
|
- compatible : "qcom,msm-auxpcm-resource"
|
||
|
|
||
|
- qcom,msm-cpudai-auxpcm-clk: clock for auxpcm. The first value is
|
||
|
for 8khz mode, the second is for
|
||
|
16khz
|
||
|
|
||
|
- 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-slot: Slot number for multichannel scenario
|
||
|
The first value is for 8khz mode the
|
||
|
second is for 16khz
|
||
|
Value is 1
|
||
|
|
||
|
- 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 auxpcm
|
||
|
|
||
|
[Second Level Nodes]
|
||
|
|
||
|
Required Properties:
|
||
|
|
||
|
- qcom,msm-auxpcm-dev-id: This property specifies the device
|
||
|
port id.
|
||
|
For Rx device, the port id is 4106
|
||
|
and for Tx device, the port id is 4107
|
||
|
|
||
|
- compatible: "qcom,msm-auxpcm-dev"
|
||
|
|
||
|
* msm-pcm-hostless
|
||
|
|
||
|
Required properties:
|
||
|
|
||
|
- compatible : "qcom,msm-pcm-hostless"
|
||
|
|
||
|
* 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
|
||
|
|
||
|
- interrupts : Interrupt number on the parent
|
||
|
interrupt controller
|
||
|
|
||
|
- interrupt-names : Name of interrupt on the parent
|
||
|
interrupt controller
|
||
|
|
||
|
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-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-voip-dsp {
|
||
|
compatible = "qcom,msm-voip-dsp";
|
||
|
};
|
||
|
|
||
|
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-hdmi {
|
||
|
compatible = "qcom,msm-dai-q6-hdmi";
|
||
|
qcom,msm-dai-q6-dev-id = <8>;
|
||
|
};
|
||
|
|
||
|
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-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-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-auxpcm {
|
||
|
compatible = "qcom,msm-auxpcm-resource";
|
||
|
qcom,msm-cpudai-auxpcm-clk = "pcm_clk";
|
||
|
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
|
||
|
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-slot = <1>, <1>;
|
||
|
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
|
||
|
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
|
||
|
|
||
|
qcom,msm-prim-auxpcm-rx {
|
||
|
qcom,msm-auxpcm-dev-id = <4106>;
|
||
|
compatible = "qcom,msm-auxpcm-dev";
|
||
|
};
|
||
|
|
||
|
qcom,msm-prim-auxpcm-tx {
|
||
|
qcom,msm-auxpcm-dev-id = <4107>;
|
||
|
compatible = "qcom,msm-auxpcm-dev";
|
||
|
};
|
||
|
|
||
|
qcom,msm-sec-auxpcm-rx {
|
||
|
qcom,msm-auxpcm-dev-id = <4108>;
|
||
|
compatible = "qcom,msm-auxpcm-dev";
|
||
|
};
|
||
|
|
||
|
qcom,msm-sec-auxpcm-tx {
|
||
|
qcom,msm-auxpcm-dev-id = <4109>;
|
||
|
compatible = "qcom,msm-auxpcm-dev";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
qcom,msm-pcm-hostless {
|
||
|
compatible = "qcom,msm-pcm-hostless";
|
||
|
};
|
||
|
|
||
|
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";
|
||
|
};
|
||
|
|
||
|
* MSM8974 ASoC Machine driver
|
||
|
|
||
|
Required properties:
|
||
|
- compatible : "qcom,msm8974-audio-taiko"
|
||
|
- qcom,model : The user-visible name of this sound card.
|
||
|
- qcom,audio-routing : A list of the connections between audio components.
|
||
|
Each entry is a pair of strings, the first being the connection's sink,
|
||
|
the second being the connection's source.
|
||
|
- qcom,cdc-mclk-gpios : GPIO on which mclk signal is comming.
|
||
|
- qcom,taiko-mclk-clk-freq : Taiko mclk Freq in Hz. currently only 9600000Hz
|
||
|
is supported.
|
||
|
- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
|
||
|
Possible Values:
|
||
|
prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S
|
||
|
prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S
|
||
|
- qcom,sec-auxpcm-gpio-clk : GPIO on which Secondary AUXPCM clk signal is coming.
|
||
|
- qcom,sec-auxpcm-gpio-sync : GPIO on which Secondary AUXPCM SYNC signal is coming.
|
||
|
- qcom,sec-auxpcm-gpio-din : GPIO on which Secondary AUXPCM DIN signal is coming.
|
||
|
- qcom,sec-auxpcm-gpio-dout : GPIO on which Secondary AUXPCM DOUT signal is coming.
|
||
|
- qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
|
||
|
Optional properties:
|
||
|
- qcom,hdmi-audio-rx: specifies if HDMI audio support is enabled or not.
|
||
|
- qcom,ext-ult-spk-amp-gpio : GPIO for enabling of speaker path amplifier.
|
||
|
|
||
|
- qcom,ext-ult-lo-amp-gpio: GPIO to enable external ultrasound lineout
|
||
|
amplifier.
|
||
|
|
||
|
- qcom,headset-jack-type-NO: Adjust GPIO level based on the headset jack type.
|
||
|
|
||
|
|
||
|
* APQ8074 ASoC Machine driver
|
||
|
|
||
|
Required properties:
|
||
|
- compatible : "qcom,apq8074-audio-taiko"
|
||
|
|
||
|
Example:
|
||
|
|
||
|
sound {
|
||
|
compatible = "qcom,msm8974-audio-taiko";
|
||
|
qcom,model = "msm8974-taiko-snd-card";
|
||
|
|
||
|
qcom,audio-routing =
|
||
|
"RX_BIAS", "MCLK",
|
||
|
"LDO_H", "MCLK",
|
||
|
"HEADPHONE", "LDO_H",
|
||
|
"Ext Spk Bottom Pos", "LINEOUT1",
|
||
|
"Ext Spk Bottom Neg", "LINEOUT3",
|
||
|
"Ext Spk Top Pos", "LINEOUT2",
|
||
|
"Ext Spk Top Neg", "LINEOUT4",
|
||
|
"AMIC1", "MIC BIAS1 Internal1",
|
||
|
"MIC BIAS1 Internal1", "Handset Mic",
|
||
|
"AMIC2", "MIC BIAS2 External",
|
||
|
"MIC BIAS2 External", "Headset Mic",
|
||
|
"AMIC3", "MIC BIAS3 Internal1",
|
||
|
"MIC BIAS3 Internal1", "ANCRight Headset Mic",
|
||
|
"AMIC4", "MIC BIAS1 Internal2",
|
||
|
"MIC BIAS1 Internal2", "ANCLeft Headset Mic",
|
||
|
"DMIC1", "MIC BIAS1 External",
|
||
|
"MIC BIAS1 External", "Digital Mic1",
|
||
|
"DMIC2", "MIC BIAS1 External",
|
||
|
"MIC BIAS1 External", "Digital Mic2",
|
||
|
"DMIC3", "MIC BIAS3 External",
|
||
|
"MIC BIAS3 External", "Digital Mic3",
|
||
|
"DMIC4", "MIC BIAS3 External",
|
||
|
"MIC BIAS3 External", "Digital Mic4",
|
||
|
"DMIC5", "MIC BIAS4 External",
|
||
|
"MIC BIAS4 External", "Digital Mic5",
|
||
|
"DMIC6", "MIC BIAS4 External",
|
||
|
"MIC BIAS4 External", "Digital Mic6";
|
||
|
|
||
|
qcom,cdc-mclk-gpios = <&pm8941_gpios 15 0>;
|
||
|
qcom,taiko-mclk-clk-freq = <9600000>;
|
||
|
qcom,us-euro-gpios = <&pm8941_gpios 20 0>;
|
||
|
|
||
|
qcom,hdmi-audio-rx;
|
||
|
qcom,ext-ult-lo-amp-gpio = <&pm8941_gpios 6 0>;
|
||
|
|
||
|
qcom,prim-auxpcm-gpio-clk = <&msmgpio 65 0>;
|
||
|
qcom,prim-auxpcm-gpio-sync = <&msmgpio 66 0>;
|
||
|
qcom,prim-auxpcm-gpio-din = <&msmgpio 67 0>;
|
||
|
qcom,prim-auxpcm-gpio-dout = <&msmgpio 68 0>;
|
||
|
qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
|
||
|
qcom,sec-auxpcm-gpio-clk = <&msmgpio 79 0>;
|
||
|
qcom,sec-auxpcm-gpio-sync = <&msmgpio 80 0>;
|
||
|
qcom,sec-auxpcm-gpio-din = <&msmgpio 81 0>;
|
||
|
qcom,sec-auxpcm-gpio-dout = <&msmgpio 82 0>;
|
||
|
};
|
||
|
|
||
|
* 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.
|
||
|
|
||
|
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>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
* MSM9625 ASoC Machine driver
|
||
|
|
||
|
Required properties:
|
||
|
- compatible : "qcom,mdm9625-audio-taiko"
|
||
|
- qcom,model : The user-visible name of this sound card.
|
||
|
- qcom,audio-routing : A list of the connections between audio components.
|
||
|
Each entry is a pair of strings, the first being the connection's sink,
|
||
|
the second being the connection's source.
|
||
|
- qcom,taiko-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX
|
||
|
codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz.
|
||
|
This element represents the value for MCLK provided to codec.
|
||
|
- prim-i2s-gpio-ws : Specifies gpio assigned for primary WS I2S pin.
|
||
|
- prim-i2s-gpio-din : Specifies gpio assigned for primary DIN I2S pin.
|
||
|
- prim-i2s-gpio-dout : Specifies gpio assigned for primary DOUT I2S pin.
|
||
|
- prim-i2s-gpio-sclk : Specifies gpio assigned for primary SCLK I2S pin.
|
||
|
- prim-i2s-gpio-mclk : Specifies gpio assigned for MCLK I2S pin.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
sound {
|
||
|
compatible = "qcom,mdm9625-audio-taiko";
|
||
|
qcom,model = "mdm9625-taiko-i2s-snd-card";
|
||
|
|
||
|
qcom,audio-routing =
|
||
|
"RX_BIAS", "MCLK",
|
||
|
"LDO_H", "MCLK",
|
||
|
"Ext Spk Bottom Pos", "LINEOUT1",
|
||
|
"Ext Spk Bottom Neg", "LINEOUT3",
|
||
|
"Ext Spk Top Pos", "LINEOUT2",
|
||
|
"Ext Spk Top Neg", "LINEOUT4",
|
||
|
"AMIC1", "MIC BIAS1 External",
|
||
|
"MIC BIAS1 External", "Handset Mic",
|
||
|
"AMIC2", "MIC BIAS2 External",
|
||
|
"MIC BIAS2 External", "Headset Mic",
|
||
|
"AMIC3", "MIC BIAS3 Internal1",
|
||
|
"MIC BIAS3 Internal1", "ANCRight Headset Mic",
|
||
|
"AMIC4", "MIC BIAS1 Internal2",
|
||
|
"MIC BIAS1 Internal2", "ANCLeft Headset Mic",
|
||
|
"DMIC1", "MIC BIAS1 External",
|
||
|
"MIC BIAS1 External", "Digital Mic1",
|
||
|
"DMIC2", "MIC BIAS1 External",
|
||
|
"MIC BIAS1 External", "Digital Mic2",
|
||
|
"DMIC3", "MIC BIAS3 External",
|
||
|
"MIC BIAS3 External", "Digital Mic3",
|
||
|
"DMIC4", "MIC BIAS3 External",
|
||
|
"MIC BIAS3 External", "Digital Mic4",
|
||
|
"DMIC5", "MIC BIAS4 External",
|
||
|
"MIC BIAS4 External", "Digital Mic5",
|
||
|
"DMIC6", "MIC BIAS4 External",
|
||
|
"MIC BIAS4 External", "Digital Mic6";
|
||
|
qcom,taiko-mclk-clk-freq = <12288000>;
|
||
|
prim-i2s-gpio-ws = <&msmgpio 12 0>;
|
||
|
prim-i2s-gpio-din = <&msmgpio 13 0>;
|
||
|
prim-i2s-gpio-dout = <&msmgpio 14 0>;
|
||
|
prim-i2s-gpio-sclk = <&msmgpio 15 0>;
|
||
|
prim-i2s-gpio-mclk = <&msmgpio 71 0>;
|
||
|
};
|
||
|
|
||
|
* msm-adsp-loader
|
||
|
|
||
|
Required properties:
|
||
|
- compatible : "qcom,adsp-loader"
|
||
|
- 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 {
|
||
|
compatible = "qcom,adsp-loader";
|
||
|
qcom,adsp-state = <2>;
|
||
|
};
|
||
|
|
||
|
* msm-audio-ion
|
||
|
|
||
|
Required properties:
|
||
|
- compatible : "qcom,msm-audio-ion"
|
||
|
|
||
|
Optional properties:
|
||
|
- 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.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
qcom,msm-audio-ion {
|
||
|
compatible = "qcom,msm-audio-ion;
|
||
|
qcom,smmu-enabled;
|
||
|
};
|
||
|
|
||
|
* MSM8226 ASoC Machine driver
|
||
|
|
||
|
Required properties:
|
||
|
- compatible : "qcom,msm8226-audio-tapan"
|
||
|
- qcom,model : The user-visible name of this sound card.
|
||
|
- qcom,tapan-mclk-clk-freq : Tapan mclk Freq in Hz. currently only 9600000Hz
|
||
|
is supported.
|
||
|
- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
|
||
|
- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
|
||
|
Possible Values:
|
||
|
prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S
|
||
|
prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S
|
||
|
|
||
|
Optional Properties:
|
||
|
- qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
sound {
|
||
|
compatible = "qcom,msm8226-audio-tapan";
|
||
|
qcom,model = "msm8226-tapan-snd-card";
|
||
|
qcom,tapan-mclk-clk-freq = <9600000>;
|
||
|
qcom,prim-auxpcm-gpio-clk = <&msmgpio 63 0>;
|
||
|
qcom,prim-auxpcm-gpio-sync = <&msmgpio 64 0>;
|
||
|
qcom,prim-auxpcm-gpio-din = <&msmgpio 65 0>;
|
||
|
qcom,prim-auxpcm-gpio-dout = <&msmgpio 66 0>;
|
||
|
qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
|
||
|
qcom,cdc-us-euro-gpios = <&msmgpio 69 0>;
|
||
|
};
|