# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2022 - 2023 Texas Instruments Incorporated
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/ti,tas2781.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments TAS2781 SmartAMP

maintainers:
  - Shenghao Ding <shenghao-ding@ti.com>

description:
  The TAS2781 is a mono, digital input Class-D audio amplifier
  optimized for efficiently driving high peak power into small
  loudspeakers. Integrated an on-chip DSP supports Texas Instruments
  Smart Amp speaker protection algorithm. The integrated speaker
  voltage and current sense provides for real time
  monitoring of loudspeaker behavior.

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    enum:
      - ti,tas2781

  reg:
    description:
      I2C address, in multiple tas2781s case, all the i2c address
      aggreate as one Audio Device to support multiple audio slots.
    maxItems: 8
    items:
      minimum: 0x38
      maximum: 0x3f

  reset-gpios:
    maxItems: 1

  interrupts:
    maxItems: 1

  '#sound-dai-cells':
    const: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
   #include <dt-bindings/gpio/gpio.h>
   i2c {
     /* example with quad tas2781s, such as tablet or pad device */
     #address-cells = <1>;
     #size-cells = <0>;
     quad: codec@38 {
       compatible = "ti,tas2781";
       reg = <0x38>, /* Audio slot 0 */
             <0x3a>, /* Audio slot 1 */
             <0x39>, /* Audio slot 2 */
             <0x3b>; /* Audio slot 3 */

       #sound-dai-cells = <1>;
       reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
       interrupt-parent = <&gpio1>;
       interrupts = <15>;
     };
   };
...
