You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'sound-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"It's been busy summer weeks and hence lots of changes, partly for a
few new drivers and partly for a wide range of fixes.
Here are highlights:
ALSA Core:
- Fix rawmidi buffer management, code cleanup / refactoring
- Fix the SG-buffer page handling with incorrect fallback size
- Fix the stall at virmidi trigger callback with a large buffer; also
offloading and code-refactoring along with it
- Various ALSA sequencer code cleanups
ASoC:
- Deploy the standard snd_pcm_stop_xrun() helper in several drivers
- Support for providing name prefixes to generic component nodes
- Quite a few fixes for DPCM as it gains a bit wider use and more
robust testing
- Generalization of the DIO2125 support to a simple amplifier driver
- Accessory detection support for the audio graph card
- DT support for PXA AC'97 devices
- Quirks for a number of new x86 systems
- Support for AM Logic Meson, Everest ES7154, Intel systems with
RT5682, Qualcomm QDSP6 and WCD9335, Realtek RT5682 and TI TAS5707
HD-audio:
- Code refactoring in HD-audio ext codec codes to drop own classes;
preliminary works for the upcoming legacy codec support
- Generalized DRM audio component for the upcoming radeon / amdgpu
support
- Unification of mic mute-LED and GPIO support for various codecs
- Further improvement of CA0132 codec support including Recon3D
- Proper vga_switcheroo handling for AMD i-GPU
- Update of model list in documentation
- Fixups for another HP Spectre x360, Conexant codecs, power-save
blacklist update
USB-audio:
- Fix the invalid sample rate setup with external clock
- Support of UAC3 selector units and processing units
- Basic UAC3 power-domain support
- Support for Encore mDSD and Thesycon-based DSD devices
- Preparation for future complete callback changes
Firewire:
- Add support for MOTU Traveler
Misc:
- The endianess notation fixes in various drivers
- Add fall-through comment in lots of drivers
- Various sparse warning fixes, e.g. about PCM format types"
* tag 'sound-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (529 commits)
ASoC: adav80x: mark expected switch fall-through
ASoC: da7219: Add delays to capture path to remove DC offset noise
ALSA: usb-audio: Mark expected switch fall-through
ALSA: mixart: Mark expected switch fall-through
ALSA: opl3: Mark expected switch fall-through
ALSA: hda/ca0132 - Add exit commands for Recon3D
ALSA: hda/ca0132 - Change mixer controls for Recon3D
ALSA: hda/ca0132 - Add Recon3D input and output select commands
ALSA: hda/ca0132 - Add DSP setup defaults for Recon3D
ALSA: hda/ca0132 - Add Recon3D startup functions and setup
ALSA: hda/ca0132 - Add bool variable to enable/disable pci region2 mmio
ALSA: hda/ca0132 - Add Recon3D pincfg
ALSA: hda/ca0132 - Add quirk ID and enum for Recon3D
ALSA: hda/ca0132 - Add alt_functions unsolicited response
ALSA: hda/ca0132 - Clean up ca0132_init function.
ALSA: hda/ca0132 - Create mmio gpio function to make code clearer
ASoC: wm_adsp: Make DSP name configurable by codec driver
ASoC: wm_adsp: Declare firmware controls from codec driver
ASoC: max98373: Added software reset register to readable registers
ASoC: wm_adsp: Correct DSP pointer for preloader control
...
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
Generic AC97 Device Properties
|
||||
|
||||
This documents describes the devicetree bindings for an ac97 controller child
|
||||
node describing ac97 codecs.
|
||||
|
||||
Required properties:
|
||||
-compatible : Must be "ac97,vendor_id1,vendor_id2
|
||||
The ids shall be the 4 characters hexadecimal encoding, such as
|
||||
given by "%04x" formatting of printf
|
||||
-reg : Must be the ac97 codec number, between 0 and 3
|
||||
|
||||
Example:
|
||||
ac97: sound@40500000 {
|
||||
compatible = "marvell,pxa270-ac97";
|
||||
reg = < 0x40500000 0x1000 >;
|
||||
interrupts = <14>;
|
||||
reset-gpios = <&gpio 95 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = < &pinctrl_ac97_default >;
|
||||
clocks = <&clks CLK_AC97>, <&clks CLK_AC97CONF>;
|
||||
clock-names = "AC97CLK", "AC97CONFCLK";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
audio-codec@0 {
|
||||
reg = <0>;
|
||||
compatible = "ac97,574d,4c13";
|
||||
clocks = <&fixed_wm9713_clock>;
|
||||
clock-names = "ac97_clk";
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
* Amlogic Audio FIFO controllers
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-toddr' or
|
||||
'amlogic,axg-frddr'
|
||||
- reg: physical base address of the controller and length of memory
|
||||
mapped region.
|
||||
- interrupts: interrupt specifier for the fifo.
|
||||
- clocks: phandle to the fifo peripheral clock provided by the audio
|
||||
clock controller.
|
||||
- resets: phandle to memory ARB line provided by the arb reset controller.
|
||||
- #sound-dai-cells: must be 0.
|
||||
|
||||
Example of FRDDR A on the A113 SoC:
|
||||
|
||||
frddr_a: audio-controller@1c0 {
|
||||
compatible = "amlogic,axg-frddr";
|
||||
reg = <0x0 0x1c0 0x0 0x1c>;
|
||||
#sound-dai-cells = <0>;
|
||||
interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
|
||||
resets = <&arb AXG_ARB_FRDDR_A>;
|
||||
};
|
||||
@@ -0,0 +1,124 @@
|
||||
Amlogic AXG sound card:
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "amlogic,axg-sound-card"
|
||||
- model : User specified audio sound card name, one string
|
||||
|
||||
Optional properties:
|
||||
|
||||
- audio-aux-devs : List of phandles pointing to auxiliary devices
|
||||
- audio-widgets : Please refer to widgets.txt.
|
||||
- audio-routing : A list of the connections between audio components.
|
||||
|
||||
Subnodes:
|
||||
|
||||
- dai-link: Container for dai-link level properties and the CODEC
|
||||
sub-nodes. There should be at least one (and probably more)
|
||||
subnode of this type.
|
||||
|
||||
Required dai-link properties:
|
||||
|
||||
- sound-dai: phandle and port of the CPU DAI.
|
||||
|
||||
Required TDM Backend dai-link properties:
|
||||
- dai-format : CPU/CODEC common audio format
|
||||
|
||||
Optional TDM Backend dai-link properties:
|
||||
- dai-tdm-slot-rx-mask-{0,1,2,3}: Receive direction slot masks
|
||||
- dai-tdm-slot-tx-mask-{0,1,2,3}: Transmit direction slot masks
|
||||
When omitted, mask is assumed to have to no
|
||||
slots. A valid must have at one slot, so at
|
||||
least one these mask should be provided with
|
||||
an enabled slot.
|
||||
- dai-tdm-slot-num : Please refer to tdm-slot.txt.
|
||||
If omitted, slot number is set to accommodate the largest
|
||||
mask provided.
|
||||
- dai-tdm-slot-width : Please refer to tdm-slot.txt. default to 32 if omitted.
|
||||
- mclk-fs : Multiplication factor between stream rate and mclk
|
||||
|
||||
Backend dai-link subnodes:
|
||||
|
||||
- codec: dai-link representing backend links should have at least one subnode.
|
||||
One subnode for each codec of the dai-link.
|
||||
dai-link representing frontend links have no codec, therefore have no
|
||||
subnodes
|
||||
|
||||
Required codec subnodes properties:
|
||||
|
||||
- sound-dai: phandle and port of the CODEC DAI.
|
||||
|
||||
Optional codec subnodes properties:
|
||||
|
||||
- dai-tdm-slot-tx-mask : Please refer to tdm-slot.txt.
|
||||
- dai-tdm-slot-rx-mask : Please refer to tdm-slot.txt.
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "amlogic,axg-sound-card";
|
||||
model = "AXG-S420";
|
||||
audio-aux-devs = <&tdmin_a>, <&tdmout_c>;
|
||||
audio-widgets = "Line", "Lineout",
|
||||
"Line", "Linein",
|
||||
"Speaker", "Speaker1 Left",
|
||||
"Speaker", "Speaker1 Right";
|
||||
"Speaker", "Speaker2 Left",
|
||||
"Speaker", "Speaker2 Right";
|
||||
audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
|
||||
"SPDIFOUT IN 0", "FRDDR_A OUT 3",
|
||||
"TDM_C Playback", "TDMOUT_C OUT",
|
||||
"TDMIN_A IN 2", "TDM_C Capture",
|
||||
"TDMIN_A IN 5", "TDM_C Loopback",
|
||||
"TODDR_A IN 0", "TDMIN_A OUT",
|
||||
"Lineout", "Lineout AOUTL",
|
||||
"Lineout", "Lineout AOUTR",
|
||||
"Speaker1 Left", "SPK1 OUT_A",
|
||||
"Speaker2 Left", "SPK2 OUT_A",
|
||||
"Speaker1 Right", "SPK1 OUT_B",
|
||||
"Speaker2 Right", "SPK2 OUT_B",
|
||||
"Linein AINL", "Linein",
|
||||
"Linein AINR", "Linein";
|
||||
|
||||
dai-link@0 {
|
||||
sound-dai = <&frddr_a>;
|
||||
};
|
||||
|
||||
dai-link@1 {
|
||||
sound-dai = <&toddr_a>;
|
||||
};
|
||||
|
||||
dai-link@2 {
|
||||
sound-dai = <&tdmif_c>;
|
||||
dai-format = "i2s";
|
||||
dai-tdm-slot-tx-mask-2 = <1 1>;
|
||||
dai-tdm-slot-tx-mask-3 = <1 1>;
|
||||
dai-tdm-slot-rx-mask-1 = <1 1>;
|
||||
mclk-fs = <256>;
|
||||
|
||||
codec@0 {
|
||||
sound-dai = <&lineout>;
|
||||
};
|
||||
|
||||
codec@1 {
|
||||
sound-dai = <&speaker_amp1>;
|
||||
};
|
||||
|
||||
codec@2 {
|
||||
sound-dai = <&speaker_amp2>;
|
||||
};
|
||||
|
||||
codec@3 {
|
||||
sound-dai = <&linein>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
dai-link@3 {
|
||||
sound-dai = <&spdifout>;
|
||||
|
||||
codec {
|
||||
sound-dai = <&spdif_dit>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
* Amlogic Audio SPDIF Output
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-spdifout'
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "pclk" : peripheral clock.
|
||||
* "mclk" : master clock
|
||||
- #sound-dai-cells: must be 0.
|
||||
|
||||
Example on the A113 SoC:
|
||||
|
||||
spdifout: audio-controller@480 {
|
||||
compatible = "amlogic,axg-spdifout";
|
||||
reg = <0x0 0x480 0x0 0x50>;
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
|
||||
<&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
|
||||
clock-names = "pclk", "mclk";
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
* Amlogic Audio TDM formatters
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-tdmin' or
|
||||
'amlogic,axg-tdmout'
|
||||
- reg: physical base address of the controller and length of memory
|
||||
mapped region.
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "pclk" : peripheral clock.
|
||||
* "sclk" : bit clock.
|
||||
* "sclk_sel" : bit clock input multiplexer.
|
||||
* "lrclk" : sample clock
|
||||
* "lrclk_sel": sample clock input multiplexer
|
||||
|
||||
Example of TDMOUT_A on the A113 SoC:
|
||||
|
||||
tdmout_a: audio-controller@500 {
|
||||
compatible = "amlogic,axg-tdmout";
|
||||
reg = <0x0 0x500 0x0 0x40>;
|
||||
clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
|
||||
<&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
|
||||
clock-names = "pclk", "sclk", "sclk_sel",
|
||||
"lrclk", "lrclk_sel";
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
* Amlogic Audio TDM Interfaces
|
||||
|
||||
Required properties:
|
||||
- compatible: 'amlogic,axg-tdm-iface'
|
||||
- clocks: list of clock phandle, one for each entry clock-names.
|
||||
- clock-names: should contain the following:
|
||||
* "sclk" : bit clock.
|
||||
* "lrclk": sample clock
|
||||
* "mclk" : master clock
|
||||
-> optional if the interface is in clock slave mode.
|
||||
- #sound-dai-cells: must be 0.
|
||||
|
||||
Example of TDM_A on the A113 SoC:
|
||||
|
||||
tdmif_a: audio-controller@0 {
|
||||
compatible = "amlogic,axg-tdm-iface";
|
||||
#sound-dai-cells = <0>;
|
||||
clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
|
||||
<&clkc_audio AUD_CLKID_MST_A_SCLK>,
|
||||
<&clkc_audio AUD_CLKID_MST_A_LRCLK>;
|
||||
clock-names = "mclk", "sclk", "lrclk";
|
||||
};
|
||||
@@ -15,7 +15,6 @@ Required properties:
|
||||
- clock-names: Should be one of each entry matching the clocks phandles list:
|
||||
- "pclk" (peripheral clock) Required.
|
||||
- "gclk" (generated clock) Optional (1).
|
||||
- "aclk" (Audio PLL clock) Optional (1).
|
||||
- "muxclk" (I2S mux clock) Optional (1).
|
||||
|
||||
Optional properties:
|
||||
@@ -23,9 +22,9 @@ Optional properties:
|
||||
- princtrl-names: Should contain only one value - "default".
|
||||
|
||||
|
||||
(1) : Only the peripheral clock is required. The generated clock, the Audio
|
||||
PLL clock adn the I2S mux clock are optional and should only be set
|
||||
together, when Master Mode is required.
|
||||
(1) : Only the peripheral clock is required. The generated clock and the I2S
|
||||
mux clock are optional and should only be set together, when Master Mode
|
||||
is required.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -40,8 +39,8 @@ Example:
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||
AT91_XDMAC_DT_PERID(32))>;
|
||||
dma-names = "tx", "rx";
|
||||
clocks = <&i2s0_clk>, <&i2s0_gclk>, <&audio_pll_pmc>, <&i2s0muxck>;
|
||||
clock-names = "pclk", "gclk", "aclk", "muxclk";
|
||||
clocks = <&i2s0_clk>, <&i2s0_gclk>, <&i2s0muxck>;
|
||||
clock-names = "pclk", "gclk", "muxclk";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2s0_default>;
|
||||
};
|
||||
|
||||
@@ -18,6 +18,8 @@ Below are same as Simple-Card.
|
||||
- bitclock-inversion
|
||||
- frame-inversion
|
||||
- mclk-fs
|
||||
- hp-det-gpio
|
||||
- mic-det-gpio
|
||||
- dai-tdm-slot-num
|
||||
- dai-tdm-slot-width
|
||||
- clocks / system-clock-frequency
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
DIO2125 Audio Driver
|
||||
|
||||
Required properties:
|
||||
- compatible : "dioo,dio2125"
|
||||
- enable-gpios : the gpio connected to the enable pin of the dio2125
|
||||
|
||||
Example:
|
||||
|
||||
amp: analog-amplifier {
|
||||
compatible = "dioo,dio2125";
|
||||
enable-gpios = <&gpio GPIOH_3 0>;
|
||||
};
|
||||
@@ -1,10 +1,15 @@
|
||||
ES7134 i2s DA converter
|
||||
|
||||
Required properties:
|
||||
- compatible : "everest,es7134" or "everest,es7144"
|
||||
- compatible : "everest,es7134" or
|
||||
"everest,es7144" or
|
||||
"everest,es7154"
|
||||
- VDD-supply : regulator phandle for the VDD supply
|
||||
- PVDD-supply: regulator phandle for the PVDD supply for the es7154
|
||||
|
||||
Example:
|
||||
|
||||
i2s_codec: external-codec {
|
||||
compatible = "everest,es7134";
|
||||
VDD-supply = <&vcc_5v>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
ES7241 i2s AD converter
|
||||
|
||||
Required properties:
|
||||
- compatible : "everest,es7241"
|
||||
- VDDP-supply: regulator phandle for the VDDA supply
|
||||
- VDDA-supply: regulator phandle for the VDDP supply
|
||||
- VDDD-supply: regulator phandle for the VDDD supply
|
||||
|
||||
Optional properties:
|
||||
- reset-gpios: gpio connected to the reset pin
|
||||
- m0-gpios : gpio connected to the m0 pin
|
||||
- m1-gpios : gpio connected to the m1 pin
|
||||
- everest,sdout-pull-down:
|
||||
Format used by the serial interface is controlled by pulling
|
||||
the sdout. If the sdout is pulled down, leftj format is used.
|
||||
If this property is not provided, sdout is assumed to pulled
|
||||
up and i2s format is used
|
||||
|
||||
Example:
|
||||
|
||||
linein: audio-codec@2 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "everest,es7241";
|
||||
VDDA-supply = <&vcc_3v3>;
|
||||
VDDP-supply = <&vcc_3v3>;
|
||||
VDDD-supply = <&vcc_3v3>;
|
||||
reset-gpios = <&gpio GPIOH_42>;
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
Marvell PXA2xx audio complex
|
||||
|
||||
This descriptions matches the AC97 controller found in pxa2xx and pxa3xx series.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following:
|
||||
"marvell,pxa250-ac97"
|
||||
"marvell,pxa270-ac97"
|
||||
"marvell,pxa300-ac97"
|
||||
- reg: device MMIO address space
|
||||
- interrupts: single interrupt generated by AC97 IP
|
||||
- clocks: input clock of the AC97 IP, refer to clock-bindings.txt
|
||||
|
||||
Optional properties:
|
||||
- pinctrl-names, pinctrl-0: refer to pinctrl-bindings.txt
|
||||
- reset-gpios: gpio used for AC97 reset, refer to gpio.txt
|
||||
|
||||
Example:
|
||||
ac97: sound@40500000 {
|
||||
compatible = "marvell,pxa250-ac97";
|
||||
reg = < 0x40500000 0x1000 >;
|
||||
interrupts = <14>;
|
||||
reset-gpios = <&gpio 113 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = < &pmux_ac97_default >;
|
||||
};
|
||||
@@ -5,6 +5,14 @@ Required properties:
|
||||
compatible Must be "mrvl,pxa-ssp-dai"
|
||||
port A phandle reference to a PXA ssp upstream device
|
||||
|
||||
Optional properties:
|
||||
|
||||
clock-names
|
||||
clocks Through "clock-names" and "clocks", external clocks
|
||||
can be configured. If a clock names "extclk" exists,
|
||||
it will be set to the mclk rate of the audio stream
|
||||
and be used as clock provider of the DAI.
|
||||
|
||||
Example:
|
||||
|
||||
/* upstream device */
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
DT bindings for ARM PXA2xx PCM platform driver
|
||||
|
||||
This is just a dummy driver that registers the PXA ASoC platform driver.
|
||||
It does not have any resources assigned.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible 'mrvl,pxa-pcm-audio'
|
||||
|
||||
Example:
|
||||
|
||||
pxa_pcm_audio: snd_soc_pxa_audio {
|
||||
compatible = "mrvl,pxa-pcm-audio";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
Name prefix:
|
||||
|
||||
Card implementing the routing property define the connection between
|
||||
audio components as list of string pair. Component using the same
|
||||
sink/source names may use the name prefix property to prepend the
|
||||
name of their sinks/sources with the provided string.
|
||||
|
||||
Optional name prefix property:
|
||||
- sound-name-prefix : string using as prefix for the sink/source names of
|
||||
the component.
|
||||
|
||||
Example: Two instances of the same component.
|
||||
|
||||
amp0: analog-amplifier@0 {
|
||||
compatible = "simple-audio-amplifier";
|
||||
enable-gpios = <&gpio GPIOH_3 0>;
|
||||
sound-name-prefix = "FRONT";
|
||||
};
|
||||
|
||||
amp1: analog-amplifier@1 {
|
||||
compatible = "simple-audio-amplifier";
|
||||
enable-gpios = <&gpio GPIOH_4 0>;
|
||||
sound-name-prefix = "BACK";
|
||||
};
|
||||
@@ -7,7 +7,7 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio.
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,apq8096-sndcard"
|
||||
|
||||
- qcom,audio-routing:
|
||||
- audio-routing:
|
||||
Usage: Optional
|
||||
Value type: <stringlist>
|
||||
Definition: A list of the connections between audio components.
|
||||
@@ -49,6 +49,12 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio.
|
||||
"DMIC1"
|
||||
"DMIC2"
|
||||
"DMIC3"
|
||||
|
||||
- model:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: The user-visible name of this sound card.
|
||||
|
||||
= dailinks
|
||||
Each subnode of sndcard represents either a dailink, and subnodes of each
|
||||
dailinks would be cpu/codec/platform dais.
|
||||
@@ -79,11 +85,16 @@ dailinks would be cpu/codec/platform dais.
|
||||
Value type: <phandle with arguments>
|
||||
Definition: dai phandle/s and port of CPU/CODEC/PLATFORM node.
|
||||
|
||||
Obsolete:
|
||||
qcom,model: String for soundcard name (Use model instead)
|
||||
qcom,audio-routing: A list of the connections between audio components.
|
||||
(Use audio-routing instead)
|
||||
|
||||
Example:
|
||||
|
||||
audio {
|
||||
compatible = "qcom,apq8096-sndcard";
|
||||
qcom,model = "DB820c";
|
||||
model = "DB820c";
|
||||
|
||||
mm1-dai-link {
|
||||
link-name = "MultiMedia1";
|
||||
|
||||
@@ -18,6 +18,11 @@ used by the apr service device.
|
||||
= ADM routing
|
||||
"routing" subnode of the ADM node represents adm routing specific configuration
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,q6adm-routing".
|
||||
|
||||
- #sound-dai-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
@@ -28,6 +33,7 @@ q6adm@8 {
|
||||
compatible = "qcom,q6adm";
|
||||
reg = <APR_SVC_ADM>;
|
||||
q6routing: routing {
|
||||
compatible = "qcom,q6adm-routing";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -17,6 +17,11 @@ used by all apr services. Must contain the following properties.
|
||||
subnode of "dais" representing board specific dai setup.
|
||||
"dais" node should have following properties followed by dai children.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,q6afe-dais"
|
||||
|
||||
- #sound-dai-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
@@ -100,6 +105,7 @@ q6afe@4 {
|
||||
reg = <APR_SVC_AFE>;
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6afe-dais";
|
||||
#sound-dai-cells = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
@@ -17,6 +17,11 @@ used by the apr service device.
|
||||
= ASM DAIs (Digial Audio Interface)
|
||||
"dais" subnode of the ASM node represents dai specific configuration
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,q6asm-dais".
|
||||
|
||||
- #sound-dai-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
@@ -28,6 +33,7 @@ q6asm@7 {
|
||||
compatible = "qcom,q6asm";
|
||||
reg = <APR_SVC_ASM>;
|
||||
q6asmdai: dais {
|
||||
compatible = "qcom,q6asm-dais";
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
* Qualcomm Technologies Inc. SDM845 ASoC sound card driver
|
||||
|
||||
This binding describes the SDM845 sound card, which uses qdsp for audio.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,sdm845-sndcard"
|
||||
|
||||
- audio-routing:
|
||||
Usage: Optional
|
||||
Value type: <stringlist>
|
||||
Definition: 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. Valid names could be power supplies, MicBias
|
||||
of codec and the jacks on the board.
|
||||
|
||||
- model:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: The user-visible name of this sound card.
|
||||
|
||||
= dailinks
|
||||
Each subnode of sndcard represents either a dailink, and subnodes of each
|
||||
dailinks would be cpu/codec/platform dais.
|
||||
|
||||
- link-name:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: User friendly name for dai link
|
||||
|
||||
= CPU, PLATFORM, CODEC dais subnodes
|
||||
- cpu:
|
||||
Usage: required
|
||||
Value type: <subnode>
|
||||
Definition: cpu dai sub-node
|
||||
|
||||
- codec:
|
||||
Usage: required
|
||||
Value type: <subnode>
|
||||
Definition: codec dai sub-node
|
||||
|
||||
- platform:
|
||||
Usage: Optional
|
||||
Value type: <subnode>
|
||||
Definition: platform dai sub-node
|
||||
|
||||
- sound-dai:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: dai phandle/s and port of CPU/CODEC/PLATFORM node.
|
||||
|
||||
Example:
|
||||
|
||||
audio {
|
||||
compatible = "qcom,sdm845-sndcard";
|
||||
model = "sdm845-snd-card";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pri_mi2s_active &pri_mi2s_ws_active>;
|
||||
pinctrl-1 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep>;
|
||||
|
||||
mm1-dai-link {
|
||||
link-name = "MultiMedia1";
|
||||
cpu {
|
||||
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
|
||||
};
|
||||
};
|
||||
|
||||
pri-mi2s-dai-link {
|
||||
link-name = "PRI MI2S Playback";
|
||||
cpu {
|
||||
sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
|
||||
};
|
||||
|
||||
platform {
|
||||
sound-dai = <&q6routing>;
|
||||
};
|
||||
};
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user