File Index
Files and directories
Sign in
FILE

microchip,sama7g5-pdmc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/microchip,sama7g5-pdmc.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  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 Controller
  8
  9maintainers:
 10  - Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
 11
 12description:
 13  The Microchip Pulse Density Microphone Controller (PDMC) interfaces up to 4
 14  digital microphones having Pulse Density Modulated (PDM) outputs.
 15
 16allOf:
 17  - $ref: dai-common.yaml#
 18
 19properties:
 20  compatible:
 21    const: microchip,sama7g5-pdmc
 22
 23  reg:
 24    maxItems: 1
 25
 26  "#sound-dai-cells":
 27    const: 0
 28
 29  interrupts:
 30    maxItems: 1
 31
 32  clocks:
 33    items:
 34      - description: Peripheral Bus Clock
 35      - description: Generic Clock
 36
 37  clock-names:
 38    items:
 39      - const: pclk
 40      - const: gclk
 41
 42  dmas:
 43    description: RX DMA Channel
 44    maxItems: 1
 45
 46  dma-names:
 47    const: rx
 48
 49  microchip,mic-pos:
 50    description: |
 51      Position of PDM microphones on the DS line and the sampling edge (rising
 52      or falling) of the CLK line. A microphone is represented as a pair of DS
 53      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-matrix
 56    items:
 57      items:
 58        - description: value for DS line
 59          enum: [0, 1]
 60        - description: value for sampling edge
 61          enum: [0, 1]
 62    minItems: 1
 63    maxItems: 4
 64    uniqueItems: true
 65
 66  microchip,startup-delay-us:
 67    description: |
 68      Specifies the delay in microseconds that needs to be applied after
 69      enabling the PDMC microphones to avoid unwanted noise due to microphones
 70      not being ready.
 71
 72required:
 73  - compatible
 74  - reg
 75  - "#sound-dai-cells"
 76  - interrupts
 77  - clocks
 78  - clock-names
 79  - dmas
 80  - dma-names
 81  - microchip,mic-pos
 82
 83unevaluatedProperties: false
 84
 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    };
~/ Read-only file preview.