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