xref: /linux/Documentation/devicetree/bindings/sound/nvidia,tegra186-dspk.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1665308c0SSameer Pujar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2665308c0SSameer Pujar%YAML 1.2
3665308c0SSameer Pujar---
4665308c0SSameer Pujar$id: http://devicetree.org/schemas/sound/nvidia,tegra186-dspk.yaml#
5665308c0SSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml#
6665308c0SSameer Pujar
7dd3cb467SAndrew Lunntitle: Tegra186 DSPK Controller
8665308c0SSameer Pujar
9665308c0SSameer Pujardescription: |
10665308c0SSameer Pujar  The Digital Speaker Controller (DSPK) can be viewed as a Pulse
11665308c0SSameer Pujar  Density Modulation (PDM) transmitter that up-samples the input to
12665308c0SSameer Pujar  the desired sampling rate by interpolation and then converts the
13665308c0SSameer Pujar  over sampled Pulse Code Modulation (PCM) input to the desired 1-bit
14665308c0SSameer Pujar  output via Delta Sigma Modulation (DSM).
15665308c0SSameer Pujar
16665308c0SSameer Pujarmaintainers:
17665308c0SSameer Pujar  - Jon Hunter <jonathanh@nvidia.com>
18665308c0SSameer Pujar  - Sameer Pujar <spujar@nvidia.com>
19665308c0SSameer Pujar
2082d3ec1dSSameer PujarallOf:
21*3fda8532SKrzysztof Kozlowski  - $ref: dai-common.yaml#
2282d3ec1dSSameer Pujar
23665308c0SSameer Pujarproperties:
24665308c0SSameer Pujar  $nodename:
25665308c0SSameer Pujar    pattern: "^dspk@[0-9a-f]*$"
26665308c0SSameer Pujar
27665308c0SSameer Pujar  compatible:
28665308c0SSameer Pujar    oneOf:
29665308c0SSameer Pujar      - const: nvidia,tegra186-dspk
30665308c0SSameer Pujar      - items:
31fed44d6cSSameer Pujar          - enum:
32fed44d6cSSameer Pujar              - nvidia,tegra234-dspk
33fed44d6cSSameer Pujar              - nvidia,tegra194-dspk
34665308c0SSameer Pujar          - const: nvidia,tegra186-dspk
35665308c0SSameer Pujar
36665308c0SSameer Pujar  reg:
37665308c0SSameer Pujar    maxItems: 1
38665308c0SSameer Pujar
39665308c0SSameer Pujar  clocks:
40665308c0SSameer Pujar    maxItems: 1
41665308c0SSameer Pujar
42665308c0SSameer Pujar  clock-names:
43665308c0SSameer Pujar    const: dspk
44665308c0SSameer Pujar
45665308c0SSameer Pujar  assigned-clocks:
46665308c0SSameer Pujar    maxItems: 1
47665308c0SSameer Pujar
48665308c0SSameer Pujar  assigned-clock-parents:
49665308c0SSameer Pujar    maxItems: 1
50665308c0SSameer Pujar
51665308c0SSameer Pujar  assigned-clock-rates:
52665308c0SSameer Pujar    maxItems: 1
53665308c0SSameer Pujar
54665308c0SSameer Pujar  sound-name-prefix:
55665308c0SSameer Pujar    pattern: "^DSPK[1-9]$"
56665308c0SSameer Pujar
579e0f86fdSSameer Pujar  ports:
589c1e0439SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
599e0f86fdSSameer Pujar    properties:
609e0f86fdSSameer Pujar      port@0:
619c1e0439SRob Herring        $ref: audio-graph-port.yaml#
629c1e0439SRob Herring        unevaluatedProperties: false
639e0f86fdSSameer Pujar        description: |
649e0f86fdSSameer Pujar          DSPK ACIF (Audio Client Interface) port connected to the
659e0f86fdSSameer Pujar          corresponding AHUB (Audio Hub) ACIF port.
669e0f86fdSSameer Pujar
679e0f86fdSSameer Pujar      port@1:
689c1e0439SRob Herring        $ref: audio-graph-port.yaml#
699c1e0439SRob Herring        unevaluatedProperties: false
709e0f86fdSSameer Pujar        description: |
719e0f86fdSSameer Pujar          DSPK DAP (Digital Audio Port) interface which can be connected
729e0f86fdSSameer Pujar          to external audio codec for playback.
739e0f86fdSSameer Pujar
74665308c0SSameer Pujarrequired:
75665308c0SSameer Pujar  - compatible
76665308c0SSameer Pujar  - reg
77665308c0SSameer Pujar  - clocks
78665308c0SSameer Pujar  - clock-names
79665308c0SSameer Pujar  - assigned-clocks
80665308c0SSameer Pujar  - assigned-clock-parents
81665308c0SSameer Pujar  - sound-name-prefix
82665308c0SSameer Pujar
839c1e0439SRob HerringadditionalProperties: false
845be478f9SRob Herring
85665308c0SSameer Pujarexamples:
86665308c0SSameer Pujar  - |
87665308c0SSameer Pujar    #include<dt-bindings/clock/tegra186-clock.h>
88665308c0SSameer Pujar
89665308c0SSameer Pujar    dspk@2905000 {
90665308c0SSameer Pujar        compatible = "nvidia,tegra186-dspk";
91665308c0SSameer Pujar        reg = <0x2905000 0x100>;
92665308c0SSameer Pujar        clocks = <&bpmp TEGRA186_CLK_DSPK1>;
93665308c0SSameer Pujar        clock-names = "dspk";
94665308c0SSameer Pujar        assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
95665308c0SSameer Pujar        assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
96665308c0SSameer Pujar        assigned-clock-rates = <12288000>;
97665308c0SSameer Pujar        sound-name-prefix = "DSPK1";
98665308c0SSameer Pujar    };
99665308c0SSameer Pujar
100665308c0SSameer Pujar...
101