Skip to content
Snippets Groups Projects
Commit b71428d7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "No surprises in this development cycle, and most of work is about the
  fixes and the improvements of the existing code, while a new LED
  control layer and a few new drivers have been introduced.

  Here are some highlights:

  Core:
   - A common mute-LED framework was introduced. It is used by HD-audio
     for now, more adaption will follow later. The former "Mic Mute-LED
     Mode" mixer control has been replaced with the corresponding sysfs
     now.
   - User-control management was changed to count consumed bytes instead
     of capping by number of elements; this will allow more controls in
     the normal usage pattern while avoiding the possible memory
     exhaustion DoS

  ASoC:
   - Continued refactoring and cleanups in ASoC core and generic card
     drivers
   - Wide range of small cppcheck and warning fixes
   - New drivers for Freescale i.MX DMA over rpmsg, Mediatek MT6358
     accessory detection, and Realtek RT1019, RT1316, RT711 and RT715

  USB-audio:
   - Continued improvements and fixes of the implicit feedback mode,
     including better support for Pioneer and Roland/BOSS devices

  HD-audio:
   - Default back to non-buffer preallocation on x86
   - Cirrus codec improvements, more quirks for Realtek codecs

  Others:
   - New virtio sound driver
   - FireWire Bebob updates"

* tag 'sound-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (587 commits)
  ALSA: hda/conexant: Re-order CX5066 quirk table entries
  ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices
  ALSA: hda/realtek: Re-order ALC662 quirk table entries
  ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries
  ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries
  ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries
  ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries
  ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries
  ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries
  ALSA: hda/realtek: Re-order ALC269 HP quirk table entries
  ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries
  ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries
  ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries
  ALSA: usb-audio: Remove redundant assignment to len
  ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx
  ALSA: virtio: fix kernel-doc
  ALSA: hda/cirrus: Use CS8409 filter to fix abnormal sounds on Bullseye
  ALSA: hda/cirrus: Set Initial DMIC volume for Bullseye to -26 dB
  ALSA: sb: Fix two use after free in snd_sb_qsound_build
  ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer
  ...
