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 - Tzung-Bi Shih <tzungbi@kernel.org> 12 13description: | 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 20allOf: 21 - $ref: dai-common.yaml# 22 23properties: 24 compatible: 25 const: google,cros-ec-codec 26 27 "#sound-dai-cells": 28 const: 1 29 30 reg: 31 items: 32 - description: | 33 Physical base address and length of shared memory region from EC. 34 It contains 3 unsigned 32-bit integer. The first 2 integers 35 combine to become an unsigned 64-bit physical address. 36 The last one integer is the length of the shared memory. 37 38 memory-region: 39 maxItems: 1 40 description: | 41 Shared memory region to EC. A "shared-dma-pool". 42 See ../reserved-memory/reserved-memory.txt for details. 43 44required: 45 - compatible 46 - '#sound-dai-cells' 47 48unevaluatedProperties: false 49 50examples: 51 - | 52 reserved_mem: reserved-mem@52800000 { 53 compatible = "shared-dma-pool"; 54 reg = <0x52800000 0x100000>; 55 no-map; 56 }; 57 spi { 58 #address-cells = <1>; 59 #size-cells = <0>; 60 cros-ec@0 { 61 compatible = "google,cros-ec-spi"; 62 reg = <0>; 63 interrupts = <93 0>; 64 65 codecs { 66 #address-cells = <2>; 67 #size-cells = <1>; 68 69 cros_ec_codec: ec-codec@10500000 { 70 compatible = "google,cros-ec-codec"; 71 #sound-dai-cells = <1>; 72 reg = <0x0 0x10500000 0x80000>; 73 memory-region = <&reserved_mem>; 74 }; 75 76 }; 77 }; 78 }; 79