mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"This was a relatively calm development cycle. Most of changes are
rather small device-specific fixes and enhancements. The only
significant changes in ALSA core are code refactoring with the recent
cleanup infrastructure, which should bring no functionality changes.
Some highlights below:
Core:
- Lots of cleanups in ALSA core code with automatic kfree cleanup and
locking guard macros
- New ALSA core kunit test
ASoC:
- SoundWire support for AMD ACP 6.3 systems
- Support for reporting version information for AVS firmware
- Support DSPless mode for Intel Soundwire systems
- Support for configuring CS35L56 amplifiers using EFI calibration
data
- Log which component is being operated on as part of power
management trace events.
- Support for Microchip SAM9x7, NXP i.MX95 and Qualcomm WCD939x
HD- and USB-audio:
- More Cirrus HD-audio codec support
- TAS2781 HD-audio codec fixes
- Scarlett2 mixer fixes
Others:
- Enhancement of virtio driver for audio control supports
- Cleanups of legacy PM code with new macros
- Firewire sound updates"
* tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (307 commits)
ALSA: usb-audio: Stop parsing channels bits when all channels are found.
ALSA: hda/tas2781: remove unnecessary runtime_pm calls
ALSA: hda/realtek - ALC236 fix volume mute & mic mute LED on some HP models
ALSA: aaci: Delete unused variable in aaci_do_suspend
ALSA: scarlett2: Fix Scarlett 4th Gen input gain range again
ALSA: scarlett2: Fix Scarlett 4th Gen input gain range
ALSA: scarlett2: Fix Scarlett 4th Gen autogain status values
ALSA: scarlett2: Fix Scarlett 4th Gen 4i4 low-voltage detection
ALSA: hda/tas2781: restore power state after system_resume
ALSA: hda/tas2781: do not call pm_runtime_force_* in system_resume/suspend
ALSA: hda/tas2781: do not reset cur_* values in runtime_suspend
ALSA: hda/tas2781: add lock to system_suspend
ALSA: hda/tas2781: use dev_dbg in system_resume
ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops
platform/x86: serial-multi-instantiate: Add support for CS35L54 and CS35L57
ALSA: hda: cs35l56: Add support for CS35L54 and CS35L57
ASoC: cs35l56: Add support for CS35L54 and CS35L57
ASoC: Intel: catpt: Carefully use PCI bitwise constants
ALSA: hda: hda_component: Include sound/hda_codec.h
ALSA: hda: hda_component: Add missing #include guards
...
This commit is contained in:
8
Documentation/ABI/testing/sysfs-bus-pci-devices-avs
Normal file
8
Documentation/ABI/testing/sysfs-bus-pci-devices-avs
Normal file
@@ -0,0 +1,8 @@
|
||||
What: /sys/devices/pci0000:00/<dev>/avs/fw_version
|
||||
Date: February 2024
|
||||
Contact: Cezary Rojewski <cezary.rojewski@intel.com>
|
||||
Description:
|
||||
Version of AudioDSP firmware ASoC avs driver is communicating
|
||||
with.
|
||||
|
||||
Format: %d.%d.%d.%d, type:major:minor:build.
|
||||
@@ -0,0 +1,84 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/atmel,asoc-wm8904.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Atmel wm8904 audio codec complex
|
||||
|
||||
maintainers:
|
||||
- Dharma Balasubiramani <dharma.b@microchip.com>
|
||||
|
||||
description:
|
||||
The ASoC audio complex configuration for Atmel with WM8904 audio codec.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: atmel,asoc-wm8904
|
||||
|
||||
atmel,model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: The user-visible name of this sound complex.
|
||||
|
||||
atmel,ssc-controller:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of the SSC controller.
|
||||
|
||||
atmel,audio-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of the WM8731 audio codec.
|
||||
|
||||
atmel,audio-routing:
|
||||
description:
|
||||
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.
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
items:
|
||||
enum:
|
||||
# Board Connectors
|
||||
- Headphone Jack
|
||||
- Line In Jack
|
||||
- Mic
|
||||
# WM8904 CODEC Pins
|
||||
- IN1L
|
||||
- IN1R
|
||||
- IN2L
|
||||
- IN2R
|
||||
- IN3L
|
||||
- IN3R
|
||||
- HPOUTL
|
||||
- HPOUTR
|
||||
- LINEOUTL
|
||||
- LINEOUTR
|
||||
- MICBIAS
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- atmel,model
|
||||
- atmel,audio-routing
|
||||
- atmel,ssc-controller
|
||||
- atmel,audio-codec
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "atmel,asoc-wm8904";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pck0_as_mck>;
|
||||
|
||||
atmel,model = "wm8904 @ AT91SAM9N12EK";
|
||||
|
||||
atmel,audio-routing =
|
||||
"Headphone Jack", "HPOUTL",
|
||||
"Headphone Jack", "HPOUTR",
|
||||
"IN2L", "Line In Jack",
|
||||
"IN2R", "Line In Jack",
|
||||
"Mic", "MICBIAS",
|
||||
"IN1L", "Mic";
|
||||
|
||||
atmel,ssc-controller = <&ssc0>;
|
||||
atmel,audio-codec = <&wm8904>;
|
||||
};
|
||||
@@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/atmel,sam9x5-wm8731-audio.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Atmel at91sam9x5ek wm8731 audio complex
|
||||
|
||||
maintainers:
|
||||
- Dharma Balasubiramani <dharma.b@microchip.com>
|
||||
|
||||
description:
|
||||
The audio complex configuration for Atmel at91sam9x5ek with WM8731 audio codec.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: atmel,sam9x5-wm8731-audio
|
||||
|
||||
atmel,model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: The user-visible name of this sound complex.
|
||||
|
||||
atmel,ssc-controller:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of the SSC controller.
|
||||
|
||||
atmel,audio-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of the WM8731 audio codec.
|
||||
|
||||
atmel,audio-routing:
|
||||
description:
|
||||
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.
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
items:
|
||||
enum:
|
||||
# Board Connectors
|
||||
- Headphone Jack
|
||||
- Line In Jack
|
||||
|
||||
# CODEC Pins
|
||||
- LOUT
|
||||
- ROUT
|
||||
- LHPOUT
|
||||
- RHPOUT
|
||||
- LLINEIN
|
||||
- RLINEIN
|
||||
- MICIN
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- atmel,model
|
||||
- atmel,ssc-controller
|
||||
- atmel,audio-codec
|
||||
- atmel,audio-routing
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "atmel,sam9x5-wm8731-audio";
|
||||
|
||||
atmel,model = "wm8731 @ AT91SAM9X5EK";
|
||||
|
||||
atmel,audio-routing =
|
||||
"Headphone Jack", "RHPOUT",
|
||||
"Headphone Jack", "LHPOUT",
|
||||
"LLINEIN", "Line In Jack",
|
||||
"RLINEIN", "Line In Jack";
|
||||
|
||||
atmel,ssc-controller = <&ssc0>;
|
||||
atmel,audio-codec = <&wm8731>;
|
||||
};
|
||||
@@ -18,7 +18,12 @@ description:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: atmel,sama5d2-classd
|
||||
oneOf:
|
||||
- items:
|
||||
- const: atmel,sama5d2-classd
|
||||
- items:
|
||||
- const: microchip,sam9x7-classd
|
||||
- const: atmel,sama5d2-classd
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
* Atmel at91sam9x5ek wm8731 audio complex
|
||||
|
||||
Required properties:
|
||||
- compatible: "atmel,sam9x5-wm8731-audio"
|
||||
- atmel,model: The user-visible name of this sound complex.
|
||||
- atmel,ssc-controller: The phandle of the SSC controller
|
||||
- atmel,audio-codec: The phandle of the WM8731 audio codec
|
||||
- atmel,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.
|
||||
|
||||
Available audio endpoints for the audio-routing table:
|
||||
|
||||
Board connectors:
|
||||
* Headphone Jack
|
||||
* Line In Jack
|
||||
|
||||
wm8731 pins:
|
||||
cf Documentation/devicetree/bindings/sound/wlf,wm8731.yaml
|
||||
|
||||
Example:
|
||||
sound {
|
||||
compatible = "atmel,sam9x5-wm8731-audio";
|
||||
|
||||
atmel,model = "wm8731 @ AT91SAM9X5EK";
|
||||
|
||||
atmel,audio-routing =
|
||||
"Headphone Jack", "RHPOUT",
|
||||
"Headphone Jack", "LHPOUT",
|
||||
"LLINEIN", "Line In Jack",
|
||||
"RLINEIN", "Line In Jack";
|
||||
|
||||
atmel,ssc-controller = <&ssc0>;
|
||||
atmel,audio-codec = <&wm8731>;
|
||||
};
|
||||
@@ -1,55 +0,0 @@
|
||||
Atmel ASoC driver with wm8904 audio codec complex
|
||||
|
||||
Required properties:
|
||||
- compatible: "atmel,asoc-wm8904"
|
||||
- atmel,model: The user-visible name of this sound complex.
|
||||
- atmel,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. Valid names for sources and
|
||||
sinks are the WM8904's pins, and the jacks on the board:
|
||||
|
||||
WM8904 pins:
|
||||
|
||||
* IN1L
|
||||
* IN1R
|
||||
* IN2L
|
||||
* IN2R
|
||||
* IN3L
|
||||
* IN3R
|
||||
* HPOUTL
|
||||
* HPOUTR
|
||||
* LINEOUTL
|
||||
* LINEOUTR
|
||||
* MICBIAS
|
||||
|
||||
Board connectors:
|
||||
|
||||
* Headphone Jack
|
||||
* Line In Jack
|
||||
* Mic
|
||||
|
||||
- atmel,ssc-controller: The phandle of the SSC controller
|
||||
- atmel,audio-codec: The phandle of the WM8904 audio codec
|
||||
|
||||
Optional properties:
|
||||
- pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt
|
||||
|
||||
Example:
|
||||
sound {
|
||||
compatible = "atmel,asoc-wm8904";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pck0_as_mck>;
|
||||
|
||||
atmel,model = "wm8904 @ AT91SAM9N12EK";
|
||||
|
||||
atmel,audio-routing =
|
||||
"Headphone Jack", "HPOUTL",
|
||||
"Headphone Jack", "HPOUTR",
|
||||
"IN2L", "Line In Jack",
|
||||
"IN2R", "Line In Jack",
|
||||
"Mic", "MICBIAS",
|
||||
"IN1L", "Mic";
|
||||
|
||||
atmel,ssc-controller = <&ssc0>;
|
||||
atmel,audio-codec = <&wm8904>;
|
||||
};
|
||||
@@ -51,7 +51,7 @@ definitions:
|
||||
- $ref: /schemas/types.yaml#/definitions/phandle
|
||||
clocks:
|
||||
description: Indicates system clock
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
maxItems: 1
|
||||
system-clock-frequency:
|
||||
$ref: simple-card.yaml#/definitions/system-clock-frequency
|
||||
system-clock-direction-out:
|
||||
|
||||
@@ -25,6 +25,9 @@ properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ properties:
|
||||
default: 0x0f
|
||||
|
||||
everest,mic1-src:
|
||||
deprecated: true
|
||||
$ref: /schemas/types.yaml#/definitions/uint8
|
||||
description:
|
||||
the value of reg 2A when headset plugged.
|
||||
@@ -46,6 +47,7 @@ properties:
|
||||
default: 0x22
|
||||
|
||||
everest,mic2-src:
|
||||
deprecated: true
|
||||
$ref: /schemas/types.yaml#/definitions/uint8
|
||||
description:
|
||||
the value of reg 2A when headset unplugged.
|
||||
@@ -87,7 +89,7 @@ properties:
|
||||
0 means the chip detect jack type again after button released.
|
||||
minimum: 0
|
||||
maximum: 0x7f
|
||||
default: 0x45
|
||||
default: 0x00
|
||||
|
||||
required:
|
||||
- compatible
|
||||
@@ -107,10 +109,8 @@ examples:
|
||||
clocks = <&clks 10>;
|
||||
clock-names = "mclk";
|
||||
#sound-dai-cells = <0>;
|
||||
everest,mic1-src = [22];
|
||||
everest,mic2-src = [44];
|
||||
everest,jack-pol = [0e];
|
||||
everest,interrupt-src = [08];
|
||||
everest,interrupt-clk = [45];
|
||||
everest,interrupt-clk = [00];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
Freescale Asynchronous Sample Rate Converter (ASRC) Controller
|
||||
|
||||
The Asynchronous Sample Rate Converter (ASRC) converts the sampling rate of a
|
||||
signal associated with an input clock into a signal associated with a different
|
||||
output clock. The driver currently works as a Front End of DPCM with other Back
|
||||
Ends Audio controller such as ESAI, SSI and SAI. It has three pairs to support
|
||||
three substreams within totally 10 channels.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : Compatible list, should contain one of the following
|
||||
compatibles:
|
||||
"fsl,imx35-asrc",
|
||||
"fsl,imx53-asrc",
|
||||
"fsl,imx8qm-asrc",
|
||||
"fsl,imx8qxp-asrc",
|
||||
|
||||
- reg : Offset and length of the register set for the device.
|
||||
|
||||
- interrupts : Contains the spdif interrupt.
|
||||
|
||||
- dmas : Generic dma devicetree binding as described in
|
||||
Documentation/devicetree/bindings/dma/dma.txt.
|
||||
|
||||
- dma-names : Contains "rxa", "rxb", "rxc", "txa", "txb" and "txc".
|
||||
|
||||
- clocks : Contains an entry for each entry in clock-names.
|
||||
|
||||
- clock-names : Contains the following entries
|
||||
"mem" Peripheral access clock to access registers.
|
||||
"ipg" Peripheral clock to driver module.
|
||||
"asrck_<0-f>" Clock sources for input and output clock.
|
||||
"spba" The spba clock is required when ASRC is placed as a
|
||||
bus slave of the Shared Peripheral Bus and when two
|
||||
or more bus masters (CPU, DMA or DSP) try to access
|
||||
it. This property is optional depending on the SoC
|
||||
design.
|
||||
|
||||
- fsl,asrc-rate : Defines a mutual sample rate used by DPCM Back Ends.
|
||||
|
||||
- fsl,asrc-width : Defines a mutual sample width used by DPCM Back Ends.
|
||||
|
||||
- fsl,asrc-clk-map : Defines clock map used in driver. which is required
|
||||
by imx8qm/imx8qxp platform
|
||||
<0> - select the map for asrc0 in imx8qm/imx8qxp
|
||||
<1> - select the map for asrc1 in imx8qm/imx8qxp
|
||||
|
||||
Optional properties:
|
||||
|
||||
- big-endian : If this property is absent, the little endian mode
|
||||
will be in use as default. Otherwise, the big endian
|
||||
mode will be in use for all the device registers.
|
||||
|
||||
- fsl,asrc-format : Defines a mutual sample format used by DPCM Back
|
||||
Ends, which can replace the fsl,asrc-width.
|
||||
The value is 2 (S16_LE), or 6 (S24_LE).
|
||||
|
||||
Example:
|
||||
|
||||
asrc: asrc@2034000 {
|
||||
compatible = "fsl,imx53-asrc";
|
||||
reg = <0x02034000 0x4000>;
|
||||
interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks 107>, <&clks 107>, <&clks 0>,
|
||||
<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
|
||||
<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
|
||||
<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
|
||||
<&clks 107>, <&clks 0>, <&clks 0>;
|
||||
clock-names = "mem", "ipg", "asrck0",
|
||||
"asrck_1", "asrck_2", "asrck_3", "asrck_4",
|
||||
"asrck_5", "asrck_6", "asrck_7", "asrck_8",
|
||||
"asrck_9", "asrck_a", "asrck_b", "asrck_c",
|
||||
"asrck_d", "asrck_e", "asrck_f";
|
||||
dmas = <&sdma 17 23 1>, <&sdma 18 23 1>, <&sdma 19 23 1>,
|
||||
<&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
|
||||
dma-names = "rxa", "rxb", "rxc",
|
||||
"txa", "txb", "txc";
|
||||
fsl,asrc-rate = <48000>;
|
||||
fsl,asrc-width = <16>;
|
||||
};
|
||||
@@ -51,8 +51,8 @@ properties:
|
||||
- const: ctx3_tx
|
||||
|
||||
firmware-name:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
const: imx/easrc/easrc-imx8mn.bin
|
||||
items:
|
||||
- const: imx/easrc/easrc-imx8mn.bin
|
||||
description: The coefficient table for the filters
|
||||
|
||||
fsl,asrc-rate:
|
||||
|
||||
162
Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml
Normal file
162
Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml
Normal file
@@ -0,0 +1,162 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/fsl,imx-asrc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale Asynchronous Sample Rate Converter (ASRC) Controller
|
||||
|
||||
description:
|
||||
The Asynchronous Sample Rate Converter (ASRC) converts the sampling rate of
|
||||
a signal associated with an input clock into a signal associated with a
|
||||
different output clock. The driver currently works as a Front End of DPCM
|
||||
with other Back Ends Audio controller such as ESAI, SSI and SAI. It has
|
||||
three pairs to support three substreams within totally 10 channels.
|
||||
|
||||
maintainers:
|
||||
- Shawn Guo <shawnguo@kernel.org>
|
||||
- Sascha Hauer <s.hauer@pengutronix.de>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- fsl,imx35-asrc
|
||||
- fsl,imx53-asrc
|
||||
- fsl,imx8qm-asrc
|
||||
- fsl,imx8qxp-asrc
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx6sx-asrc
|
||||
- fsl,imx6ul-asrc
|
||||
- const: fsl,imx53-asrc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
dmas:
|
||||
maxItems: 6
|
||||
|
||||
dma-names:
|
||||
items:
|
||||
- const: rxa
|
||||
- const: rxb
|
||||
- const: rxc
|
||||
- const: txa
|
||||
- const: txb
|
||||
- const: txc
|
||||
|
||||
clocks:
|
||||
maxItems: 19
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mem
|
||||
- const: ipg
|
||||
- const: asrck_0
|
||||
- const: asrck_1
|
||||
- const: asrck_2
|
||||
- const: asrck_3
|
||||
- const: asrck_4
|
||||
- const: asrck_5
|
||||
- const: asrck_6
|
||||
- const: asrck_7
|
||||
- const: asrck_8
|
||||
- const: asrck_9
|
||||
- const: asrck_a
|
||||
- const: asrck_b
|
||||
- const: asrck_c
|
||||
- const: asrck_d
|
||||
- const: asrck_e
|
||||
- const: asrck_f
|
||||
- const: spba
|
||||
|
||||
fsl,asrc-rate:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: The mutual sample rate used by DPCM Back Ends
|
||||
|
||||
fsl,asrc-width:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: The mutual sample width used by DPCM Back Ends
|
||||
enum: [16, 24]
|
||||
|
||||
fsl,asrc-clk-map:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
Defines clock map used in driver
|
||||
<0> - select the map for asrc0 in imx8qm/imx8qxp
|
||||
<1> - select the map for asrc1 in imx8qm/imx8qxp
|
||||
enum: [0, 1]
|
||||
|
||||
big-endian:
|
||||
type: boolean
|
||||
description:
|
||||
If this property is absent, the little endian mode will be in use as
|
||||
default. Otherwise, the big endian mode will be in use for all the
|
||||
device registers.
|
||||
|
||||
fsl,asrc-format:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
Defines a mutual sample format used by DPCM Back Ends, which can
|
||||
replace the fsl,asrc-width. The value is 2 (S16_LE), or 6 (S24_LE).
|
||||
enum: [2, 6]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- dmas
|
||||
- dma-names
|
||||
- clocks
|
||||
- clock-names
|
||||
- fsl,asrc-rate
|
||||
- fsl,asrc-width
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- fsl,imx8qm-asrc
|
||||
- fsl,imx8qxp-asrc
|
||||
then:
|
||||
required:
|
||||
- fsl,asrc-clk-map
|
||||
else:
|
||||
properties:
|
||||
fsl,asrc-clk-map: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/clock/imx6qdl-clock.h>
|
||||
asrc: asrc@2034000 {
|
||||
compatible = "fsl,imx53-asrc";
|
||||
reg = <0x02034000 0x4000>;
|
||||
interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks IMX6QDL_CLK_ASRC_IPG>,
|
||||
<&clks IMX6QDL_CLK_ASRC_MEM>, <&clks 0>,
|
||||
<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
|
||||
<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
|
||||
<&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
|
||||
<&clks IMX6QDL_CLK_ASRC>, <&clks 0>, <&clks 0>,
|
||||
<&clks IMX6QDL_CLK_SPBA>;
|
||||
clock-names = "mem", "ipg", "asrck_0",
|
||||
"asrck_1", "asrck_2", "asrck_3", "asrck_4",
|
||||
"asrck_5", "asrck_6", "asrck_7", "asrck_8",
|
||||
"asrck_9", "asrck_a", "asrck_b", "asrck_c",
|
||||
"asrck_d", "asrck_e", "asrck_f", "spba";
|
||||
dmas = <&sdma 17 23 1>, <&sdma 18 23 1>, <&sdma 19 23 1>,
|
||||
<&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
|
||||
dma-names = "rxa", "rxb", "rxc",
|
||||
"txa", "txb", "txc";
|
||||
fsl,asrc-rate = <48000>;
|
||||
fsl,asrc-width = <16>;
|
||||
};
|
||||
@@ -15,10 +15,16 @@ description: |
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx8mm-micfil
|
||||
- fsl,imx8mp-micfil
|
||||
- fsl,imx93-micfil
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx95-micfil
|
||||
- const: fsl,imx93-micfil
|
||||
|
||||
- enum:
|
||||
- fsl,imx8mm-micfil
|
||||
- fsl,imx8mp-micfil
|
||||
- fsl,imx93-micfil
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -39,6 +39,7 @@ properties:
|
||||
- fsl,imx8qm-sai
|
||||
- fsl,imx8ulp-sai
|
||||
- fsl,imx93-sai
|
||||
- fsl,imx95-sai
|
||||
- fsl,vf610-sai
|
||||
|
||||
reg:
|
||||
@@ -75,12 +76,17 @@ properties:
|
||||
- const: pll11k
|
||||
minItems: 4
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
dmas:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: DMA controller phandle and request line for RX
|
||||
- description: DMA controller phandle and request line for TX
|
||||
|
||||
dma-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: rx
|
||||
- const: tx
|
||||
|
||||
@@ -51,7 +51,7 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
firmware-name:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
maxItems: 1
|
||||
description:
|
||||
Filters coefficients file to load. If this property is omitted, internal
|
||||
filters are disabled.
|
||||
|
||||
@@ -24,9 +24,14 @@ properties:
|
||||
const: 0
|
||||
|
||||
compatible:
|
||||
enum:
|
||||
- microchip,sam9x60-i2smcc
|
||||
- microchip,sama7g5-i2smcc
|
||||
oneOf:
|
||||
- enum:
|
||||
- microchip,sam9x60-i2smcc
|
||||
- microchip,sama7g5-i2smcc
|
||||
- items:
|
||||
- enum:
|
||||
- microchip,sam9x7-i2smcc
|
||||
- const: microchip,sam9x60-i2smcc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -107,7 +107,7 @@ patternProperties:
|
||||
properties:
|
||||
sound-dai:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
maxItems: 8
|
||||
|
||||
required:
|
||||
- link-name
|
||||
|
||||
@@ -15,6 +15,7 @@ description: |
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- $ref: qcom,wcd93xx-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@@ -22,92 +23,12 @@ properties:
|
||||
- qcom,wcd9380-codec
|
||||
- qcom,wcd9385-codec
|
||||
|
||||
reset-gpios:
|
||||
description: GPIO spec for reset line to use
|
||||
maxItems: 1
|
||||
|
||||
us-euro-gpios:
|
||||
description: GPIO spec for swapping gnd and mic segments
|
||||
maxItems: 1
|
||||
|
||||
vdd-buck-supply:
|
||||
description: A reference to the 1.8V buck supply
|
||||
|
||||
vdd-rxtx-supply:
|
||||
description: A reference to the 1.8V rx supply
|
||||
|
||||
vdd-io-supply:
|
||||
description: A reference to the 1.8V I/O supply
|
||||
|
||||
vdd-mic-bias-supply:
|
||||
description: A reference to the 3.8V mic bias supply
|
||||
|
||||
qcom,tx-device:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: A reference to Soundwire tx device phandle
|
||||
|
||||
qcom,rx-device:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: A reference to Soundwire rx device phandle
|
||||
|
||||
qcom,micbias1-microvolt:
|
||||
description: micbias1 voltage
|
||||
minimum: 1800000
|
||||
maximum: 2850000
|
||||
|
||||
qcom,micbias2-microvolt:
|
||||
description: micbias2 voltage
|
||||
minimum: 1800000
|
||||
maximum: 2850000
|
||||
|
||||
qcom,micbias3-microvolt:
|
||||
description: micbias3 voltage
|
||||
minimum: 1800000
|
||||
maximum: 2850000
|
||||
|
||||
qcom,micbias4-microvolt:
|
||||
description: micbias4 voltage
|
||||
minimum: 1800000
|
||||
maximum: 2850000
|
||||
|
||||
qcom,hphl-jack-type-normally-closed:
|
||||
description: Indicates that HPHL jack switch type is normally closed
|
||||
type: boolean
|
||||
|
||||
qcom,ground-jack-type-normally-closed:
|
||||
description: Indicates that Headset Ground switch type is normally closed
|
||||
type: boolean
|
||||
|
||||
qcom,mbhc-headset-vthreshold-microvolt:
|
||||
description: Voltage threshold value for headset detection
|
||||
minimum: 0
|
||||
maximum: 2850000
|
||||
|
||||
qcom,mbhc-headphone-vthreshold-microvolt:
|
||||
description: Voltage threshold value for headphone detection
|
||||
minimum: 0
|
||||
maximum: 2850000
|
||||
|
||||
qcom,mbhc-buttons-vthreshold-microvolt:
|
||||
description:
|
||||
Array of 8 Voltage threshold values corresponding to headset
|
||||
button0 - button7
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reset-gpios
|
||||
- qcom,tx-device
|
||||
- qcom,rx-device
|
||||
- qcom,micbias1-microvolt
|
||||
- qcom,micbias2-microvolt
|
||||
- qcom,micbias3-microvolt
|
||||
- qcom,micbias4-microvolt
|
||||
- "#sound-dai-cells"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,wcd939x-sdw.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm SoundWire devices on WCD9390/WCD9395
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description: |
|
||||
Qualcomm WCD9390/WCD9395 Codec is a standalone Hi-Fi audio codec IC.
|
||||
It has RX and TX Soundwire devices. This bindings is for the devices.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: sdw20217010e00
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
qcom,tx-port-mapping:
|
||||
description: |
|
||||
Specifies static port mapping between device and host tx ports.
|
||||
In the order of the device port index.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 4
|
||||
maxItems: 4
|
||||
|
||||
qcom,rx-port-mapping:
|
||||
description: |
|
||||
Specifies static port mapping between device and host rx ports.
|
||||
In the order of device port index.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 6
|
||||
maxItems: 6
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
soundwire@3210000 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x03210000 0x2000>;
|
||||
wcd938x_rx: codec@0,4 {
|
||||
compatible = "sdw20217010e00";
|
||||
reg = <0 4>;
|
||||
qcom,rx-port-mapping = <1 2 3 4 5 6>;
|
||||
};
|
||||
};
|
||||
|
||||
soundwire@3230000 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x03230000 0x2000>;
|
||||
wcd938x_tx: codec@0,3 {
|
||||
compatible = "sdw20217010e00";
|
||||
reg = <0 3>;
|
||||
qcom,tx-port-mapping = <2 3 4 5>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
96
Documentation/devicetree/bindings/sound/qcom,wcd939x.yaml
Normal file
96
Documentation/devicetree/bindings/sound/qcom,wcd939x.yaml
Normal file
@@ -0,0 +1,96 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,wcd939x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm WCD9380/WCD9385 Audio Codec
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description: |
|
||||
Qualcomm WCD9390/WCD9395 Codec is a standalone Hi-Fi audio codec IC.
|
||||
It has RX and TX Soundwire devices.
|
||||
The WCD9390/WCD9395 IC has a functionally separate USB-C Mux subsystem
|
||||
accessible over an I2C interface.
|
||||
The Audio Headphone and Microphone data path between the Codec and the USB-C Mux
|
||||
subsystems are external to the IC, thus requiring DT port-endpoint graph description
|
||||
to handle USB-C altmode & orientation switching for Audio Accessory Mode.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- $ref: qcom,wcd93xx-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: qcom,wcd9390-codec
|
||||
- items:
|
||||
- const: qcom,wcd9395-codec
|
||||
- const: qcom,wcd9390-codec
|
||||
|
||||
mode-switch:
|
||||
description: Flag the port as possible handler of altmode switching
|
||||
type: boolean
|
||||
|
||||
orientation-switch:
|
||||
description: Flag the port as possible handler of orientation switching
|
||||
type: boolean
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node to link the WCD939x Codec node to USB MUX subsystems for the
|
||||
purpose of handling altmode muxing and orientation switching to detect and
|
||||
enable Audio Accessory Mode.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
codec {
|
||||
compatible = "qcom,wcd9390-codec";
|
||||
reset-gpios = <&tlmm 32 IRQ_TYPE_NONE>;
|
||||
#sound-dai-cells = <1>;
|
||||
qcom,tx-device = <&wcd939x_tx>;
|
||||
qcom,rx-device = <&wcd939x_rx>;
|
||||
qcom,micbias1-microvolt = <1800000>;
|
||||
qcom,micbias2-microvolt = <1800000>;
|
||||
qcom,micbias3-microvolt = <1800000>;
|
||||
qcom,micbias4-microvolt = <1800000>;
|
||||
qcom,hphl-jack-type-normally-closed;
|
||||
qcom,ground-jack-type-normally-closed;
|
||||
qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
|
||||
qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
|
||||
};
|
||||
|
||||
/* ... */
|
||||
|
||||
soundwire@3210000 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x03210000 0x2000>;
|
||||
wcd939x_rx: codec@0,4 {
|
||||
compatible = "sdw20217010e00";
|
||||
reg = <0 4>;
|
||||
qcom,rx-port-mapping = <1 2 3 4 5 6>;
|
||||
};
|
||||
};
|
||||
|
||||
soundwire@3230000 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x03230000 0x2000>;
|
||||
wcd938x_tx: codec@0,3 {
|
||||
compatible = "sdw20217010e00";
|
||||
reg = <0 3>;
|
||||
qcom,tx-port-mapping = <2 3 4 5>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user