-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ASoC: dt-bindings: Document Microchip's PDMC
Add DT bindings for the new Microchip PDMC embedded in sama7g5 SoCs. Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20220307122202.2251639-3-codrin.ciubotariu@microchip.com Signed-off-by: Mark Brown <broonie@kernel.org>
- Loading branch information
Codrin Ciubotariu
authored and
Mark Brown
committed
Mar 8, 2022
1 parent
9a1e134
commit 015044e
Showing
2 changed files
with
113 additions
and
0 deletions.
There are no files selected for viewing
100 changes: 100 additions & 0 deletions
100
Documentation/devicetree/bindings/sound/microchip,pdmc.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/sound/microchip,pdmc.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Microchip Pulse Density Microphone Controller | ||
|
||
maintainers: | ||
- Codrin Ciubotariu <codrin.ciubotariu@microchip.com> | ||
|
||
description: | ||
The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 4 | ||
digital microphones having Pulse Density Modulated (PDM) outputs. | ||
|
||
properties: | ||
compatible: | ||
const: microchip,sama7g5-pdmc | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
"#sound-dai-cells": | ||
const: 0 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
items: | ||
- description: Peripheral Bus Clock | ||
- description: Generic Clock | ||
|
||
clock-names: | ||
items: | ||
- const: pclk | ||
- const: gclk | ||
|
||
dmas: | ||
description: RX DMA Channel | ||
maxItems: 1 | ||
|
||
dma-names: | ||
const: rx | ||
|
||
microchip,mic-pos: | ||
description: | | ||
Position of PDM microphones on the DS line and the sampling edge (rising | ||
or falling) of the CLK line. A microphone is represented as a pair of DS | ||
line and the sampling edge. The first microphone is mapped to channel 0, | ||
the second to channel 1, etc. | ||
$ref: /schemas/types.yaml#/definitions/uint32-matrix | ||
items: | ||
items: | ||
- description: value for DS line | ||
- description: value for sampling edge | ||
anyOf: | ||
- enum: | ||
- [0, 0] | ||
- [0, 1] | ||
- [1, 0] | ||
- [1, 1] | ||
minItems: 1 | ||
maxItems: 4 | ||
uniqueItems: true | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- "#sound-dai-cells" | ||
- interrupts | ||
- clocks | ||
- clock-names | ||
- dmas | ||
- dma-names | ||
- microchip,mic-pos | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/clock/at91.h> | ||
#include <dt-bindings/dma/at91.h> | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
#include <dt-bindings/sound/microchip,pdmc.h> | ||
pdmc: sound@e1608000 { | ||
compatible = "microchip,sama7g5-pdmc"; | ||
reg = <0xe1608000 0x4000>; | ||
#sound-dai-cells = <0>; | ||
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; | ||
dmas = <&dma0 AT91_XDMAC_DT_PERID(37)>; | ||
dma-names = "rx"; | ||
clocks = <&pmc PMC_TYPE_PERIPHERAL 68>, <&pmc PMC_TYPE_GCK 68>; | ||
clock-names = "pclk", "gclk"; | ||
microchip,mic-pos = <MCHP_PDMC_DS0 MCHP_PDMC_CLK_POSITIVE>, | ||
<MCHP_PDMC_DS0 MCHP_PDMC_CLK_NEGATIVE>, | ||
<MCHP_PDMC_DS1 MCHP_PDMC_CLK_POSITIVE>, | ||
<MCHP_PDMC_DS1 MCHP_PDMC_CLK_NEGATIVE>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
#ifndef __DT_BINDINGS_MICROCHIP_PDMC_H__ | ||
#define __DT_BINDINGS_MICROCHIP_PDMC_H__ | ||
|
||
/* PDM microphone's pin placement */ | ||
#define MCHP_PDMC_DS0 0 | ||
#define MCHP_PDMC_DS1 1 | ||
|
||
/* PDM microphone clock edge sampling */ | ||
#define MCHP_PDMC_CLK_POSITIVE 0 | ||
#define MCHP_PDMC_CLK_NEGATIVE 1 | ||
|
||
#endif /* __DT_BINDINGS_MICROCHIP_PDMC_H__ */ |