ASoC: dt-bindings: rockchip: Convert pdm bindings to yaml
This patch converts pdm bindings to yaml. Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/1630675438-3418-2-git-send-email-sugar.zhang@rock-chips.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b2527dcd65
commit
8ece5ef67e
@ -1,64 +0,0 @@
|
||||
* Rockchip PDM controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "rockchip,pdm"
|
||||
- "rockchip,px30-pdm"
|
||||
- "rockchip,rk1808-pdm"
|
||||
- "rockchip,rk3308-pdm"
|
||||
- "rockchip,rk3568-pdm"
|
||||
- "rockchip,rv1126-pdm"
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
- dmas: DMA specifiers for rx dma. See the DMA client binding,
|
||||
Documentation/devicetree/bindings/dma/dma.txt
|
||||
- dma-names: should include "rx".
|
||||
- clocks: a list of phandle + clock-specifer pairs, one for each entry in clock-names.
|
||||
- clock-names: should contain following:
|
||||
- "pdm_hclk": clock for PDM BUS
|
||||
- "pdm_clk" : clock for PDM controller
|
||||
- resets: a list of phandle + reset-specifer paris, one for each entry in reset-names.
|
||||
- reset-names: reset names, should include "pdm-m".
|
||||
- pinctrl-names: Must contain a "default" entry.
|
||||
- pinctrl-N: One property must exist for each entry in
|
||||
pinctrl-names. See ../pinctrl/pinctrl-bindings.txt
|
||||
for details of the property values.
|
||||
|
||||
Optional properties:
|
||||
- rockchip,path-map: This is a variable length array, that shows the mapping
|
||||
of SDIx to PATHx. By default, they are one-to-one mapping as follows:
|
||||
|
||||
path0 <-- sdi0
|
||||
path1 <-- sdi1
|
||||
path2 <-- sdi2
|
||||
path3 <-- sdi3
|
||||
|
||||
e.g. "rockchip,path-map = <3 2 1 0>" means the mapping as follows:
|
||||
|
||||
path0 <-- sdi3
|
||||
path1 <-- sdi2
|
||||
path2 <-- sdi1
|
||||
path3 <-- sdi0
|
||||
|
||||
Example for rk3328 PDM controller:
|
||||
|
||||
pdm: pdm@ff040000 {
|
||||
compatible = "rockchip,pdm";
|
||||
reg = <0x0 0xff040000 0x0 0x1000>;
|
||||
clocks = <&clk_pdm>, <&clk_gates28 0>;
|
||||
clock-names = "pdm_clk", "pdm_hclk";
|
||||
dmas = <&pdma 16>;
|
||||
#dma-cells = <1>;
|
||||
dma-names = "rx";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pdmm0_clk
|
||||
&pdmm0_sdi0
|
||||
&pdmm0_sdi1
|
||||
&pdmm0_sdi2
|
||||
&pdmm0_sdi3>;
|
||||
pinctrl-1 = <&pdmm0_clk_sleep
|
||||
&pdmm0_sdi0_sleep
|
||||
&pdmm0_sdi1_sleep
|
||||
&pdmm0_sdi2_sleep
|
||||
&pdmm0_sdi3_sleep>;
|
||||
};
|
120
Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
Normal file
120
Documentation/devicetree/bindings/sound/rockchip,pdm.yaml
Normal file
@ -0,0 +1,120 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/rockchip,pdm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Rockchip PDM controller
|
||||
|
||||
description:
|
||||
The Pulse Density Modulation Interface Controller (PDMC) is
|
||||
a PDM interface controller and decoder that support PDM format.
|
||||
It integrates a clock generator driving the PDM microphone
|
||||
and embeds filters which decimate the incoming bit stream to
|
||||
obtain most common audio rates.
|
||||
|
||||
maintainers:
|
||||
- Heiko Stuebner <heiko@sntech.de>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- rockchip,pdm
|
||||
- rockchip,px30-pdm
|
||||
- rockchip,rk1808-pdm
|
||||
- rockchip,rk3308-pdm
|
||||
- rockchip,rk3568-pdm
|
||||
- rockchip,rv1126-pdm
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: clock for PDM controller
|
||||
- description: clock for PDM BUS
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: pdm_clk
|
||||
- const: pdm_hclk
|
||||
|
||||
dmas:
|
||||
maxItems: 1
|
||||
|
||||
dma-names:
|
||||
items:
|
||||
- const: rx
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
items:
|
||||
- description: reset for PDM controller
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: pdm-m
|
||||
|
||||
rockchip,path-map:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description:
|
||||
Defines the mapping of PDM SDIx to PDM PATHx.
|
||||
By default, they are mapped one-to-one.
|
||||
maxItems: 4
|
||||
uniqueItems: true
|
||||
items:
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
- dmas
|
||||
- dma-names
|
||||
- "#sound-dai-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/rk3328-cru.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
|
||||
bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
pdm@ff040000 {
|
||||
compatible = "rockchip,pdm";
|
||||
reg = <0x0 0xff040000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
|
||||
clock-names = "pdm_clk", "pdm_hclk";
|
||||
dmas = <&dmac 16>;
|
||||
dma-names = "rx";
|
||||
#sound-dai-cells = <0>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pdmm0_clk
|
||||
&pdmm0_sdi0
|
||||
&pdmm0_sdi1
|
||||
&pdmm0_sdi2
|
||||
&pdmm0_sdi3>;
|
||||
pinctrl-1 = <&pdmm0_clk_sleep
|
||||
&pdmm0_sdi0_sleep
|
||||
&pdmm0_sdi1_sleep
|
||||
&pdmm0_sdi2_sleep
|
||||
&pdmm0_sdi3_sleep>;
|
||||
};
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user