162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/microchip,sama7g5-pdmc.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Microchip Pulse Density Microphone Controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Codrin Ciubotariu <codrin.ciubotariu@microchip.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 4 1462306a36Sopenharmony_ci digital microphones having Pulse Density Modulated (PDM) outputs. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciallOf: 1762306a36Sopenharmony_ci - $ref: dai-common.yaml# 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciproperties: 2062306a36Sopenharmony_ci compatible: 2162306a36Sopenharmony_ci const: microchip,sama7g5-pdmc 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci reg: 2462306a36Sopenharmony_ci maxItems: 1 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci "#sound-dai-cells": 2762306a36Sopenharmony_ci const: 0 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci interrupts: 3062306a36Sopenharmony_ci maxItems: 1 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci clocks: 3362306a36Sopenharmony_ci items: 3462306a36Sopenharmony_ci - description: Peripheral Bus Clock 3562306a36Sopenharmony_ci - description: Generic Clock 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci clock-names: 3862306a36Sopenharmony_ci items: 3962306a36Sopenharmony_ci - const: pclk 4062306a36Sopenharmony_ci - const: gclk 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci dmas: 4362306a36Sopenharmony_ci description: RX DMA Channel 4462306a36Sopenharmony_ci maxItems: 1 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci dma-names: 4762306a36Sopenharmony_ci const: rx 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci microchip,mic-pos: 5062306a36Sopenharmony_ci description: | 5162306a36Sopenharmony_ci Position of PDM microphones on the DS line and the sampling edge (rising 5262306a36Sopenharmony_ci or falling) of the CLK line. A microphone is represented as a pair of DS 5362306a36Sopenharmony_ci line and the sampling edge. The first microphone is mapped to channel 0, 5462306a36Sopenharmony_ci the second to channel 1, etc. 5562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-matrix 5662306a36Sopenharmony_ci items: 5762306a36Sopenharmony_ci items: 5862306a36Sopenharmony_ci - description: value for DS line 5962306a36Sopenharmony_ci enum: [0, 1] 6062306a36Sopenharmony_ci - description: value for sampling edge 6162306a36Sopenharmony_ci enum: [0, 1] 6262306a36Sopenharmony_ci minItems: 1 6362306a36Sopenharmony_ci maxItems: 4 6462306a36Sopenharmony_ci uniqueItems: true 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci microchip,startup-delay-us: 6762306a36Sopenharmony_ci description: | 6862306a36Sopenharmony_ci Specifies the delay in microseconds that needs to be applied after 6962306a36Sopenharmony_ci enabling the PDMC microphones to avoid unwanted noise due to microphones 7062306a36Sopenharmony_ci not being ready. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_cirequired: 7362306a36Sopenharmony_ci - compatible 7462306a36Sopenharmony_ci - reg 7562306a36Sopenharmony_ci - "#sound-dai-cells" 7662306a36Sopenharmony_ci - interrupts 7762306a36Sopenharmony_ci - clocks 7862306a36Sopenharmony_ci - clock-names 7962306a36Sopenharmony_ci - dmas 8062306a36Sopenharmony_ci - dma-names 8162306a36Sopenharmony_ci - microchip,mic-pos 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciunevaluatedProperties: false 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciexamples: 8662306a36Sopenharmony_ci - | 8762306a36Sopenharmony_ci #include <dt-bindings/clock/at91.h> 8862306a36Sopenharmony_ci #include <dt-bindings/dma/at91.h> 8962306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 9062306a36Sopenharmony_ci #include <dt-bindings/sound/microchip,pdmc.h> 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci pdmc: sound@e1608000 { 9362306a36Sopenharmony_ci compatible = "microchip,sama7g5-pdmc"; 9462306a36Sopenharmony_ci reg = <0xe1608000 0x4000>; 9562306a36Sopenharmony_ci #sound-dai-cells = <0>; 9662306a36Sopenharmony_ci interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 9762306a36Sopenharmony_ci dmas = <&dma0 AT91_XDMAC_DT_PERID(37)>; 9862306a36Sopenharmony_ci dma-names = "rx"; 9962306a36Sopenharmony_ci clocks = <&pmc PMC_TYPE_PERIPHERAL 68>, <&pmc PMC_TYPE_GCK 68>; 10062306a36Sopenharmony_ci clock-names = "pclk", "gclk"; 10162306a36Sopenharmony_ci microchip,mic-pos = <MCHP_PDMC_DS0 MCHP_PDMC_CLK_POSITIVE>, 10262306a36Sopenharmony_ci <MCHP_PDMC_DS0 MCHP_PDMC_CLK_NEGATIVE>, 10362306a36Sopenharmony_ci <MCHP_PDMC_DS1 MCHP_PDMC_CLK_POSITIVE>, 10462306a36Sopenharmony_ci <MCHP_PDMC_DS1 MCHP_PDMC_CLK_NEGATIVE>; 10562306a36Sopenharmony_ci }; 106