xref: /freebsd/sys/contrib/device-tree/Bindings/sound/intel,keembay-i2s.yaml (revision a03411e84728e9b267056fd31c7d1d9d1dc1b01e)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2020 Intel Corporation
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/sound/intel,keembay-i2s.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Intel KeemBay I2S
9
10maintainers:
11  - Daniele Alessandrelli <daniele.alessandrelli@intel.com>
12  - Paul J. Murphy <paul.j.murphy@intel.com>
13
14description: |
15 Intel KeemBay I2S
16
17allOf:
18  - $ref: dai-common.yaml#
19
20properties:
21  compatible:
22    enum:
23      - intel,keembay-i2s
24      - intel,keembay-tdm
25      - intel,keembay-hdmi-i2s
26
27  "#sound-dai-cells":
28    const: 0
29
30  reg:
31    items:
32      - description: I2S registers
33      - description: I2S gen configuration
34
35  reg-names:
36    items:
37      - const: i2s-regs
38      - const: i2s_gen_cfg
39
40  interrupts:
41    maxItems: 1
42
43  clocks:
44    items:
45      - description: Bus Clock
46      - description: Module Clock
47
48  clock-names:
49    items:
50      - const: osc
51      - const: apb_clk
52
53  dmas:
54    items:
55      - description: DMA TX channel
56      - description: DMA RX channel
57
58  dma-names:
59    items:
60      - const: tx
61      - const: rx
62
63required:
64  - compatible
65  - "#sound-dai-cells"
66  - reg
67  - clocks
68  - clock-names
69  - interrupts
70
71unevaluatedProperties: false
72
73examples:
74  - |
75     #include <dt-bindings/interrupt-controller/arm-gic.h>
76     #include <dt-bindings/interrupt-controller/irq.h>
77     #define KEEM_BAY_PSS_AUX_I2S3
78     #define KEEM_BAY_PSS_I2S3
79     i2s3: i2s@20140000 {
80         compatible = "intel,keembay-i2s";
81         #sound-dai-cells = <0>;
82         reg = <0x20140000 0x200>, /* I2S registers */
83               <0x202a00a4 0x4>; /* I2S gen configuration */
84         reg-names = "i2s-regs", "i2s_gen_cfg";
85         interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
86         clock-names = "osc", "apb_clk";
87         clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>;
88         dmas = <&axi_dma0 29>, <&axi_dma0 33>;
89         dma-names = "tx", "rx";
90     };
91