blob: 0f12b2c0f6a715d16c0143e946ae11350dd800bb [file] [log] [blame]
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.
- 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
* 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"
* 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
- qcom,vote-bms : Flag indicating whether to vote for BMS during
the call start and stop
* 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
[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"
* 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
* 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 auxpcm
- qcom,msm-auxpcm-interface: name of AUXPCM interface "primary"
indicates primary AUXPCM interface
"secondary" indicates secondary
AUXPCM interface
* 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
* audio_slimslave
Required properties:
- compatible : "qcom,audio-slimslave"
- elemental-addr: slimbus slave enumeration address.
* msm-cpe-lsm
Required properties:
- compatible : "qcom,msm-cpe-lsm"
* msm-dai-slim
Required properties:
- compatible : "qcom,msm-dai-slim"
- elemental-addr: slimbus slave enumeration address.
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-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-pcm-voice {
compatible = "qcom,msm-pcm-voice";
qcom,vote-bms;
};
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>;
};
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-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";
};
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";
};
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];
};
* MSM8916 ASoC Machine driver
Required properties:
- compatible : "qcom,msm8x16-audio-codec"
- qcom,model : The user-visible name of this sound card.
- qcom,msm-snd-card-id : This id is used to recognize the sound card number
- qcom,msm-codec-type : This property is used to recognize the codec type
internal or external.
- qcom,msm-hs-micbias-type : This property is used to recognize the headset
micbias type, internal or external.
- qcom,msm-ext-pa : This property is used to inform machine driver about
the connection of external PA over available MI2S interfaces,
following values can be given to this property.
primary -> Primary MI2S interface
secondary -> Secondary MI2S interface
tertiary -> Tertiary MI2S interface
quaternary -> Quaternary MI2S interface
- qcom,msm-mclk-freq : This property is used to inform machine driver about
mclk frequency needs to be configured for internal and external PA.
- 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,audio-routing : A list of the connections between audio components.
- pinctrl-names : Pincntrl entries to configure the PDM gpio lines and
cross connection switch gpio accordingly
- pinctrl-0 : This explains the active state of the PDM gpio lines
- pinctrl-1 : This explains the suspend state of the PDM gpio lines
- pinctrl-2 : This explains the active state of the cross connection
gpio lines
- pinctrl-3 : This explains the suspend state of the cross connection
gpio lines
- qcom,tapan-mclk-clk-freq : Tapan mclk Freq in Hz.
- 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
- qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio
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,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external
capacitor mode.
- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external
capacitor mode.
- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.
Example:
sound {
compatible = "qcom,msm8x16-audio-codec";
qcom,model = "msm8x16-snd-card";
qcom,msm-snd-card-id = <0>;
qcom,msm-codec-type = "internal";
qcom,msm-ext-pa = <0>;
qcom,msm-mclk-freq = <12288000>;
qcom,msm-mbhc-hphl-swh = <0>;
qcom,msm-mbhc-gnd-swh = <0>;
qcom,msm-hs-micbias-type = "internal";
qcom,cdc-us-euro-gpios = <&msmgpio 120 0>;
qcom,msm-spk-ext-pa = <&msm_gpio 0 0>;
qcom,audio-routing =
"RX_BIAS", "MCLK",
"INT_LDO_H", "MCLK",
"MIC BIAS External", "Handset Mic",
"MIC BIAS Internal2", "Headset Mic",
"MIC BIAS External", "Secondary Mic",
"AMIC1", "MIC BIAS External",
"AMIC2", "MIC BIAS Internal2",
"AMIC3", "MIC BIAS External";
pinctrl-names = "cdc_pdm_lines_act",
"cdc_pdm_lines_sus",
"cross_conn_det_act",
"cross_conn_det_sus";
pinctrl-0 = <&cdc_pdm_lines_act>;
pinctrl-1 = <&cdc_pdm_lines_sus>;
pinctrl-2 = <&cross_conn_det_act>;
pinctrl-3 = <&cross_conn_det_sus>;
qcom,tapan-mclk-clk-freq = <9600000>;
qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>;
qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>;
qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>;
qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>;
qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
qcom,tapan-codec-9302;
asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&lpa>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"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-pcm-lpa";
asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
<&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
<&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
<&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_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>;
asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
"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";
asoc-codec = <&stub>, <&pm8916_tombak_dig>;
asoc-codec-names = "msm-stub-codec.1", "tombak_codec";
};
* MSM8974 ASoC Machine driver
Required properties:
- compatible : "qcom,msm8974-audio-taiko"
- qcom,model : The user-visible name of this sound card.
- reg : Offset and length of the register region(s) for MI2S/PCM MUX
- reg-names : Register region name(s) referenced in reg above
Required register resource entries are:
"lpaif_pri_mode_muxsel": Physical address of MUX to select between
Primary PCM and Primary MI2S
"lpaif_sec_mode_muxsel": Physical address of MUX to select between
Secondary PCM and Secondary MI2S
"lpaif_tert_mode_muxsel": Physical address of MUX to select between
Primary PCM and Tertiary MI2S
"lpaif_quat_mode_muxsel": Physical address of MUX to select between
Secondary PCM and Quarternary MI2S
- 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.
- 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,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.
- qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio
codec.
- qcom,mbhc-bias-internal: Flag to indicate if internal micbias should be used
for headset detection.
- qcom,dock-plug-det-irq: Interrupt line to detect Docking/Undocking of Liquid
device
- qcom,ext-spk-rear-panel-irq: Interrupt line to detect rear panel speakers
jack for Dragon Board.
- qcom,ext-spk-front-panel-irq: Interrupt line to detect front panel speakers
jack for Dragon Board.
- qcom,ext-mic-front-panel-irq: Interrupt line to detect front panel microphone
jack for Dragon Board.
- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware.
Possible Values:
4-pole-jack : Jack on the hardware is 4-pole.
5-pole-jack : Jack on the hardware is 5-pole.
6-pole-jack : Jack on the hardware is 6-pole.
* 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,ext-mclk-gpio = <&msmgpio 47 0>;
qcom,dock-plug-det-irq = <&pm8841_mpps 2 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>;
qcom,mbhc-audio-jack-type = "4-pole-jack";
};
* 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.
Optional properties:
- qcom,proc-img-to-load;
This property can be used to override default ADSP
loading by PIL. Based on string input, different proc is
loaded. Right now we are adding option "modem"
for 8916 purpose. Default image will be "adsp" which
will load LPASS Q6 for other targets as expected.
"adsp" option need not be explicitly mentioned in
DTSI file, as it is default option.
Example:
qcom,msm-adsp-loader {
compatible = "qcom,adsp-loader";
qcom,adsp-state = <2>;
qcom,proc-img-to-load = "modem";
};
* 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,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- qcom,cdc-lineout-spkr-gpios : GPIO which controls external PAs to enable Lineout1/2 speaker
- qcom,cdc-vdd-spkr-gpios : GPIO which controls PA for VDD speaker
- qcom,headset-jack-type-NC: Set if the headset jack type is NC (Normally Closed)
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>;
qcom,cdc-lineout-spkr-gpios = <&pm8226_gpios 2 0>;
qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 3 0>;
};
* MSM8939 Slimbus ASoC Machine driver
Required properties:
- compatible : "qcom,msm8939-audio-codec"
- 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.
- pinctrl-states: the names of the pinctrl states that used by the driver to
configure the TLMM pins. The allowed states are subset of the following
list: "cdc_slim_lines_act", "cdc_slim_lines_sus",
"cross_conn_det_act","cross_conn_det_sus",
"cdc_vdd_spkr_act","cdc_vdd_spkr_sus";.
- pinctrl-#: a list of pinctrl phandles for the different pinctrl states. Refer
to "Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt" for the
pinctrl handles definitions. Each pinctrl-# corresponds to the respective
state name that appears under pinctrl-state list.
- 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,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- qcom,cdc-vdd-spkr-gpios : GPIO which controls PA for VDD speaker
- qcom,headset-jack-type-NC: Set if the headset jack type is NC (Normally Closed)
Example:
sound-9306 {
compatible = "qcom,msm8939-audio-codec";
qcom,model = "msm8939-tapan-snd-card";
qcom,tapan-mclk-clk-freq = <9600000>;
pinctrl-names = "cdc_slim_lines_act", "cdc_slim_lines_sus",
"cross_conn_det_act","cross_conn_det_sus",
"cdc_vdd_spkr_act","cdc_vdd_spkr_sus";
pinctrl-0 = <&cdc_slim_lines_act>;
pinctrl-1 = <&cdc_slim_lines_sus>;
pinctrl-2 = <&cross_conn_det_act>;
pinctrl-3 = <&cross_conn_det_sus>;
pinctrl-4 = <&cdc_vdd_spkr_act>;
pinctrl-5 = <&cdc_vdd_spkr_sus>;
qcom,cdc-us-euro-gpios = <&msm_gpio 120 0>;
qcom,cdc-vdd-spkr-gpios = <&msm_gpio 121 0>;
qcom,headset-jack-type-NC;
};
* MDM9630 ASoC Machine driver
Required properties:
- compatible : "qcom,mdm9630-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.
- qcom,prim-i2s-gpio-ws : Specifies gpio assigned for primary WS I2S pin.
- qcom,prim-i2s-gpio-din : Specifies gpio assigned for primary DIN I2S pin.
- qcom,prim-i2s-gpio-dout : Specifies gpio assigned for primary DOUT I2S pin.
- qcom,prim-i2s-gpio-sclk : Specifies gpio assigned for primary SCLK I2S pin.
- qcom,prim-i2s-gpio-mclk : Specifies gpio assigned for MCLK I2S pin.
- 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".
Example:
sound {
compatible = "qcom,mdm9630-audio-taiko";
qcom,model = "mdm9630-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>;
qcom,prim-i2s-gpio-ws = <&msmgpio 12 0>;
qcom,prim-i2s-gpio-din = <&msmgpio 13 0>;
qcom,prim-i2s-gpio-dout = <&msmgpio 14 0>;
qcom,prim-i2s-gpio-sclk = <&msmgpio 15 0>;
qcom,prim-i2s-gpio-mclk = <&msmgpio 71 0>;
};
* APQ8084 ASoC Machine driver
Required properties:
- compatible : "qcom,apq8084-audio-taiko" or "qcom,apq8084-audio-tomtom"
- 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 : Taiko mclk Freq in Hz. currently only 9600000Hz
is supported. This property is required when
compatible field is "qcom,apq8084-audio-taiko"
- qcom,tomtom-mclk-clk-freq : TomTom mclk Freq in Hz. currently only 9600000Hz
is supported. This property is required when
compatible field is "qcom,apq8084-audio-tomtom"
- 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,ext-mclk-gpio : audio uses this GPIO to request mclk in MTP and CDP
- 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,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- qcom,hdmi-audio-rx: specifies if HDMI audio support is enabled or not.
- qcom,headset-jack-type-NO: Adjust GPIO level based on the headset jack type.
- qcom,mbhc-bias-internal: Flag to indicate if internal micbias should be used
for headset detection.
- qcom,dock-plug-det-irq: Interrupt line to detect Docking/Undocking of Liquid
device
- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware.
Possible Values:
4-pole-jack : Jack on the hardware is 4-pole.
5-pole-jack : Jack on the hardware is 5-pole.
6-pole-jack : Jack on the hardware is 6-pole.
- pinctrl-states: the names of the pinctrl states that used by the driver to
configure the TLMM pins. The allowed states are subset of the following
list: pmx-pri-mi2s-active, pmx-pri-quad-mi2s-active, pmx-quad-mi2s-active,
pmx-pri-quad-mi2s-sleep, pmx-quad-mi2s-sleep.
- pinctrl-#: a list of pinctrl phandles for the different pinctrl states. Refer
to "Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt" for the
pinctrl handles definitions. Each pinctrl-# corresponds to the respective
state name that appears under pinctrl-state list.
Example:
sound {
compatible = "qcom,apq8084-audio-taiko";
"qcom,apq8084-audio-i2s-taiko"
qcom,model = "apq8084-taiko-mtp-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,taiko-mclk-clk-freq = <9600000>;
qcom,us-euro-gpios = <&pm8941_gpios 20 0>;
qcom,hdmi-audio-rx;
qcom,ext-mclk-gpio = <&msmgpio 47 0>;
qcom,dock-plug-det-irq = <&msmgpio 142 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>;
qcom,mbhc-audio-jack-type = "4-pole-jack";
pinctrl-names = "pmx-pri-mi2s-active",
"pmx-pri-quad-mi2s-active",
"pmx-quad-mi2s-active",
"pmx-pri-quad-mi2s-sleep";
pinctrl-0 = <&pmx_pri_mi2s_active &pmx_quad_mi2s_sleep>;
pinctrl-1 = <&pmx_pri_mi2s_active &pmx_quad_mi2s_active>;
pinctrl-2 = <&pmx_pri_mi2s_sleep &pmx_quad_mi2s_active>;
pinctrl-3 = <&pmx_pri_mi2s_sleep &pmx_quad_mi2s_sleep>;
};
* MSM8994 ASoC Machine driver
Required properties:
- compatible : "qcom,msm8994-audio-tomtom"
- qcom,model : The user-visible name of this sound card.
- clock-names : clock name defined for external clock.
- clocks : external clock defined for codec clock.
- pinctrl-names : pinctrl state names for each pin group configuration.
- pinctrl-x : defines pinctrl state for each pin group
- qcom,ext-ult-spk-amp-gpio : GPIO to enable ultrasound emitter amp.
- qcom,mbhc-audio-jack-type : Indicates headset jack type.
- 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".
Example:
sound {
compatible = "qcom,msm8994-asoc-snd";
qcom,model = "msm8994-tomtom-snd-card";
qcom,audio-routing =
"RX_BIAS", "MCLK",
"LDO_H", "MCLK",
"AIF4 MAD", "MCLK",
"ultrasound amp", "LINEOUT1",
"ultrasound amp", "LINEOUT3",
"AMIC1", "MIC BIAS1 Internal1",
"MIC BIAS1 Internal1", "Handset Mic",
"AMIC2", "MIC BIAS2 External",
"MIC BIAS2 External", "Headset Mic",
"AMIC3", "MIC BIAS2 External",
"MIC BIAS2 External", "ANCRight Headset Mic",
"AMIC4", "MIC BIAS2 External",
"MIC BIAS2 External", "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";
clock-names = "osr_clk";
clocks = <&clock_rpm clk_div_clk1>;
pinctrl-names= "mi2s-sleep",
"mi2s-active",
"auxpcm-sleep",
"auxpcm-active";
pinctrl-0 = <&pri_mi2s_sleep>;
pinctrl-1 = <&pri_mi2s_active>;
pinctrl-2 = <&sec_aux_pcm_sleep>;
pinctrl-3 = <&sec_aux_pcm_active>;
qcom,ext-ult-spk-amp-gpio = <&pmi8994_gpios 1 0>;
qcom,mbhc-audio-jack-type = "6-pole-jack";
asoc-platform = <&pcm0>,<&pcm1>,<&pcm2>,<&voip>,<&voice>,
<&loopback>,<&compress>,<&hostless>,
<&afe>,<&lsm>,<&routing>,<&cpe>,<&compr>;
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";
asoc-cpu = <&dai_pri_auxpcm>,<&dai_sec_auxpcm>,<&dai_hdmi>,<&dai_mi2s>,
<&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>,<&bt_sco_rx>,
<&bt_sco_tx>,<&int_fm_rx>,<&int_fm_tx>,<&afe_pcm_rx>,
<&afe_pcm_tx>,<&afe_proxy_rx>,<&afe_proxy_tx>,
<&incall_record_rx>,<&incall_record_tx>,<&incall_music_rx>,
<&incall_music2_rx>;
asoc-cpu-names = "msm-dai-q6-auxpcm.1","msm-dai-q6-auxpcm.2",
"msm-dai-q6-hdmi.8","msm-dai-q6-mi2s.0",
"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.12288",
"msm-dai-q6-dev.12289","msm-dai-q6-dev.12292",
"msm-dai-q6-dev.12293","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";
asoc-codec = <&stub>;
asoc-codec-names = "msm-stub-codec.1";
};
* MDM9640 ASoC Machine driver
Required properties:
- compatible : "qcom,mdm9640-audio-tomtom"
- 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,tomtom-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.
- pinctrl-names : pinctrl state names for each pin group configuration.
- pinctrl-x : defines pinctrl state for each pin group
- 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".
Example:
sound {
compatible = "qcom,mdm9640-audio-tomtom";
qcom,model = "mdm9640-tomtom-i2s-snd-card";
qcom,audio-routing =
"RX_BIAS", "MCLK",
"LDO_H", "MCLK",
"AIF4 MAD", "MCLK",
"ultrasound amp", "LINEOUT1",
"ultrasound amp", "LINEOUT3",
"AMIC1", "MIC BIAS1 Internal1",
"MIC BIAS1 Internal1", "Handset Mic",
"AMIC2", "MIC BIAS2 External",
"MIC BIAS2 External", "Headset Mic",
"AMIC3", "MIC BIAS2 External",
"MIC BIAS2 External", "ANCRight Headset Mic",
"AMIC4", "MIC BIAS2 External",
"MIC BIAS2 External", "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,tomtom-mclk-clk-freq = <12288000>;
pinctrl-names = "pri-mi2s-active",
"pri-mi2s-sleep";
pinctrl-0 = <&pri_mi2s_active>, <&pri_mi2s_din_active>;
pinctrl-1 = <&pri_mi2s_sleep>, <&pri_mi2s_din_sleep>;
};