1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/sound/rockchip,pdm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Rockchip PDM controller
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.
17 - Heiko Stuebner <heiko@sntech.de>
20 - $ref: dai-common.yaml#
40 - description: clock for PDM controller
41 - description: clock for PDM BUS
60 - description: reset for PDM controller
67 $ref: /schemas/types.yaml#/definitions/uint32-array
69 Defines the mapping of PDM SDIx to PDM PATHx.
70 By default, they are mapped one-to-one.
89 unevaluatedProperties: false
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>
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";
110 #sound-dai-cells = <0>;
111 pinctrl-names = "default", "sleep";
112 pinctrl-0 = <&pdmm0_clk
117 pinctrl-1 = <&pdmm0_clk_sleep