1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra186-dspk.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: Tegra186 DSPK Controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotdescription: | 10c66ec88fSEmmanuel Vadot The Digital Speaker Controller (DSPK) can be viewed as a Pulse 11c66ec88fSEmmanuel Vadot Density Modulation (PDM) transmitter that up-samples the input to 12c66ec88fSEmmanuel Vadot the desired sampling rate by interpolation and then converts the 13c66ec88fSEmmanuel Vadot over sampled Pulse Code Modulation (PCM) input to the desired 1-bit 14c66ec88fSEmmanuel Vadot output via Delta Sigma Modulation (DSM). 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadotmaintainers: 17c66ec88fSEmmanuel Vadot - Jon Hunter <jonathanh@nvidia.com> 18c66ec88fSEmmanuel Vadot - Sameer Pujar <spujar@nvidia.com> 19c66ec88fSEmmanuel Vadot 208cc087a1SEmmanuel VadotallOf: 21*8bab661aSEmmanuel Vadot - $ref: dai-common.yaml# 228cc087a1SEmmanuel Vadot 23c66ec88fSEmmanuel Vadotproperties: 24c66ec88fSEmmanuel Vadot $nodename: 25c66ec88fSEmmanuel Vadot pattern: "^dspk@[0-9a-f]*$" 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot compatible: 28c66ec88fSEmmanuel Vadot oneOf: 29c66ec88fSEmmanuel Vadot - const: nvidia,tegra186-dspk 30c66ec88fSEmmanuel Vadot - items: 31c9ccf3a3SEmmanuel Vadot - enum: 32c9ccf3a3SEmmanuel Vadot - nvidia,tegra234-dspk 33c9ccf3a3SEmmanuel Vadot - nvidia,tegra194-dspk 34c66ec88fSEmmanuel Vadot - const: nvidia,tegra186-dspk 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot reg: 37c66ec88fSEmmanuel Vadot maxItems: 1 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot clocks: 40c66ec88fSEmmanuel Vadot maxItems: 1 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot clock-names: 43c66ec88fSEmmanuel Vadot const: dspk 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot assigned-clocks: 46c66ec88fSEmmanuel Vadot maxItems: 1 47c66ec88fSEmmanuel Vadot 48c66ec88fSEmmanuel Vadot assigned-clock-parents: 49c66ec88fSEmmanuel Vadot maxItems: 1 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot assigned-clock-rates: 52c66ec88fSEmmanuel Vadot maxItems: 1 53c66ec88fSEmmanuel Vadot 54c66ec88fSEmmanuel Vadot sound-name-prefix: 55c66ec88fSEmmanuel Vadot pattern: "^DSPK[1-9]$" 56c66ec88fSEmmanuel Vadot 575def4c47SEmmanuel Vadot ports: 582eb4d8dcSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 595def4c47SEmmanuel Vadot properties: 605def4c47SEmmanuel Vadot port@0: 612eb4d8dcSEmmanuel Vadot $ref: audio-graph-port.yaml# 622eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 635def4c47SEmmanuel Vadot description: | 645def4c47SEmmanuel Vadot DSPK ACIF (Audio Client Interface) port connected to the 655def4c47SEmmanuel Vadot corresponding AHUB (Audio Hub) ACIF port. 665def4c47SEmmanuel Vadot 675def4c47SEmmanuel Vadot port@1: 682eb4d8dcSEmmanuel Vadot $ref: audio-graph-port.yaml# 692eb4d8dcSEmmanuel Vadot unevaluatedProperties: false 705def4c47SEmmanuel Vadot description: | 715def4c47SEmmanuel Vadot DSPK DAP (Digital Audio Port) interface which can be connected 725def4c47SEmmanuel Vadot to external audio codec for playback. 735def4c47SEmmanuel Vadot 74c66ec88fSEmmanuel Vadotrequired: 75c66ec88fSEmmanuel Vadot - compatible 76c66ec88fSEmmanuel Vadot - reg 77c66ec88fSEmmanuel Vadot - clocks 78c66ec88fSEmmanuel Vadot - clock-names 79c66ec88fSEmmanuel Vadot - assigned-clocks 80c66ec88fSEmmanuel Vadot - assigned-clock-parents 81c66ec88fSEmmanuel Vadot - sound-name-prefix 82c66ec88fSEmmanuel Vadot 832eb4d8dcSEmmanuel VadotadditionalProperties: false 846be33864SEmmanuel Vadot 85c66ec88fSEmmanuel Vadotexamples: 86c66ec88fSEmmanuel Vadot - | 87c66ec88fSEmmanuel Vadot #include<dt-bindings/clock/tegra186-clock.h> 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot dspk@2905000 { 90c66ec88fSEmmanuel Vadot compatible = "nvidia,tegra186-dspk"; 91c66ec88fSEmmanuel Vadot reg = <0x2905000 0x100>; 92c66ec88fSEmmanuel Vadot clocks = <&bpmp TEGRA186_CLK_DSPK1>; 93c66ec88fSEmmanuel Vadot clock-names = "dspk"; 94c66ec88fSEmmanuel Vadot assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>; 95c66ec88fSEmmanuel Vadot assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 96c66ec88fSEmmanuel Vadot assigned-clock-rates = <12288000>; 97c66ec88fSEmmanuel Vadot sound-name-prefix = "DSPK1"; 98c66ec88fSEmmanuel Vadot }; 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot... 101