zephyr/dts/bindings/audio/nxp,dmic.yaml
Daniel DeGrasse 6fbd76bef3 drivers: audio: dmic: add driver for NXP DMIC peripheral
Add driver for NXP DMIC peripheral. This peripheral is present on the
iMX RT5xx and iMX RT6xx parts, as well as some LPC SOCs. The following
features are supported:
- up to 2 simultaneous channels of L/R PCM data (4 channels are not
  supported due to limitations of the DMA engine)
- individual configuration of gain and filter parameters for each DMIC
  channel input

The driver has been tested with up to 4 PCM data streams (2 L/R channels),
as well as the MEMS microphones present on the RT595 EVK.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Co-authored-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2024-01-17 14:43:52 +01:00

98 lines
2.4 KiB
YAML

# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0
description: NXP DMIC
compatible: "nxp,dmic"
include: [base.yaml, pinctrl-device.yaml]
properties:
reg:
required: true
interrupts:
required: true
pinctrl-0:
required: true
clocks:
required: true
use2fs:
type: boolean
description: |
Use 2FS output, and bypass final half band decimator. This will reduce
the required PDM bit clock frequency by a factor of two, and can reduce
power consumption.
# Child binding definition, describes each channel of the DMIC
child-binding:
description: |
NXP DMIC channel. Can be used to configure filtering and gain attributes
of each channel
include: base.yaml
compatible: "nxp,dmic-channel"
properties:
reg:
required: true
dmas:
required: true
gainshift:
type: int
default: 0
description: |
Decimator gain shift. Sets the number of bits to shift decimated PCM
data by, as a positive or negative number. Range of [-15,15]. Default
is reset value of register
compensation-2fs:
type: string
default: "zero"
enum:
- "zero"
- "-0.16"
- "-0.15"
- "-0.13"
description: |
2FS compensation filter. See SOC reference manual for filter response
of each value. Default value is reset value of register, and
recommended filter setting.
compensation-4fs:
type: string
default: "zero"
enum:
- "zero"
- "-0.16"
- "-0.15"
- "-0.13"
description: |
4FS compensation filter. See SOC reference manual for filter response
of each value. Default value is reset value of register, and
recommended filter setting.
dc-cutoff:
type: string
default: "flat"
enum:
- "flat"
- "155hz"
- "78hz"
- "39hz"
description: |
DC cutoff filter setting. Default is reset value of register. Note that
each cutoff frequency is based on a sample frequency of 16KHz, so
actual cutoff values will scale up or down based on your sampling
frequency
dc-gain:
type: int
default: 0
description: |
DC gain fine adjustment. Number of bits to downshift the final
conversion result. Max value of 15. Default is reset value of
register