-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ASoC: dt-bindings: Add the Infineon PEB2466 codec
The Infineon PEB2466 codec is a programmable DSP-based four channels codec with filters capabilities. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230206144904.91078-2-herve.codina@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
- Loading branch information
Herve Codina
authored and
Mark Brown
committed
Feb 9, 2023
1 parent
65f0a8e
commit 4c03e95
Showing
1 changed file
with
91 additions
and
0 deletions.
There are no files selected for viewing
91 changes: 91 additions & 0 deletions
91
Documentation/devicetree/bindings/sound/infineon,peb2466.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/sound/infineon,peb2466.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Infineon PEB2466 codec | ||
|
||
maintainers: | ||
- Herve Codina <herve.codina@bootlin.com> | ||
|
||
description: | | ||
The Infineon PEB2466 codec is a programmable DSP-based four channels codec | ||
with filters capabilities. | ||
The time-slots used by the codec must be set and so, the properties | ||
'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and | ||
'dai-tdm-slot-rx-mask' must be present in the sound card node for sub-nodes | ||
that involve the codec. The codec uses one 8bit time-slot per channel. | ||
'dai-tdm-tdm-slot-with' must be set to 8. | ||
The PEB2466 codec also supports 28 gpios (signaling pins). | ||
allOf: | ||
- $ref: /schemas/spi/spi-peripheral-props.yaml | ||
- $ref: dai-common.yaml# | ||
|
||
properties: | ||
compatible: | ||
const: infineon,peb2466 | ||
|
||
reg: | ||
description: | ||
SPI device address. | ||
maxItems: 1 | ||
|
||
clocks: | ||
items: | ||
- description: Master clock | ||
|
||
clock-names: | ||
items: | ||
- const: mclk | ||
|
||
spi-max-frequency: | ||
maximum: 8192000 | ||
|
||
reset-gpios: | ||
description: | ||
GPIO used to reset the device. | ||
maxItems: 1 | ||
|
||
firmware-name: | ||
$ref: /schemas/types.yaml#/definitions/string | ||
description: | ||
Filters coefficients file to load. If this property is omitted, internal | ||
filters are disabled. | ||
|
||
'#sound-dai-cells': | ||
const: 0 | ||
|
||
'#gpio-cells': | ||
const: 2 | ||
|
||
gpio-controller: true | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- '#sound-dai-cells' | ||
- gpio-controller | ||
- '#gpio-cells' | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/gpio/gpio.h> | ||
spi { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
audio-codec@0 { | ||
compatible = "infineon,peb2466"; | ||
reg = <0>; | ||
spi-max-frequency = <8192000>; | ||
reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>; | ||
#sound-dai-cells = <0>; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
}; | ||
}; |