brintos

brintos / linux-shallow public Read only

0
0
Text · 2.7 KiB · 9aa65c9 Raw
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