File Index
Files and directories
Sign in
FILE

rockchip,pdm.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/rockchip,pdm.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/sound/rockchip,pdm.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Rockchip PDM controller
  8
  9description:
 10  The Pulse Density Modulation Interface Controller (PDMC) is
 11  a PDM interface controller and decoder that support PDM format.
 12  It integrates a clock generator driving the PDM microphone
 13  and embeds filters which decimate the incoming bit stream to
 14  obtain most common audio rates.
 15
 16maintainers:
 17  - Heiko Stuebner <heiko@sntech.de>
 18
 19allOf:
 20  - $ref: dai-common.yaml#
 21
 22properties:
 23  compatible:
 24    enum:
 25      - rockchip,pdm
 26      - rockchip,px30-pdm
 27      - rockchip,rk1808-pdm
 28      - rockchip,rk3308-pdm
 29      - rockchip,rk3568-pdm
 30      - rockchip,rv1126-pdm
 31
 32  reg:
 33    maxItems: 1
 34
 35  interrupts:
 36    maxItems: 1
 37
 38  clocks:
 39    items:
 40      - description: clock for PDM controller
 41      - description: clock for PDM BUS
 42
 43  clock-names:
 44    items:
 45      - const: pdm_clk
 46      - const: pdm_hclk
 47
 48  dmas:
 49    maxItems: 1
 50
 51  dma-names:
 52    items:
 53      - const: rx
 54
 55  power-domains:
 56    maxItems: 1
 57
 58  resets:
 59    items:
 60      - description: reset for PDM controller
 61
 62  reset-names:
 63    items:
 64      - const: pdm-m
 65
 66  rockchip,path-map:
 67    $ref: /schemas/types.yaml#/definitions/uint32-array
 68    description:
 69      Defines the mapping of PDM SDIx to PDM PATHx.
 70      By default, they are mapped one-to-one.
 71    maxItems: 4
 72    uniqueItems: true
 73    items:
 74      enum: [ 0, 1, 2, 3 ]
 75
 76  "#sound-dai-cells":
 77    const: 0
 78
 79required:
 80  - compatible
 81  - reg
 82  - interrupts
 83  - clocks
 84  - clock-names
 85  - dmas
 86  - dma-names
 87  - "#sound-dai-cells"
 88
 89unevaluatedProperties: false
 90
 91examples:
 92  - |
 93    #include <dt-bindings/clock/rk3328-cru.h>
 94    #include <dt-bindings/interrupt-controller/arm-gic.h>
 95    #include <dt-bindings/interrupt-controller/irq.h>
 96    #include <dt-bindings/pinctrl/rockchip.h>
 97
 98    bus {
 99        #address-cells = <2>;
100        #size-cells = <2>;
101
102        pdm@ff040000 {
103            compatible = "rockchip,pdm";
104            reg = <0x0 0xff040000 0x0 0x1000>;
105            interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
106            clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
107            clock-names = "pdm_clk", "pdm_hclk";
108            dmas = <&dmac 16>;
109            dma-names = "rx";
110            #sound-dai-cells = <0>;
111            pinctrl-names = "default", "sleep";
112            pinctrl-0 = <&pdmm0_clk
113                         &pdmm0_sdi0
114                         &pdmm0_sdi1
115                         &pdmm0_sdi2
116                         &pdmm0_sdi3>;
117            pinctrl-1 = <&pdmm0_clk_sleep
118                         &pdmm0_sdi0_sleep
119                         &pdmm0_sdi1_sleep
120                         &pdmm0_sdi2_sleep
121                         &pdmm0_sdi3_sleep>;
122        };
123    };
~/ Read-only file preview.