mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'sound-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"We've received a fairly wide range of changes at this time, including
for ALSA and ASoC core, but all of them are rather small changes.
Here are some highlights:
ALSA / ASoC Core:
- Fixes of inconsistent locking around control API helpers
- A few new control API functions and cleanups
- Workarounds for potential UAFs by delayed kobj releases
- Unified PCM copy ops with iov_iter
- Continued efforts for ASoC API cleanups
ASoC:
- An adaptor to allow use of IIO DACs and ADCs in ASoC which pulls in
some IIO changes
- Create a library function for intlog10() and use it in the NAU8825
driver
- Convert drivers to use the more modern maple tree register cache
- Lots of work on the SOF framework, AMD and Intel drivers, including
a lot of cleanup and new device support
- Standardization of the presentation of jacks from drivers
- Provision of some generic sound card DT properties
- Support for AMD Van Gogh, AMD machines with MAX98388 and NAU8821,
AWInic AW88261, Cirrus Logic CS35L36 and CS42L43, various Intel
platforms including AVS machines with ES8336 and RT5663, Mediatek
MT7986, NXP i.MX93, RealTek RT1017 and StarFive JH7110
Others:
- New test coverage including ASoC and topology tests in KUnit; this
also involves enabling UML builds of ALSA since that's the default
KUnit test environment which pulls in the addition of some stubs to
the driver
- More enhancement of pcmtest driver
- A few fixes / enhancements of MIDI 2.0 UMP core
- Using PCI definitions in allover HD-audio code
- Support for Cirrus CS35L56 and TI TAS2781 HD-audio sub-codecs
- CS35L41 HD-audio sub-codec improvements
- Continued emu10k1 improvements"
* tag 'sound-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (693 commits)
ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl
ASoC: dwc: i2s: Fix unused functions
ALSA: usb-audio: Don't try to submit URBs after disconnection
ALSA: emu10k1: add separate documentation for E-MU cards
ALSA: emu10k1: more documentation updates
ALSA: emu10k1: de-duplicate audigy-mixer.rst vs. sb-live-mixer.rst
ALSA: ump: Fix -Wformat-truncation warnings
ALSA: hda: Add missing dependency on CONFIG_EFI for Cirrus/TI sub-codecs
ALSA: doc: Fix missing backquote in midi-2.0.rst
ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx
ALSA: hda/tas2781: Switch back to use struct i2c_driver's .probe()
ASoC: soc-core.c: Do not error if a DAI link component is not found
ASoC: codecs: Fix error code in aw88261_i2c_probe()
ASoC: audio-graph-card.c: move audio_graph_parse_of()
ASoC: cs42l43: Use new-style PM runtime macros
ALSA: documentation: Add description for USB MIDI 2.0 gadget driver
ALSA: ump: Don't create unused substreams for static blocks
ALSA: ump: Fill group names for legacy rawmidi substreams
ALSA: usb-audio: Attach legacy rawmidi after probing all UMP EPs
ALSA: ac97: Fix possible error value of *rac97
...
This commit is contained in:
@@ -162,8 +162,10 @@ Base 2 log and power Functions
|
||||
.. kernel-doc:: include/linux/log2.h
|
||||
:internal:
|
||||
|
||||
Integer power Functions
|
||||
-----------------------
|
||||
Integer log and power Functions
|
||||
-------------------------------
|
||||
|
||||
.. kernel-doc:: include/linux/int_log.h
|
||||
|
||||
.. kernel-doc:: lib/math/int_pow.c
|
||||
:export:
|
||||
|
||||
@@ -9,6 +9,9 @@ title: Amlogic AXG sound card
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: amlogic,axg-sound-card
|
||||
@@ -17,23 +20,12 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: list of auxiliary devices
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
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.
|
||||
|
||||
audio-widgets:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
description:
|
||||
A list off component DAPM widget. Each entry is a pair of strings,
|
||||
the first being the widget type, the second being the widget name
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
patternProperties:
|
||||
"^dai-link-[0-9]+$":
|
||||
type: object
|
||||
@@ -108,7 +100,6 @@ patternProperties:
|
||||
- sound-dai
|
||||
|
||||
required:
|
||||
- model
|
||||
- dai-link-0
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -9,6 +9,9 @@ title: Amlogic GX sound card
|
||||
maintainers:
|
||||
- Jerome Brunet <jbrunet@baylibre.com>
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
@@ -18,14 +21,6 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: list of auxiliary devices
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
minItems: 2
|
||||
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.
|
||||
|
||||
audio-widgets:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
minItems: 2
|
||||
@@ -33,10 +28,6 @@ properties:
|
||||
A list off component DAPM widget. Each entry is a pair of strings,
|
||||
the first being the widget type, the second being the widget name
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
patternProperties:
|
||||
"^dai-link-[0-9]+$":
|
||||
type: object
|
||||
@@ -86,7 +77,7 @@ required:
|
||||
- model
|
||||
- dai-link-0
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/audio-iio-aux.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Audio IIO auxiliary
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description:
|
||||
Auxiliary device based on Industrial I/O device channels
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: audio-iio-aux
|
||||
|
||||
io-channels:
|
||||
description:
|
||||
Industrial I/O device channels used
|
||||
|
||||
io-channel-names:
|
||||
description:
|
||||
Industrial I/O channel names related to io-channels.
|
||||
These names are used to provides sound controls, widgets and routes names.
|
||||
|
||||
snd-control-invert-range:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: |
|
||||
A list of 0/1 flags defining whether or not the related channel is
|
||||
inverted
|
||||
items:
|
||||
enum: [0, 1]
|
||||
default: 0
|
||||
description: |
|
||||
Invert the sound control value compared to the IIO channel raw value.
|
||||
- 1: The related sound control value is inverted meaning that the
|
||||
minimum sound control value correspond to the maximum IIO channel
|
||||
raw value and the maximum sound control value correspond to the
|
||||
minimum IIO channel raw value.
|
||||
- 0: The related sound control value is not inverted meaning that the
|
||||
minimum (resp maximum) sound control value correspond to the
|
||||
minimum (resp maximum) IIO channel raw value.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- io-channels
|
||||
- io-channel-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
iio-aux {
|
||||
compatible = "audio-iio-aux";
|
||||
io-channels = <&iio 0>, <&iio 1>, <&iio 2>, <&iio 3>;
|
||||
io-channel-names = "CH0", "CH1", "CH2", "CH3";
|
||||
/* Invert CH1 and CH2 */
|
||||
snd-control-invert-range = <0 1 1 0>;
|
||||
};
|
||||
@@ -19,7 +19,9 @@ allOf:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: awinic,aw88395
|
||||
enum:
|
||||
- awinic,aw88395
|
||||
- awinic,aw88261
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -17,6 +17,9 @@ description: |
|
||||
such as SAI, MICFIL, .etc through building rpmsg channels between
|
||||
Cortex-A and Cortex-M.
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@@ -25,10 +28,7 @@ properties:
|
||||
- fsl,imx8mm-rpmsg-audio
|
||||
- fsl,imx8mp-rpmsg-audio
|
||||
- fsl,imx8ulp-rpmsg-audio
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
- fsl,imx93-rpmsg-audio
|
||||
|
||||
clocks:
|
||||
items:
|
||||
@@ -65,13 +65,6 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle to a node of audio codec
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
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.
|
||||
|
||||
fsl,enable-lpa:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: enable low power audio path.
|
||||
@@ -100,9 +93,8 @@ properties:
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- model
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
||||
@@ -13,23 +13,15 @@ maintainers:
|
||||
description:
|
||||
This binding describes the SC7180 sound card which uses LPASS for audio.
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- google,sc7180-trogdor
|
||||
- google,sc7180-coachz
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
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.
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
@@ -86,11 +78,10 @@ patternProperties:
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- model
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
|
||||
@@ -13,22 +13,14 @@ maintainers:
|
||||
description:
|
||||
This binding describes the SC7280 sound card which uses LPASS for audio.
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- google,sc7280-herobrine
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
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.
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
@@ -97,11 +89,10 @@ patternProperties:
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- model
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
GTM601 UMTS modem audio interface CODEC
|
||||
|
||||
This device has no configuration interface. The sample rate and channels are
|
||||
based on the compatible string
|
||||
"option,gtm601" = 8kHz mono
|
||||
"broadmobi,bm818" = 48KHz stereo
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : one of
|
||||
"option,gtm601"
|
||||
"broadmobi,bm818"
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
codec: gtm601_codec {
|
||||
compatible = "option,gtm601";
|
||||
};
|
||||
@@ -9,23 +9,14 @@ title: NXP i.MX audio sound card.
|
||||
maintainers:
|
||||
- Shengjiu Wang <shengjiu.wang@nxp.com>
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx-audio-card
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
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. Valid names could be power supplies,
|
||||
MicBias of codec and the jacks on the board.
|
||||
|
||||
patternProperties:
|
||||
".*-dai-link$":
|
||||
description:
|
||||
@@ -84,9 +75,8 @@ patternProperties:
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- model
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
Maxim Integrated MAX98925/MAX98926/MAX98927 Speaker Amplifier
|
||||
|
||||
This device supports I2C.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be one of the following
|
||||
- "maxim,max98925"
|
||||
- "maxim,max98926"
|
||||
- "maxim,max98927"
|
||||
|
||||
- vmon-slot-no : slot number used to send voltage information
|
||||
or in inteleave mode this will be used as
|
||||
interleave slot.
|
||||
MAX98925/MAX98926 slot range : 0 ~ 30, Default : 0
|
||||
MAX98927 slot range : 0 ~ 15, Default : 0
|
||||
|
||||
- imon-slot-no : slot number used to send current information
|
||||
MAX98925/MAX98926 slot range : 0 ~ 30, Default : 0
|
||||
MAX98927 slot range : 0 ~ 15, Default : 0
|
||||
|
||||
- interleave-mode : When using two MAX9892X in a system it is
|
||||
possible to create ADC data that that will
|
||||
overflow the frame size. Digital Audio Interleave
|
||||
mode provides a means to output VMON and IMON data
|
||||
from two devices on a single DOUT line when running
|
||||
smaller frames sizes such as 32 BCLKS per LRCLK or
|
||||
48 BCLKS per LRCLK.
|
||||
Range : 0 (off), 1 (on), Default : 0
|
||||
|
||||
- reg : the I2C address of the device for I2C
|
||||
|
||||
Optional properties:
|
||||
- reset-gpios : GPIO to reset the device
|
||||
|
||||
Example:
|
||||
|
||||
codec: max98927@3a {
|
||||
compatible = "maxim,max98927";
|
||||
vmon-slot-no = <0>;
|
||||
imon-slot-no = <1>;
|
||||
interleave-mode = <0>;
|
||||
reg = <0x3a>;
|
||||
};
|
||||
@@ -0,0 +1,98 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/maxim,max98925.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim Integrated MAX98925/MAX98926/MAX98927 speaker amplifier
|
||||
|
||||
maintainers:
|
||||
- Ryan Lee <ryans.lee@maximintegrated.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max98925
|
||||
- maxim,max98926
|
||||
- maxim,max98927
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
vmon-slot-no:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 30
|
||||
default: 0
|
||||
description:
|
||||
Slot number used to send voltage information or in inteleave mode this
|
||||
will be used as interleave slot.
|
||||
|
||||
imon-slot-no:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 30
|
||||
default: 0
|
||||
description:
|
||||
Slot number used to send current information.
|
||||
|
||||
maxim,interleave-mode:
|
||||
type: boolean
|
||||
description:
|
||||
When using two MAX9892X in a system it is possible to create ADC data
|
||||
that will overflow the frame size. When enabled, the Digital Audio
|
||||
Interleave mode provides a means to output VMON and IMON data from two
|
||||
devices on a single DOUT line when running smaller frames sizes such as
|
||||
32 BCLKS per LRCLK or 48 BCLKS per LRCLK.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- maxim,max98927
|
||||
then:
|
||||
properties:
|
||||
vmon-slot-no:
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
|
||||
imon-slot-no:
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
audio-codec@3a {
|
||||
compatible = "maxim,max98927";
|
||||
reg = <0x3a>;
|
||||
#sound-dai-cells = <0>;
|
||||
|
||||
pinctrl-0 = <&speaker_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reset-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
|
||||
|
||||
vmon-slot-no = <1>;
|
||||
imon-slot-no = <0>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,160 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt7986-afe.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek AFE PCM controller for MT7986
|
||||
|
||||
maintainers:
|
||||
- Maso Huang <maso.huang@mediatek.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: mediatek,mt7986-afe
|
||||
- items:
|
||||
- enum:
|
||||
- mediatek,mt7981-afe
|
||||
- mediatek,mt7988-afe
|
||||
- const: mediatek,mt7986-afe
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 5
|
||||
items:
|
||||
- description: audio bus clock
|
||||
- description: audio 26M clock
|
||||
- description: audio intbus clock
|
||||
- description: audio hopping clock
|
||||
- description: audio pll clock
|
||||
- description: mux for pcm_mck
|
||||
- description: audio i2s/pcm mck
|
||||
|
||||
clock-names:
|
||||
minItems: 5
|
||||
items:
|
||||
- const: bus_ck
|
||||
- const: 26m_ck
|
||||
- const: l_ck
|
||||
- const: aud_ck
|
||||
- const: eg2_ck
|
||||
- const: sel
|
||||
- const: i2s_m
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt7986-afe
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
items:
|
||||
- description: audio bus clock
|
||||
- description: audio 26M clock
|
||||
- description: audio intbus clock
|
||||
- description: audio hopping clock
|
||||
- description: audio pll clock
|
||||
clock-names:
|
||||
items:
|
||||
- const: bus_ck
|
||||
- const: 26m_ck
|
||||
- const: l_ck
|
||||
- const: aud_ck
|
||||
- const: eg2_ck
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt7981-afe
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
items:
|
||||
- description: audio bus clock
|
||||
- description: audio 26M clock
|
||||
- description: audio intbus clock
|
||||
- description: audio hopping clock
|
||||
- description: audio pll clock
|
||||
- description: mux for pcm_mck
|
||||
clock-names:
|
||||
items:
|
||||
- const: bus_ck
|
||||
- const: 26m_ck
|
||||
- const: l_ck
|
||||
- const: aud_ck
|
||||
- const: eg2_ck
|
||||
- const: sel
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt7988-afe
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
items:
|
||||
- description: audio bus clock
|
||||
- description: audio 26M clock
|
||||
- description: audio intbus clock
|
||||
- description: audio hopping clock
|
||||
- description: audio pll clock
|
||||
- description: mux for pcm_mck
|
||||
- description: audio i2s/pcm mck
|
||||
clock-names:
|
||||
items:
|
||||
- const: bus_ck
|
||||
- const: 26m_ck
|
||||
- const: l_ck
|
||||
- const: aud_ck
|
||||
- const: eg2_ck
|
||||
- const: sel
|
||||
- const: i2s_m
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/clock/mt7986-clk.h>
|
||||
|
||||
afe@11210000 {
|
||||
compatible = "mediatek,mt7986-afe";
|
||||
reg = <0x11210000 0x9000>;
|
||||
interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&infracfg_ao CLK_INFRA_AUD_BUS_CK>,
|
||||
<&infracfg_ao CLK_INFRA_AUD_26M_CK>,
|
||||
<&infracfg_ao CLK_INFRA_AUD_L_CK>,
|
||||
<&infracfg_ao CLK_INFRA_AUD_AUD_CK>,
|
||||
<&infracfg_ao CLK_INFRA_AUD_EG2_CK>;
|
||||
clock-names = "bus_ck",
|
||||
"26m_ck",
|
||||
"l_ck",
|
||||
"aud_ck",
|
||||
"eg2_ck";
|
||||
assigned-clocks = <&topckgen CLK_TOP_A1SYS_SEL>,
|
||||
<&topckgen CLK_TOP_AUD_L_SEL>,
|
||||
<&topckgen CLK_TOP_A_TUNER_SEL>;
|
||||
assigned-clock-parents = <&topckgen CLK_TOP_APLL2_D4>,
|
||||
<&apmixedsys CLK_APMIXED_APLL2>,
|
||||
<&topckgen CLK_TOP_APLL2_D4>;
|
||||
};
|
||||
|
||||
...
|
||||
@@ -0,0 +1,67 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt7986-wm8960.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek MT7986 sound card with WM8960 codec
|
||||
|
||||
maintainers:
|
||||
- Maso Huang <maso.huang@mediatek.com>
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt7986-wm8960-sound
|
||||
|
||||
platform:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
sound-dai:
|
||||
description: The phandle of MT7986 platform.
|
||||
maxItems: 1
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
codec:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
properties:
|
||||
sound-dai:
|
||||
description: The phandle of wm8960 codec.
|
||||
maxItems: 1
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- audio-routing
|
||||
- platform
|
||||
- codec
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "mediatek,mt7986-wm8960-sound";
|
||||
model = "mt7986-wm8960";
|
||||
audio-routing =
|
||||
"Headphone", "HP_L",
|
||||
"Headphone", "HP_R",
|
||||
"LINPUT1", "AMIC",
|
||||
"RINPUT1", "AMIC";
|
||||
|
||||
platform {
|
||||
sound-dai = <&afe>;
|
||||
};
|
||||
|
||||
codec {
|
||||
sound-dai = <&wm8960>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -25,6 +25,12 @@ properties:
|
||||
reset-names:
|
||||
const: audiosys
|
||||
|
||||
memory-region:
|
||||
maxItems: 1
|
||||
description: |
|
||||
Shared memory region for AFE memif. A "shared-dma-pool".
|
||||
See ../reserved-memory/reserved-memory.yaml for details.
|
||||
|
||||
mediatek,topckgen:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of the mediatek topckgen controller
|
||||
@@ -176,6 +182,7 @@ examples:
|
||||
interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
resets = <&watchdog 14>;
|
||||
reset-names = "audiosys";
|
||||
memory-region = <&snd_dma_mem_reserved>;
|
||||
mediatek,topckgen = <&topckgen>;
|
||||
mediatek,infracfg = <&infracfg_ao>;
|
||||
power-domains = <&spm 13>; //MT8188_POWER_DOMAIN_AUDIO
|
||||
|
||||
@@ -9,23 +9,19 @@ title: MediaTek MT8188 ASoC sound card
|
||||
maintainers:
|
||||
- Trevor Wu <trevor.wu@mediatek.com>
|
||||
|
||||
allOf:
|
||||
- $ref: sound-card-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mediatek,mt8188-mt6359-evb
|
||||
- mediatek,mt8188-nau8825
|
||||
|
||||
model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: User specified audio sound card name
|
||||
|
||||
audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
description:
|
||||
A list of the connections between audio components. Each entry is a
|
||||
sink/source pair of strings. Valid names could be the input or output
|
||||
widgets of audio components, power supplies, MicBias of codec and the
|
||||
software switch.
|
||||
Valid names could be the input or output widgets of audio components,
|
||||
power supplies, MicBias of codec and the software switch.
|
||||
|
||||
mediatek,platform:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
@@ -86,7 +82,7 @@ patternProperties:
|
||||
required:
|
||||
- link-name
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
@@ -96,6 +92,7 @@ examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "mediatek,mt8188-mt6359-evb";
|
||||
model = "MT6359-EVB";
|
||||
mediatek,platform = <&afe>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&aud_pins_default>;
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
Nuvoton NAU88L21 audio codec
|
||||
|
||||
This device supports I2C only.
|
||||
|
||||
Required properties:
|
||||
- compatible : Must be "nuvoton,nau8821"
|
||||
|
||||
- reg : the I2C address of the device. This is either 0x1B (CSB=0) or 0x54 (CSB=1).
|
||||
|
||||
Optional properties:
|
||||
- nuvoton,jkdet-enable: Enable jack detection via JKDET pin.
|
||||
- nuvoton,jkdet-pull-enable: Enable JKDET pin pull. If set - pin pull enabled,
|
||||
otherwise pin in high impedance state.
|
||||
- nuvoton,jkdet-pull-up: Pull-up JKDET pin. If set then JKDET pin is pull up, otherwise pull down.
|
||||
- nuvoton,jkdet-polarity: JKDET pin polarity. 0 - active high, 1 - active low.
|
||||
|
||||
- nuvoton,vref-impedance: VREF Impedance selection
|
||||
0 - Open
|
||||
1 - 25 kOhm
|
||||
2 - 125 kOhm
|
||||
3 - 2.5 kOhm
|
||||
|
||||
- nuvoton,micbias-voltage: Micbias voltage level.
|
||||
0 - VDDA
|
||||
1 - VDDA
|
||||
2 - VDDA * 1.1
|
||||
3 - VDDA * 1.2
|
||||
4 - VDDA * 1.3
|
||||
5 - VDDA * 1.4
|
||||
6 - VDDA * 1.53
|
||||
7 - VDDA * 1.53
|
||||
|
||||
- nuvoton,jack-insert-debounce: number from 0 to 7 that sets debounce time to 2^(n+2) ms
|
||||
- nuvoton,jack-eject-debounce: number from 0 to 7 that sets debounce time to 2^(n+2) ms
|
||||
|
||||
- nuvoton,dmic-clk-threshold: the ADC threshold of DMIC clock.
|
||||
- nuvoton,key_enable: Headset button detection switch.
|
||||
|
||||
Example:
|
||||
|
||||
headset: nau8821@1b {
|
||||
compatible = "nuvoton,nau8821";
|
||||
reg = <0x1b>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||
nuvoton,jkdet-enable;
|
||||
nuvoton,jkdet-pull-enable;
|
||||
nuvoton,jkdet-pull-up;
|
||||
nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
|
||||
nuvoton,vref-impedance = <2>;
|
||||
nuvoton,micbias-voltage = <6>;
|
||||
nuvoton,jack-insert-debounce = <7>;
|
||||
nuvoton,jack-eject-debounce = <7>;
|
||||
nuvoton,dmic-clk-threshold = 3072000;
|
||||
};
|
||||
@@ -0,0 +1,132 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/nuvoton,nau8821.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NAU88L21 audio codec
|
||||
|
||||
maintainers:
|
||||
- Seven Lee <wtli@nuvoton.com>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nuvoton,nau8821
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
nuvoton,jkdet-enable:
|
||||
description: Enable jack detection via JKDET pin.
|
||||
type: boolean
|
||||
|
||||
nuvoton,jkdet-pull-enable:
|
||||
description: Enable JKDET pin pull. If set - pin pull enabled,
|
||||
otherwise pin in high impedance state.
|
||||
type: boolean
|
||||
|
||||
nuvoton,jkdet-pull-up:
|
||||
description: Pull-up JKDET pin. If set then JKDET pin is pull up,
|
||||
otherwise pull down.
|
||||
type: boolean
|
||||
|
||||
nuvoton,key-enable:
|
||||
description: handles key press detection.
|
||||
type: boolean
|
||||
|
||||
nuvoton,jkdet-polarity:
|
||||
description: JKDET pin polarity.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum:
|
||||
- 0 # active high
|
||||
- 1 # active low
|
||||
default: 1
|
||||
|
||||
nuvoton,micbias-voltage:
|
||||
description: MICBIAS output level select.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum:
|
||||
- 0 # VDDA
|
||||
- 1 # VDDA * 1
|
||||
- 2 # VDDA * 1.1
|
||||
- 3 # VDDA * 1.2
|
||||
- 4 # VDDA * 1.3
|
||||
- 5 # VDDA * 1.4
|
||||
- 6 # VDDA * 1.53
|
||||
- 7 # VDDA * 1.53
|
||||
default: 6
|
||||
|
||||
nuvoton,vref-impedance:
|
||||
description: VMID Tie-off impedance select.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum:
|
||||
- 0 # open
|
||||
- 1 # 25KOhms
|
||||
- 2 # 125KOhms
|
||||
- 3 # 2.5KOhms
|
||||
default: 2
|
||||
|
||||
nuvoton,jack-insert-debounce:
|
||||
description: number from 0 to 7 that sets debounce time to 2^(n+2)ms.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
maximum: 7
|
||||
default: 7
|
||||
|
||||
nuvoton,jack-eject-debounce:
|
||||
description: number from 0 to 7 that sets debounce time to 2^(n+2)ms.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
maximum: 7
|
||||
default: 0
|
||||
|
||||
nuvoton,dmic-clk-threshold:
|
||||
description: DMIC clock speed expected value. Unit is Hz.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 3072000
|
||||
|
||||
nuvoton,left-input-single-end:
|
||||
description: Enable left input with single-ended settings if set.
|
||||
For the headset mic application, the single-ended control is
|
||||
just limited to the left adc for design demand.
|
||||
type: boolean
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
codec@1b {
|
||||
compatible = "nuvoton,nau8821";
|
||||
reg = <0x1b>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||
nuvoton,jkdet-enable;
|
||||
nuvoton,jkdet-pull-enable;
|
||||
nuvoton,jkdet-pull-up;
|
||||
nuvoton,key-enable;
|
||||
nuvoton,left-input-single-end;
|
||||
nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
|
||||
nuvoton,micbias-voltage = <6>;
|
||||
nuvoton,vref-impedance = <2>;
|
||||
nuvoton,jack-insert-debounce = <7>;
|
||||
nuvoton,jack-eject-debounce = <0>;
|
||||
nuvoton,dmic-clk-threshold = <3072000>;
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
@@ -21,6 +21,15 @@ properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
const: mclk
|
||||
|
||||
nuvoton,spk-btl:
|
||||
description:
|
||||
If set, configure the two loudspeaker outputs as a Bridge Tied Load output
|
||||
@@ -31,6 +40,9 @@ required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/option,gtm601.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: GTM601 UMTS modem audio interface CODEC
|
||||
|
||||
maintainers:
|
||||
- kernel@puri.sm
|
||||
|
||||
description: >
|
||||
This device has no configuration interface. The sample rate and channels are
|
||||
based on the compatible string
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: Broadmobi BM818 (48Khz stereo)
|
||||
items:
|
||||
- const: broadmobi,bm818
|
||||
- const: option,gtm601
|
||||
- description: GTM601 (8kHz mono)
|
||||
const: option,gtm601
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
codec {
|
||||
compatible = "option,gtm601";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user