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 20allOf: 21 - $ref: audio-graph-port.yaml# 22 23properties: 24 $nodename: 25 pattern: "^dspk@[0-9a-f]*$" 26 27 compatible: 28 oneOf: 29 - const: nvidia,tegra186-dspk 30 - items: 31 - const: nvidia,tegra194-dspk 32 - const: nvidia,tegra186-dspk 33 34 reg: 35 maxItems: 1 36 37 clocks: 38 maxItems: 1 39 40 clock-names: 41 const: dspk 42 43 assigned-clocks: 44 maxItems: 1 45 46 assigned-clock-parents: 47 maxItems: 1 48 49 assigned-clock-rates: 50 maxItems: 1 51 52 sound-name-prefix: 53 pattern: "^DSPK[1-9]$" 54 $ref: /schemas/types.yaml#/definitions/string 55 description: 56 Used as prefix for sink/source names of the component. Must be a 57 unique string among multiple instances of the same component. 58 The name can be "DSPK1" or "DSPKx", where x depends on the maximum 59 available instances on a Tegra SoC. 60 61 ports: 62 type: object 63 properties: 64 port@0: 65 description: | 66 DSPK ACIF (Audio Client Interface) port connected to the 67 corresponding AHUB (Audio Hub) ACIF port. 68 69 port@1: 70 description: | 71 DSPK DAP (Digital Audio Port) interface which can be connected 72 to external audio codec for playback. 73 74required: 75 - compatible 76 - reg 77 - clocks 78 - clock-names 79 - assigned-clocks 80 - assigned-clock-parents 81 - sound-name-prefix 82 83unevaluatedProperties: false 84 85examples: 86 - | 87 #include<dt-bindings/clock/tegra186-clock.h> 88 89 dspk@2905000 { 90 compatible = "nvidia,tegra186-dspk"; 91 reg = <0x2905000 0x100>; 92 clocks = <&bpmp TEGRA186_CLK_DSPK1>; 93 clock-names = "dspk"; 94 assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>; 95 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 96 assigned-clock-rates = <12288000>; 97 sound-name-prefix = "DSPK1"; 98 }; 99 100... 101