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