106 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/sound/microchip,sama7g5-pdmc.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Microchip Pulse Density Microphone Controller8 9maintainers:10 - Codrin Ciubotariu <codrin.ciubotariu@microchip.com>11 12description:13 The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 414 digital microphones having Pulse Density Modulated (PDM) outputs.15 16allOf:17 - $ref: dai-common.yaml#18 19properties:20 compatible:21 const: microchip,sama7g5-pdmc22 23 reg:24 maxItems: 125 26 "#sound-dai-cells":27 const: 028 29 interrupts:30 maxItems: 131 32 clocks:33 items:34 - description: Peripheral Bus Clock35 - description: Generic Clock36 37 clock-names:38 items:39 - const: pclk40 - const: gclk41 42 dmas:43 description: RX DMA Channel44 maxItems: 145 46 dma-names:47 const: rx48 49 microchip,mic-pos:50 description: |51 Position of PDM microphones on the DS line and the sampling edge (rising52 or falling) of the CLK line. A microphone is represented as a pair of DS53 line and the sampling edge. The first microphone is mapped to channel 0,54 the second to channel 1, etc.55 $ref: /schemas/types.yaml#/definitions/uint32-matrix56 items:57 items:58 - description: value for DS line59 enum: [0, 1]60 - description: value for sampling edge61 enum: [0, 1]62 minItems: 163 maxItems: 464 uniqueItems: true65 66 microchip,startup-delay-us:67 description: |68 Specifies the delay in microseconds that needs to be applied after69 enabling the PDMC microphones to avoid unwanted noise due to microphones70 not being ready.71 72required:73 - compatible74 - reg75 - "#sound-dai-cells"76 - interrupts77 - clocks78 - clock-names79 - dmas80 - dma-names81 - microchip,mic-pos82 83unevaluatedProperties: false84 85examples:86 - |87 #include <dt-bindings/clock/at91.h>88 #include <dt-bindings/dma/at91.h>89 #include <dt-bindings/interrupt-controller/arm-gic.h>90 #include <dt-bindings/sound/microchip,pdmc.h>91 92 pdmc: sound@e1608000 {93 compatible = "microchip,sama7g5-pdmc";94 reg = <0xe1608000 0x4000>;95 #sound-dai-cells = <0>;96 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;97 dmas = <&dma0 AT91_XDMAC_DT_PERID(37)>;98 dma-names = "rx";99 clocks = <&pmc PMC_TYPE_PERIPHERAL 68>, <&pmc PMC_TYPE_GCK 68>;100 clock-names = "pclk", "gclk";101 microchip,mic-pos = <MCHP_PDMC_DS0 MCHP_PDMC_CLK_POSITIVE>,102 <MCHP_PDMC_DS0 MCHP_PDMC_CLK_NEGATIVE>,103 <MCHP_PDMC_DS1 MCHP_PDMC_CLK_POSITIVE>,104 <MCHP_PDMC_DS1 MCHP_PDMC_CLK_NEGATIVE>;105 };106