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 20properties: 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 41required: 42 - compatible 43 - '#sound-dai-cells' 44 45additionalProperties: false 46 47examples: 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 interrupts = <93 0>; 61 62 codecs { 63 #address-cells = <2>; 64 #size-cells = <1>; 65 66 cros_ec_codec: ec-codec@10500000 { 67 compatible = "google,cros-ec-codec"; 68 #sound-dai-cells = <1>; 69 reg = <0x0 0x10500000 0x80000>; 70 memory-region = <&reserved_mem>; 71 }; 72 73 }; 74 }; 75 }; 76