parents 95275402 2e6a7312
No related branches found
No related tags found
No related merge requests found
Showing
with 381 additions and 145 deletions
...@@ -4,7 +4,7 @@ This device supports I2C mode only. ...@@ -4,7 +4,7 @@ This device supports I2C mode only.
Required properties: Required properties:
- compatible : "asahi-kasei,ak5558" - compatible : "asahi-kasei,ak5558" or "asahi-kasei,ak5552".
- reg : The I2C address of the device. - reg : The I2C address of the device.
Optional properties: Optional properties:
......
...@@ -11,71 +11,59 @@ maintainers: ...@@ -11,71 +11,59 @@ maintainers:
select: false select: false
allOf:
- $ref: /schemas/graph.yaml#/$defs/port-base
properties: properties:
port: prefix:
description: single OF-Graph subnode description: "device name prefix"
type: object $ref: /schemas/types.yaml#/definitions/string
convert-rate:
description: CPU to Codec rate convert.
$ref: /schemas/types.yaml#/definitions/uint32
convert-channels:
description: CPU to Codec rate channels.
$ref: /schemas/types.yaml#/definitions/uint32
patternProperties:
"^endpoint(@[0-9a-f]+)?":
$ref: /schemas/graph.yaml#/$defs/endpoint-base
properties: properties:
reg: mclk-fs:
maxItems: 1 description: |
prefix: Multiplication factor between stream rate and codec mclk.
description: "device name prefix" When defined, mclk-fs property defined in dai-link sub nodes are
$ref: /schemas/types.yaml#/definitions/string ignored.
$ref: /schemas/types.yaml#/definitions/uint32
frame-inversion:
description: dai-link uses frame clock inversion
$ref: /schemas/types.yaml#/definitions/flag
bitclock-inversion:
description: dai-link uses bit clock inversion
$ref: /schemas/types.yaml#/definitions/flag
frame-master:
description: Indicates dai-link frame master.
$ref: /schemas/types.yaml#/definitions/phandle
bitclock-master:
description: Indicates dai-link bit clock master
$ref: /schemas/types.yaml#/definitions/phandle
dai-format:
description: audio format.
items:
enum:
- i2s
- right_j
- left_j
- dsp_a
- dsp_b
- ac97
- pdm
- msb
- lsb
convert-rate: convert-rate:
description: CPU to Codec rate convert. description: CPU to Codec rate convert.
$ref: /schemas/types.yaml#/definitions/uint32 $ref: /schemas/types.yaml#/definitions/uint32
convert-channels: convert-channels:
description: CPU to Codec rate channels. description: CPU to Codec rate channels.
$ref: /schemas/types.yaml#/definitions/uint32 $ref: /schemas/types.yaml#/definitions/uint32
patternProperties:
"^endpoint(@[0-9a-f]+)?":
type: object
properties:
remote-endpoint:
maxItems: 1
mclk-fs:
description: |
Multiplication factor between stream rate and codec mclk.
When defined, mclk-fs property defined in dai-link sub nodes are
ignored.
$ref: /schemas/types.yaml#/definitions/uint32
frame-inversion:
description: dai-link uses frame clock inversion
$ref: /schemas/types.yaml#/definitions/flag
bitclock-inversion:
description: dai-link uses bit clock inversion
$ref: /schemas/types.yaml#/definitions/flag
frame-master:
description: Indicates dai-link frame master.
$ref: /schemas/types.yaml#/definitions/phandle
bitclock-master:
description: Indicates dai-link bit clock master
$ref: /schemas/types.yaml#/definitions/phandle
dai-format:
description: audio format.
items:
enum:
- i2s
- right_j
- left_j
- dsp_a
- dsp_b
- ac97
- pdm
- msb
- lsb
convert-rate:
description: CPU to Codec rate convert.
$ref: /schemas/types.yaml#/definitions/uint32
convert-channels:
description: CPU to Codec rate channels.
$ref: /schemas/types.yaml#/definitions/uint32
ports:
description: multi OF-Graph subnode
type: object
patternProperties:
"^port(@[0-9a-f]+)?":
$ref: "#/properties/port"
additionalProperties: true additionalProperties: true
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP Audio RPMSG CPU DAI Controller
maintainers:
- Shengjiu Wang <shengjiu.wang@nxp.com>
description: |
fsl_rpmsg is a virtual audio device. Mapping to real hardware devices
are SAI, DMA controlled by Cortex M core. What we see from Linux
side is a device which provides audio service by rpmsg channel.
properties:
compatible:
enum:
- fsl,imx7ulp-rpmsg-audio
- fsl,imx8mn-rpmsg-audio
- fsl,imx8mm-rpmsg-audio
- fsl,imx8mp-rpmsg-audio
model:
$ref: /schemas/types.yaml#/definitions/string
description: User specified audio sound card name
clocks:
items:
- description: Peripheral clock for register access
- description: Master clock
- description: DMA clock for DMA register access
- description: Parent clock for multiple of 8kHz sample rates
- description: Parent clock for multiple of 11kHz sample rates
clock-names:
items:
- const: ipg
- const: mclk
- const: dma
- const: pll8k
- const: pll11k
power-domains:
description:
List of phandle and PM domain specifier as documented in
Documentation/devicetree/bindings/power/power_domain.txt
maxItems: 1
memory-region:
$ref: /schemas/types.yaml#/definitions/phandle
description:
phandle to a node describing reserved memory (System RAM memory)
The M core can't access all the DDR memory space on some platform,
So reserved a specific memory for dma buffer which M core can
access.
(see bindings/reserved-memory/reserved-memory.txt)
audio-codec:
$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.
fsl,rpmsg-out:
$ref: /schemas/types.yaml#/definitions/flag
description: |
This is a boolean property. If present, the transmitting function
will be enabled.
fsl,rpmsg-in:
$ref: /schemas/types.yaml#/definitions/flag
description: |
This is a boolean property. If present, the receiving function
will be enabled.
required:
- compatible
- model
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/imx8mn-clock.h>
rpmsg_audio: rpmsg_audio {
compatible = "fsl,imx8mn-rpmsg-audio";
model = "wm8524-audio";
fsl,enable-lpa;
fsl,rpmsg-out;
clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
<&clk IMX8MN_CLK_SAI3_ROOT>,
<&clk IMX8MN_CLK_SDMA3_ROOT>,
<&clk IMX8MN_AUDIO_PLL1_OUT>,
<&clk IMX8MN_AUDIO_PLL2_OUT>;
clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
};
...@@ -42,6 +42,8 @@ The compatible list for this generic sound card currently: ...@@ -42,6 +42,8 @@ The compatible list for this generic sound card currently:
"fsl,imx-audio-si476x" "fsl,imx-audio-si476x"
"fsl,imx-audio-wm8958"
Required properties: Required properties:
- compatible : Contains one of entries in the compatible list. - compatible : Contains one of entries in the compatible list.
......
...@@ -81,6 +81,6 @@ examples: ...@@ -81,6 +81,6 @@ examples:
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "osc", "apb_clk"; clock-names = "osc", "apb_clk";
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>; clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>;
dmas = <&axi_dma0 29 &axi_dma0 33>; dmas = <&axi_dma0 29>, <&axi_dma0 33>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
}; };
...@@ -9,9 +9,6 @@ title: Marvel SSPA Digital Audio Interface Bindings ...@@ -9,9 +9,6 @@ title: Marvel SSPA Digital Audio Interface Bindings
maintainers: maintainers:
- Lubomir Rintel <lkundrak@v3.sk> - Lubomir Rintel <lkundrak@v3.sk>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^audio-controller(@.*)?$" pattern: "^audio-controller(@.*)?$"
...@@ -54,7 +51,8 @@ properties: ...@@ -54,7 +51,8 @@ properties:
- const: rx - const: rx
port: port:
type: object $ref: audio-graph-port.yaml#
unevaluatedProperties: false
properties: properties:
endpoint: endpoint:
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/mchp,i2s-mcc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip I2S Multi-Channel Controller
maintainers:
- Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
description:
The I2SMCC complies with the Inter-IC Sound (I2S) bus specification and
supports a Time Division Multiplexed (TDM) interface with external
multi-channel audio codecs. It consists of a receiver, a transmitter and a
common clock generator that can be enabled separately to provide Adapter,
Client or Controller modes with receiver and/or transmitter active.
On later I2SMCC versions (starting with Microchip's SAMA7G5) I2S
multi-channel is supported by using multiple data pins, output and
input, without TDM.
properties:
"#sound-dai-cells":
const: 0
compatible:
enum:
- microchip,sam9x60-i2smcc
- microchip,sama7g5-i2smcc
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: Peripheral Bus Clock
- description: Generic Clock (Optional). Should be set mostly when Master
Mode is required.
minItems: 1
clock-names:
items:
- const: pclk
- const: gclk
minItems: 1
dmas:
items:
- description: TX DMA Channel
- description: RX DMA Channel
dma-names:
items:
- const: tx
- const: rx
microchip,tdm-data-pair:
description:
Represents the DIN/DOUT pair pins that are used to receive/send
TDM data. It is optional and it is only needed if the controller
uses the TDM mode.
$ref: /schemas/types.yaml#/definitions/uint8
enum: [0, 1, 2, 3]
default: 0
if:
properties:
compatible:
const: microchip,sam9x60-i2smcc
then:
properties:
microchip,tdm-data-pair: false
required:
- "#sound-dai-cells"
- compatible
- reg
- interrupts
- clocks
- clock-names
- dmas
- dma-names
additionalProperties: false
examples:
- |
#include <dt-bindings/dma/at91.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
i2s@f001c000 {
#sound-dai-cells = <0>;
compatible = "microchip,sam9x60-i2smcc";
reg = <0xf001c000 0x100>;
interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(36))>,
<&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(37))>;
dma-names = "tx", "rx";
clocks = <&i2s_clk>, <&i2s_gclk>;
clock-names = "pclk", "gclk";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2s_default>;
};
* Microchip I2S Multi-Channel Controller
Required properties:
- compatible: Should be "microchip,sam9x60-i2smcc".
- reg: Should be the physical base address of the controller and the
length of memory mapped region.
- interrupts: Should contain the interrupt for the controller.
- dmas: Should be one per channel name listed in the dma-names property,
as described in atmel-dma.txt and dma.txt files.
- dma-names: Identifier string for each DMA request line in the dmas property.
Two dmas have to be defined, "tx" and "rx".
- clocks: Must contain an entry for each entry in clock-names.
Please refer to clock-bindings.txt.
- clock-names: Should be one of each entry matching the clocks phandles list:
- "pclk" (peripheral clock) Required.
- "gclk" (generated clock) Optional (1).
Optional properties:
- pinctrl-0: Should specify pin control groups used for this controller.
- princtrl-names: Should contain only one value - "default".
(1) : Only the peripheral clock is required. The generated clock is optional
and should be set mostly when Master Mode is required.
Example:
i2s@f001c000 {
compatible = "microchip,sam9x60-i2smcc";
reg = <0xf001c000 0x100>;
interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(36))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(37))>;
dma-names = "tx", "rx";
clocks = <&i2s_clk>, <&i2s_gclk>;
clock-names = "pclk", "gclk";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2s_default>;
};
...@@ -4,6 +4,7 @@ Required properties: ...@@ -4,6 +4,7 @@ Required properties:
- compatible : "mediatek,mt8183_mt6358_ts3a227_max98357" for MAX98357A codec - compatible : "mediatek,mt8183_mt6358_ts3a227_max98357" for MAX98357A codec
"mediatek,mt8183_mt6358_ts3a227_max98357b" for MAX98357B codec "mediatek,mt8183_mt6358_ts3a227_max98357b" for MAX98357B codec
"mediatek,mt8183_mt6358_ts3a227_rt1015" for RT1015 codec "mediatek,mt8183_mt6358_ts3a227_rt1015" for RT1015 codec
"mediatek,mt8183_mt6358_ts3a227_rt1015p" for RT1015P codec
- mediatek,platform: the phandle of MT8183 ASoC platform - mediatek,platform: the phandle of MT8183 ASoC platform
Optional properties: Optional properties:
......
...@@ -17,9 +17,6 @@ maintainers: ...@@ -17,9 +17,6 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^dspk@[0-9a-f]*$" pattern: "^dspk@[0-9a-f]*$"
...@@ -59,14 +56,18 @@ properties: ...@@ -59,14 +56,18 @@ properties:
available instances on a Tegra SoC. available instances on a Tegra SoC.
ports: ports:
type: object $ref: /schemas/graph.yaml#/properties/ports
properties: properties:
port@0: port@0:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
description: | description: |
DSPK ACIF (Audio Client Interface) port connected to the DSPK ACIF (Audio Client Interface) port connected to the
corresponding AHUB (Audio Hub) ACIF port. corresponding AHUB (Audio Hub) ACIF port.
port@1: port@1:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
description: | description: |
DSPK DAP (Digital Audio Port) interface which can be connected DSPK DAP (Digital Audio Port) interface which can be connected
to external audio codec for playback. to external audio codec for playback.
...@@ -80,7 +81,7 @@ required: ...@@ -80,7 +81,7 @@ required:
- assigned-clock-parents - assigned-clock-parents
- sound-name-prefix - sound-name-prefix
unevaluatedProperties: false additionalProperties: false
examples: examples:
- | - |
......
...@@ -17,9 +17,6 @@ maintainers: ...@@ -17,9 +17,6 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^admaif@[0-9a-f]*$" pattern: "^admaif@[0-9a-f]*$"
...@@ -41,6 +38,7 @@ properties: ...@@ -41,6 +38,7 @@ properties:
dma-names: true dma-names: true
ports: ports:
$ref: /schemas/graph.yaml#/properties/ports
description: | description: |
Contains list of ACIF (Audio CIF) port nodes for ADMAIF channels. Contains list of ACIF (Audio CIF) port nodes for ADMAIF channels.
The number of port nodes depends on the number of ADMAIF channels The number of port nodes depends on the number of ADMAIF channels
...@@ -48,6 +46,11 @@ properties: ...@@ -48,6 +46,11 @@ properties:
in AHUB (Audio Hub). Each port is capable of data transfers in in AHUB (Audio Hub). Each port is capable of data transfers in
both directions. both directions.
patternProperties:
'^port@[0-9]':
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
if: if:
properties: properties:
compatible: compatible:
...@@ -92,7 +95,7 @@ required: ...@@ -92,7 +95,7 @@ required:
- dmas - dmas
- dma-names - dma-names
unevaluatedProperties: false additionalProperties: false
examples: examples:
- | - |
......
...@@ -17,9 +17,6 @@ maintainers: ...@@ -17,9 +17,6 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^ahub@[0-9a-f]*$" pattern: "^ahub@[0-9a-f]*$"
...@@ -60,12 +57,34 @@ properties: ...@@ -60,12 +57,34 @@ properties:
ranges: true ranges: true
ports: ports:
$ref: /schemas/graph.yaml#/properties/ports
description: | description: |
Contains list of ACIF (Audio CIF) port nodes for AHUB (Audio Hub). Contains list of ACIF (Audio CIF) port nodes for AHUB (Audio Hub).
These are connected to ACIF interfaces of AHUB clients. Thus the These are connected to ACIF interfaces of AHUB clients. Thus the
number of port nodes depend on the number of clients that AHUB may number of port nodes depend on the number of clients that AHUB may
have depending on the SoC revision. have depending on the SoC revision.
patternProperties:
'^port@[0-9]':
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
patternProperties:
'^i2s@[0-9a-f]+$':
type: object
'^dmic@[0-9a-f]+$':
type: object
$ref: nvidia,tegra210-dmic.yaml#
'^admaif@[0-9a-f]+$':
type: object
$ref: nvidia,tegra210-admaif.yaml#
'^dspk@[0-9a-f]+$':
type: object
$ref: nvidia,tegra186-dspk.yaml#
required: required:
- compatible - compatible
- reg - reg
...@@ -77,7 +96,7 @@ required: ...@@ -77,7 +96,7 @@ required:
- "#size-cells" - "#size-cells"
- ranges - ranges
unevaluatedProperties: false additionalProperties: false
examples: examples:
- | - |
......
...@@ -16,9 +16,6 @@ maintainers: ...@@ -16,9 +16,6 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^dmic@[0-9a-f]*$" pattern: "^dmic@[0-9a-f]*$"
...@@ -60,14 +57,18 @@ properties: ...@@ -60,14 +57,18 @@ properties:
on the maximum available instances on a Tegra SoC. on the maximum available instances on a Tegra SoC.
ports: ports:
type: object $ref: /schemas/graph.yaml#/properties/ports
properties: properties:
port@0: port@0:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
description: | description: |
DMIC ACIF (Audio Client Interface) port connected to the DMIC ACIF (Audio Client Interface) port connected to the
corresponding AHUB (Audio Hub) ACIF port. corresponding AHUB (Audio Hub) ACIF port.
port@1: port@1:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
description: | description: |
DMIC DAP (Digital Audio Port) interface which can be connected DMIC DAP (Digital Audio Port) interface which can be connected
to external audio codec for capture. to external audio codec for capture.
...@@ -80,7 +81,7 @@ required: ...@@ -80,7 +81,7 @@ required:
- assigned-clocks - assigned-clocks
- assigned-clock-parents - assigned-clock-parents
unevaluatedProperties: false additionalProperties: false
examples: examples:
- | - |
......
...@@ -16,9 +16,6 @@ maintainers: ...@@ -16,9 +16,6 @@ maintainers:
- Jon Hunter <jonathanh@nvidia.com> - Jon Hunter <jonathanh@nvidia.com>
- Sameer Pujar <spujar@nvidia.com> - Sameer Pujar <spujar@nvidia.com>
allOf:
- $ref: audio-graph-port.yaml#
properties: properties:
$nodename: $nodename:
pattern: "^i2s@[0-9a-f]*$" pattern: "^i2s@[0-9a-f]*$"
...@@ -78,14 +75,18 @@ properties: ...@@ -78,14 +75,18 @@ properties:
on the maximum available instances on a Tegra SoC. on the maximum available instances on a Tegra SoC.
ports: ports:
type: object $ref: /schemas/graph.yaml#/properties/ports
properties: properties:
port@0: port@0:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
description: | description: |
I2S ACIF (Audio Client Interface) port connected to the I2S ACIF (Audio Client Interface) port connected to the
corresponding AHUB (Audio Hub) ACIF port. corresponding AHUB (Audio Hub) ACIF port.
port@1: port@1:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
description: | description: |
I2S DAP (Digital Audio Port) interface which can be connected I2S DAP (Digital Audio Port) interface which can be connected
to external audio codec for playback or capture. to external audio codec for playback or capture.
...@@ -98,7 +99,7 @@ required: ...@@ -98,7 +99,7 @@ required:
- assigned-clocks - assigned-clocks
- assigned-clock-parents - assigned-clock-parents
unevaluatedProperties: false additionalProperties: false
examples: examples:
- | - |
......
...@@ -110,7 +110,9 @@ properties: ...@@ -110,7 +110,9 @@ properties:
- pattern: '^dvc\.[0-1]$' - pattern: '^dvc\.[0-1]$'
- pattern: '^clk_(a|b|c|i)$' - pattern: '^clk_(a|b|c|i)$'
port: true port:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
# use patternProperties to avoid naming "xxx,yyy" issue # use patternProperties to avoid naming "xxx,yyy" issue
patternProperties: patternProperties:
...@@ -256,7 +258,6 @@ required: ...@@ -256,7 +258,6 @@ required:
allOf: allOf:
- $ref: audio-graph.yaml# - $ref: audio-graph.yaml#
- $ref: audio-graph-port.yaml#
- if: - if:
properties: properties:
compatible: compatible:
......
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/rt1019.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: RT1019 Mono Class-D Audio Amplifier
maintainers:
- jack.yu@realtek.com
properties:
compatible:
const: realtek,rt1019
reg:
maxItems: 1
description: I2C address of the device.
required:
- compatible
- reg
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
rt1019: codec@28 {
compatible = "realtek,rt1019";
reg = <0x28>;
};
};
...@@ -44,7 +44,7 @@ Optional properties: ...@@ -44,7 +44,7 @@ Optional properties:
- realtek,dmic-delay-ms : Set the delay time (ms) for the requirement of - realtek,dmic-delay-ms : Set the delay time (ms) for the requirement of
the particular DMIC. the particular DMIC.
- realtek,dmic-clk-driving-high : Set the high drving of the DMIC clock out. - realtek,dmic-clk-driving-high : Set the high driving of the DMIC clock out.
Pins on the device (for linking into audio routes) for RT5682: Pins on the device (for linking into audio routes) for RT5682:
......
...@@ -46,11 +46,9 @@ properties: ...@@ -46,11 +46,9 @@ properties:
patternProperties: patternProperties:
"^port@[0-9]$": "^port@[0-9]$":
type: object description: FIXME, Need to define what each port is.
properties: $ref: audio-graph-port.yaml#
endpoint: true unevaluatedProperties: false
required:
- endpoint
additionalProperties: false additionalProperties: false
......
...@@ -40,11 +40,9 @@ properties: ...@@ -40,11 +40,9 @@ properties:
patternProperties: patternProperties:
"^port@[0-9]$": "^port@[0-9]$":
type: object description: FIXME, Need to define what each port is.
properties: $ref: audio-graph-port.yaml#
endpoint: true unevaluatedProperties: false
required:
- endpoint
additionalProperties: false additionalProperties: false
......
Texas Instruments - tlv320aic3x Codec module Texas Instruments - tlv320aic3x Codec module
The tlv320aic3x serial control bus communicates through I2C protocols The tlv320aic3x serial control bus communicates through both I2C and SPI bus protocols
Required properties: Required properties:
...@@ -63,7 +63,7 @@ CODEC input pins for other compatible codecs: ...@@ -63,7 +63,7 @@ CODEC input pins for other compatible codecs:
The pins can be used in referring sound node's audio-routing property. The pins can be used in referring sound node's audio-routing property.
Example: I2C example:
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
...@@ -78,3 +78,20 @@ tlv320aic3x: tlv320aic3x@1b { ...@@ -78,3 +78,20 @@ tlv320aic3x: tlv320aic3x@1b {
DRVDD-supply = <&regulator>; DRVDD-supply = <&regulator>;
DVDD-supply = <&regulator>; DVDD-supply = <&regulator>;
}; };
SPI example:
spi0: spi@f0000000 {
tlv320aic3x: codec@0 {
compatible = "ti,tlv320aic3x";
reg = <0>; /* CS number */
#sound-dai-cells = <0>;
spi-max-frequency = <1000000>;
AVDD-supply = <&regulator>;
IOVDD-supply = <&regulator>;
DRVDD-supply = <&regulator>;
DVDD-supply = <&regulator>;
ai3x-ocmv = <0>;
};
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment