google,cros-ec-codec.yaml (2022B)
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@google.com> 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 61 codecs { 62 #address-cells = <2>; 63 #size-cells = <1>; 64 65 cros_ec_codec: ec-codec@10500000 { 66 compatible = "google,cros-ec-codec"; 67 #sound-dai-cells = <1>; 68 reg = <0x0 0x10500000 0x80000>; 69 memory-region = <&reserved_mem>; 70 }; 71 72 }; 73 }; 74 };