79 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only2%YAML 1.23---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 EC8 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 the15 Embedded Controller (EC) and is controlled via a host-command16 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-codec26 27 "#sound-dai-cells":28 const: 129 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 integers35 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: 140 description: |41 Shared memory region to EC. A "shared-dma-pool".42 See ../reserved-memory/reserved-memory.txt for details.43 44required:45 - compatible46 - '#sound-dai-cells'47 48unevaluatedProperties: false49 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