xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra186-dspk.yaml (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/nvidia,tegra186-dspk.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Tegra186 DSPK Controller Device Tree Bindings
8
9description: |
10  The Digital Speaker Controller (DSPK) can be viewed as a Pulse
11  Density Modulation (PDM) transmitter that up-samples the input to
12  the desired sampling rate by interpolation and then converts the
13  over sampled Pulse Code Modulation (PCM) input to the desired 1-bit
14  output via Delta Sigma Modulation (DSM).
15
16maintainers:
17  - Jon Hunter <jonathanh@nvidia.com>
18  - Sameer Pujar <spujar@nvidia.com>
19
20properties:
21  $nodename:
22    pattern: "^dspk@[0-9a-f]*$"
23
24  compatible:
25    oneOf:
26      - const: nvidia,tegra186-dspk
27      - items:
28          - const: nvidia,tegra194-dspk
29          - const: nvidia,tegra186-dspk
30
31  reg:
32    maxItems: 1
33
34  clocks:
35    maxItems: 1
36
37  clock-names:
38    const: dspk
39
40  assigned-clocks:
41    maxItems: 1
42
43  assigned-clock-parents:
44    maxItems: 1
45
46  assigned-clock-rates:
47    maxItems: 1
48
49  sound-name-prefix:
50    pattern: "^DSPK[1-9]$"
51    $ref: /schemas/types.yaml#/definitions/string
52    description:
53      Used as prefix for sink/source names of the component. Must be a
54      unique string among multiple instances of the same component.
55      The name can be "DSPK1" or "DSPKx", where x depends on the maximum
56      available instances on a Tegra SoC.
57
58required:
59  - compatible
60  - reg
61  - clocks
62  - clock-names
63  - assigned-clocks
64  - assigned-clock-parents
65  - sound-name-prefix
66
67examples:
68  - |
69    #include<dt-bindings/clock/tegra186-clock.h>
70
71    dspk@2905000 {
72        compatible = "nvidia,tegra186-dspk";
73        reg = <0x2905000 0x100>;
74        clocks = <&bpmp TEGRA186_CLK_DSPK1>;
75        clock-names = "dspk";
76        assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
77        assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
78        assigned-clock-rates = <12288000>;
79        sound-name-prefix = "DSPK1";
80    };
81
82...
83