1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/nxp,tfa989x.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP/Goodix TFA989X (TFA1) Audio Amplifiers
8
9maintainers:
10  - Stephan Gerhold <stephan@gerhold.net>
11
12allOf:
13  - $ref: dai-common.yaml#
14
15properties:
16  compatible:
17    enum:
18      - nxp,tfa9890
19      - nxp,tfa9895
20      - nxp,tfa9897
21
22  reg:
23    maxItems: 1
24
25  '#sound-dai-cells':
26    const: 0
27
28  rcv-gpios:
29    description: optional GPIO to be asserted when receiver mode is enabled.
30
31  sound-name-prefix: true
32
33  vddd-supply:
34    description: regulator phandle for the VDDD power supply.
35
36if:
37  not:
38    properties:
39      compatible:
40        const: nxp,tfa9897
41then:
42  properties:
43    rcv-gpios: false
44
45required:
46  - compatible
47  - reg
48  - '#sound-dai-cells'
49
50additionalProperties: false
51
52examples:
53  - |
54    i2c {
55      #address-cells = <1>;
56      #size-cells = <0>;
57
58      audio-codec@34 {
59        compatible = "nxp,tfa9895";
60        reg = <0x34>;
61        sound-name-prefix = "Speaker Left";
62        #sound-dai-cells = <0>;
63      };
64      audio-codec@36 {
65        compatible = "nxp,tfa9895";
66        reg = <0x36>;
67        sound-name-prefix = "Speaker Right";
68        #sound-dai-cells = <0>;
69      };
70    };
71
72  - |
73    #include <dt-bindings/gpio/gpio.h>
74    i2c {
75      #address-cells = <1>;
76      #size-cells = <0>;
77
78      speaker_codec_top: audio-codec@34 {
79        compatible = "nxp,tfa9897";
80        reg = <0x34>;
81        vddd-supply = <&pm8916_l6>;
82        rcv-gpios = <&msmgpio 50 GPIO_ACTIVE_HIGH>;
83        pinctrl-names = "default";
84        pinctrl-0 = <&speaker_top_default>;
85        sound-name-prefix = "Speaker Top";
86        #sound-dai-cells = <0>;
87      };
88
89      speaker_codec_bottom: audio-codec@36 {
90        compatible = "nxp,tfa9897";
91        reg = <0x36>;
92        vddd-supply = <&pm8916_l6>;
93        rcv-gpios = <&msmgpio 111 GPIO_ACTIVE_HIGH>;
94        pinctrl-names = "default";
95        pinctrl-0 = <&speaker_bottom_default>;
96        sound-name-prefix = "Speaker Bottom";
97        #sound-dai-cells = <0>;
98      };
99    };
100