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 }; 74