xref: /freebsd/sys/contrib/device-tree/Bindings/sound/google,cros-ec-codec.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/google,cros-ec-codec.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Audio codec controlled by ChromeOS EC
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Cheng-Yi Chiang <cychiang@chromium.org>
117ef62cebSEmmanuel Vadot  - Tzung-Bi Shih <tzungbi@kernel.org>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription: |
14c66ec88fSEmmanuel Vadot  Google's ChromeOS EC codec is a digital mic codec provided by the
156be33864SEmmanuel Vadot  Embedded Controller (EC) and is controlled via a host-command
166be33864SEmmanuel Vadot  interface.  An EC codec node should only be found inside the "codecs"
176be33864SEmmanuel Vadot  subnode of a cros-ec node.
186be33864SEmmanuel Vadot  (see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
19c66ec88fSEmmanuel Vadot
20*8bab661aSEmmanuel VadotallOf:
21*8bab661aSEmmanuel Vadot  - $ref: dai-common.yaml#
22*8bab661aSEmmanuel Vadot
23c66ec88fSEmmanuel Vadotproperties:
24c66ec88fSEmmanuel Vadot  compatible:
25c66ec88fSEmmanuel Vadot    const: google,cros-ec-codec
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  "#sound-dai-cells":
28c66ec88fSEmmanuel Vadot    const: 1
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  reg:
31c66ec88fSEmmanuel Vadot    items:
32c66ec88fSEmmanuel Vadot      - description: |
33c66ec88fSEmmanuel Vadot          Physical base address and length of shared memory region from EC.
34c66ec88fSEmmanuel Vadot          It contains 3 unsigned 32-bit integer. The first 2 integers
35c66ec88fSEmmanuel Vadot          combine to become an unsigned 64-bit physical address.
36c66ec88fSEmmanuel Vadot          The last one integer is the length of the shared memory.
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot  memory-region:
392eb4d8dcSEmmanuel Vadot    maxItems: 1
40c66ec88fSEmmanuel Vadot    description: |
41c66ec88fSEmmanuel Vadot      Shared memory region to EC.  A "shared-dma-pool".
42c66ec88fSEmmanuel Vadot      See ../reserved-memory/reserved-memory.txt for details.
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadotrequired:
45c66ec88fSEmmanuel Vadot  - compatible
46c66ec88fSEmmanuel Vadot  - '#sound-dai-cells'
47c66ec88fSEmmanuel Vadot
48*8bab661aSEmmanuel VadotunevaluatedProperties: false
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadotexamples:
51c66ec88fSEmmanuel Vadot  - |
52c66ec88fSEmmanuel Vadot    reserved_mem: reserved-mem@52800000 {
53c66ec88fSEmmanuel Vadot        compatible = "shared-dma-pool";
54c66ec88fSEmmanuel Vadot        reg = <0x52800000 0x100000>;
55c66ec88fSEmmanuel Vadot        no-map;
56c66ec88fSEmmanuel Vadot    };
57c66ec88fSEmmanuel Vadot    spi {
58c66ec88fSEmmanuel Vadot        #address-cells = <1>;
59c66ec88fSEmmanuel Vadot        #size-cells = <0>;
60c66ec88fSEmmanuel Vadot        cros-ec@0 {
61c66ec88fSEmmanuel Vadot            compatible = "google,cros-ec-spi";
626be33864SEmmanuel Vadot            reg = <0>;
63*8bab661aSEmmanuel Vadot            interrupts = <93 0>;
646be33864SEmmanuel Vadot
656be33864SEmmanuel Vadot            codecs {
66c66ec88fSEmmanuel Vadot                #address-cells = <2>;
67c66ec88fSEmmanuel Vadot                #size-cells = <1>;
686be33864SEmmanuel Vadot
69c66ec88fSEmmanuel Vadot                cros_ec_codec: ec-codec@10500000 {
70c66ec88fSEmmanuel Vadot                    compatible = "google,cros-ec-codec";
71c66ec88fSEmmanuel Vadot                    #sound-dai-cells = <1>;
72c66ec88fSEmmanuel Vadot                    reg = <0x0 0x10500000 0x80000>;
73c66ec88fSEmmanuel Vadot                    memory-region = <&reserved_mem>;
74c66ec88fSEmmanuel Vadot                };
756be33864SEmmanuel Vadot
766be33864SEmmanuel Vadot            };
77c66ec88fSEmmanuel Vadot        };
78c66ec88fSEmmanuel Vadot    };
79