ASoC: dt-bindings: fsl,xcvr: Add compatible string for i.MX93 platform
[platform/kernel/linux-starfive.git] / Documentation / devicetree / bindings / sound / fsl,xcvr.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/fsl,xcvr.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP Audio Transceiver (XCVR) Controller
8
9 maintainers:
10   - Viorel Suman <viorel.suman@nxp.com>
11
12 description: |
13   NXP XCVR (Audio Transceiver) is a on-chip functional module
14   that allows CPU to receive and transmit digital audio via
15   HDMI2.1 eARC, HDMI1.4 ARC and SPDIF.
16
17 properties:
18   $nodename:
19     pattern: "^xcvr@.*"
20
21   compatible:
22     enum:
23       - fsl,imx8mp-xcvr
24       - fsl,imx93-xcvr
25
26   reg:
27     items:
28       - description: 20K RAM for code and data
29       - description: registers space
30       - description: RX FIFO address
31       - description: TX FIFO address
32
33   reg-names:
34     items:
35       - const: ram
36       - const: regs
37       - const: rxfifo
38       - const: txfifo
39
40   interrupts:
41     maxItems: 1
42
43   clocks:
44     items:
45       - description: Peripheral clock
46       - description: PHY clock
47       - description: SPBA clock
48       - description: PLL clock
49
50   clock-names:
51     items:
52       - const: ipg
53       - const: phy
54       - const: spba
55       - const: pll_ipg
56
57   dmas:
58     items:
59       - description: DMA controller phandle and request line for RX
60       - description: DMA controller phandle and request line for TX
61
62   dma-names:
63     items:
64       - const: rx
65       - const: tx
66
67   resets:
68     maxItems: 1
69
70 required:
71   - compatible
72   - reg
73   - reg-names
74   - interrupts
75   - clocks
76   - clock-names
77   - dmas
78   - dma-names
79   - resets
80
81 additionalProperties: false
82
83 examples:
84   - |
85     #include <dt-bindings/interrupt-controller/arm-gic.h>
86     #include <dt-bindings/clock/imx8mp-clock.h>
87     #include <dt-bindings/reset/imx8mp-reset.h>
88
89     xcvr: xcvr@30cc0000 {
90            compatible = "fsl,imx8mp-xcvr";
91            reg = <0x30cc0000 0x800>,
92                  <0x30cc0800 0x400>,
93                  <0x30cc0c00 0x080>,
94                  <0x30cc0e00 0x080>;
95            reg-names = "ram", "regs", "rxfifo", "txfifo";
96            interrupts = <0x0 128 IRQ_TYPE_LEVEL_HIGH>;
97            clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_IPG>,
98                     <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_PHY>,
99                     <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SPBA2_ROOT>,
100                     <&audiomix_clk IMX8MP_CLK_AUDIOMIX_AUDPLL_ROOT>;
101            clock-names = "ipg", "phy", "spba", "pll_ipg";
102            dmas = <&sdma2 30 2 0>, <&sdma2 31 2 0>;
103            dma-names = "rx", "tx";
104            resets = <&audiomix_reset 0>;
105     };