GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / sound / google,cros-ec-codec.yaml
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/google,cros-ec-codec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Audio codec controlled by ChromeOS EC
8
9 maintainers:
10   - Cheng-Yi Chiang <cychiang@chromium.org>
11   - Tzung-Bi Shih <tzungbi@kernel.org>
12
13 description: |
14   Google's ChromeOS EC codec is a digital mic codec provided by the
15   Embedded Controller (EC) and is controlled via a host-command
16   interface.  An EC codec node should only be found inside the "codecs"
17   subnode of a cros-ec node.
18   (see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
19
20 properties:
21   compatible:
22     const: google,cros-ec-codec
23
24   "#sound-dai-cells":
25     const: 1
26
27   reg:
28     items:
29       - description: |
30           Physical base address and length of shared memory region from EC.
31           It contains 3 unsigned 32-bit integer. The first 2 integers
32           combine to become an unsigned 64-bit physical address.
33           The last one integer is the length of the shared memory.
34
35   memory-region:
36     maxItems: 1
37     description: |
38       Shared memory region to EC.  A "shared-dma-pool".
39       See ../reserved-memory/reserved-memory.txt for details.
40
41 required:
42   - compatible
43   - '#sound-dai-cells'
44
45 additionalProperties: false
46
47 examples:
48   - |
49     reserved_mem: reserved-mem@52800000 {
50         compatible = "shared-dma-pool";
51         reg = <0x52800000 0x100000>;
52         no-map;
53     };
54     spi {
55         #address-cells = <1>;
56         #size-cells = <0>;
57         cros-ec@0 {
58             compatible = "google,cros-ec-spi";
59             reg = <0>;
60
61             codecs {
62                 #address-cells = <2>;
63                 #size-cells = <1>;
64
65                 cros_ec_codec: ec-codec@10500000 {
66                     compatible = "google,cros-ec-codec";
67                     #sound-dai-cells = <1>;
68                     reg = <0x0 0x10500000 0x80000>;
69                     memory-region = <&reserved_mem>;
70                 };
71
72             };
73         };
74     };