1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/infineon,peb2466.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Infineon PEB2466 codec
8
9maintainers:
10  - Herve Codina <herve.codina@bootlin.com>
11
12description: |
13  The Infineon PEB2466 codec is a programmable DSP-based four channels codec
14  with filters capabilities.
15
16  The time-slots used by the codec must be set and so, the properties
17  'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and
18  'dai-tdm-slot-rx-mask' must be present in the sound card node for sub-nodes
19  that involve the codec. The codec uses one 8bit time-slot per channel.
20  'dai-tdm-tdm-slot-with' must be set to 8.
21
22  The PEB2466 codec also supports 28 gpios (signaling pins).
23
24allOf:
25  - $ref: /schemas/spi/spi-peripheral-props.yaml
26  - $ref: dai-common.yaml#
27
28properties:
29  compatible:
30    const: infineon,peb2466
31
32  reg:
33    description:
34      SPI device address.
35    maxItems: 1
36
37  clocks:
38    items:
39      - description: Master clock
40
41  clock-names:
42    items:
43      - const: mclk
44
45  spi-max-frequency:
46    maximum: 8192000
47
48  reset-gpios:
49    description:
50      GPIO used to reset the device.
51    maxItems: 1
52
53  firmware-name:
54    $ref: /schemas/types.yaml#/definitions/string
55    description:
56      Filters coefficients file to load. If this property is omitted, internal
57      filters are disabled.
58
59  '#sound-dai-cells':
60    const: 0
61
62  '#gpio-cells':
63    const: 2
64
65  gpio-controller: true
66
67required:
68  - compatible
69  - reg
70  - '#sound-dai-cells'
71  - gpio-controller
72  - '#gpio-cells'
73
74unevaluatedProperties: false
75
76examples:
77  - |
78    #include <dt-bindings/gpio/gpio.h>
79    spi {
80        #address-cells = <1>;
81        #size-cells = <0>;
82        audio-codec@0 {
83            compatible = "infineon,peb2466";
84            reg = <0>;
85            spi-max-frequency = <8192000>;
86            reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
87            #sound-dai-cells = <0>;
88            gpio-controller;
89            #gpio-cells = <2>;
90        };
91    };
92