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 interface. 15 An EC codec node should only be found as a sub-node of the EC node (see 16 Documentation/devicetree/bindings/mfd/cros-ec.txt). 17 18properties: 19 compatible: 20 const: google,cros-ec-codec 21 22 "#sound-dai-cells": 23 const: 1 24 25 reg: 26 items: 27 - description: | 28 Physical base address and length of shared memory region from EC. 29 It contains 3 unsigned 32-bit integer. The first 2 integers 30 combine to become an unsigned 64-bit physical address. 31 The last one integer is the length of the shared memory. 32 33 memory-region: 34 $ref: '/schemas/types.yaml#/definitions/phandle' 35 description: | 36 Shared memory region to EC. A "shared-dma-pool". 37 See ../reserved-memory/reserved-memory.txt for details. 38 39required: 40 - compatible 41 - '#sound-dai-cells' 42 43additionalProperties: false 44 45examples: 46 - | 47 reserved_mem: reserved-mem@52800000 { 48 compatible = "shared-dma-pool"; 49 reg = <0x52800000 0x100000>; 50 no-map; 51 }; 52 spi { 53 #address-cells = <1>; 54 #size-cells = <0>; 55 cros-ec@0 { 56 compatible = "google,cros-ec-spi"; 57 #address-cells = <2>; 58 #size-cells = <1>; 59 reg = <0>; 60 cros_ec_codec: ec-codec@10500000 { 61 compatible = "google,cros-ec-codec"; 62 #sound-dai-cells = <1>; 63 reg = <0x0 0x10500000 0x80000>; 64 memory-region = <&reserved_mem>; 65 }; 66 }; 67 }; 68