# SPDX-License-Identifier: GPL-2.0-only %YAML 1.2 --- $id: http://devicetree.org/schemas/sound/google,cros-ec-codec.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Audio codec controlled by ChromeOS EC maintainers: - Cheng-Yi Chiang <cychiang@chromium.org> - Tzung-Bi Shih <tzungbi@kernel.org> description: | Google's ChromeOS EC codec is a digital mic codec provided by the Embedded Controller (EC) and is controlled via a host-command interface. An EC codec node should only be found inside the "codecs" subnode of a cros-ec node. (see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml). allOf: - $ref: dai-common.yaml# properties: compatible: const: google,cros-ec-codec "#sound-dai-cells": const: 1 reg: items: - description: | Physical base address and length of shared memory region from EC. It contains 3 unsigned 32-bit integer. The first 2 integers combine to become an unsigned 64-bit physical address. The last one integer is the length of the shared memory. memory-region: maxItems: 1 description: | Shared memory region to EC. A "shared-dma-pool". See ../reserved-memory/reserved-memory.txt for details. required: - compatible - '#sound-dai-cells' unevaluatedProperties: false examples: - | reserved_mem: reserved-mem@52800000 { compatible = "shared-dma-pool"; reg = <0x52800000 0x100000>; no-map; }; spi { #address-cells = <1>; #size-cells = <0>; cros-ec@0 { compatible = "google,cros-ec-spi"; reg = <0>; interrupts = <93 0>; codecs { #address-cells = <2>; #size-cells = <1>; cros_ec_codec: ec-codec@10500000 { compatible = "google,cros-ec-codec"; #sound-dai-cells = <1>; reg = <0x0 0x10500000 0x80000>; memory-region = <&reserved_mem>; }; }; }; };