infineon,pdm

Description

Infineon PDM (Pulse Density Modulation) Controller

Properties

Top level properties

These property descriptions apply to “infineon,pdm” nodes themselves. This page also describes child node properties in the following sections.

Properties not inherited from the base binding file.

Name

Type

Details

clk-dst

int

Peripheral clock destination ID for this PDM instance

This property is required.

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

This property is required.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

This property is required.

fir0-coefficients

array

FIR filter coefficients for the PDM. This array has 8 elements.

fir1-coefficients

array

FIR filter coefficients for the PDM. This array has 14 elements.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

Child node properties

Name

Type

Details

reg

array

Information used to address the device. The value is specific to
the device (i.e. is different depending on the compatible
property).

The "reg" property is typically a sequence of (address, length) pairs.
Each pair is called a "register block". Values are
conventionally written in hex.

For details, see "2.3.6 reg" in Devicetree Specification v0.4.

This property is required.

See Important properties for more information.

channel

int

Channel number for this PDM channel.

This property is required.

use-alt-io

boolean

If true, use the pdm data pin from the alternate channel
as specified in the ROUTE_CTL register.

cic-decimation-code

int

The CIC filter decimation code should be set according to the
relative frequency of the PDM and PCM frequencies.
  0: DECIM_2
  1: DECIM_4
  2: DECIM_8
  3: DECIM_16
  4: DECIM_32 (default)

Legal values: 0, 1, 2, 3, 4

dc-block-disable

boolean

Disable the DC blocker filter. For debug purposes.

dc-block-code

int

Specifies the DC blocker coefficient:
  0: alpha = 0.999755859
  1: alpha = 0.999511719 (default)
  2: alpha = 0.999023438
  3: alpha = 0.998046875
  4: alpha = 0.99609375
  5: alpha = 0.9921875
  6: alpha = 0.984375
  7: alpha = 0.96875

Legal values: 0, 1, 2, 3, 4, 5, 6, 7

fir0-enable

boolean

Enable FIR0 filter for the channel. Disabled by default
and typically only used for sample frequencies of 8 and 16 kHz.

fir0-scale

int

FIR0 filter PCM scaling. FIR0 filter PCM values are scaled
(right shifted, rounded and clipped) to 26bit signed PCM
values. This parameter specifies the right shift amount:
  0: no shift
  1: shift right by 1
  ...
  31: shift right by 31

fir0-decimation

int

Sets the FIR0 filter PCM frequency relative to the CIC filter PCM frequency:
  0: PCM frequency is the same as CIC frequency (default)
  1: PCM frequency is 1/2 of CIC frequency
  2: PCM frequency is 1/3 of CIC frequency
  3: PCM frequency is 1/4 of CIC frequency
  4: PCM frequency is 1/5 of CIC frequency

Legal values: 0, 1, 2, 3, 4

fir1-scale

int

FIR1 filter PCM scaling. FIR1 filter PCM values are scaled
(right shifted, rounded and clipped) to 26bit signed PCM
values. This parameter specifies the right shift amount:
  0: no shift
  1: shift right by 1
  ...
  31: shift right by 31

fir1-decimation

int

Sets the FIR1 filter PCM frequency relative to the CIC filter PCM frequency:
  0: PCM frequency is the same as CIC frequency (default)
  1: PCM frequency is 1/2 of CIC frequency
  2: PCM frequency is 1/3 of CIC frequency
  3: PCM frequency is 1/4 of CIC frequency
  4: PCM frequency is 1/5 of CIC frequency

Legal values: 0, 1, 2, 3, 4