c48b75b727
The amount of changes is smaller at this round (what a surprise), but lots of activity is seen. Most of changes are about ASoC driver development, especially Intel platforms. Here are some highlights: General: * Replace all tasklet usages with other alternatives * Cleanup of the ASoC error unwinding code * Fixes for trivial issues caught by static checker * Spell fixes allover the places ALSA Core: * Lockdep fix for control devices * Fix for potential OSS sequencer mutex stalls HD-audio and USB-audio: * SoundBlaster AE-7 support * Changes in quirk table for the rename handling * Quirks for HP and ASUS machines, Pioneer DJ DJM-250MK2. ASoC: * Lots of updates for Intel SOF and SoundWire enablement * Replacement of the DSP driver for some older x86 systems; the new code was written from scratch, better maintenance expected * Helpers for parsing auxiluary devices from the device tree * New support for AllWinner A64, Cirrus Logic CS4234, Mediatek MT6359 Microchip S/PDIF TX and RX controllers, Realtek RT1015P, and Texas Instruments J721E, TAS2110, TAS2564 and TAS2764 -----BEGIN PGP SIGNATURE----- iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAl+HHD4OHHRpd2FpQHN1 c2UuZGUACgkQLtJE4w1nLE9eAw//Wgs9LfQE3rBcsGVNTHimW2cPzbdHVK1eth6N pFT6rdEG2N+ALR0ESA26CSBniJocqxNvXYzaYT0fy+7tS/chOjhkfr6SttYPDmwc q2u1SQIqdx41Q0DVUXYxSLVExjT4Rx96qeibLy5pi8DsbL0DOVa7PkVDl1XHXNJ0 iSZwA18gCRdezpoOCD+UF8EBplULjYfPp0xstqjaQzTCpJQ5C1xpbZdHWfhTWsKo H98d4GL4yUUbJb5/Wi7uqiUGhPIxgBUMVkaY+uRifeNA/MGD5rUZQaf8ft6uQFUL D5RCUksJiQfyrj++g9/mzOWVRCFZ6MvaAmEW4xwlPvTsP2uIVIqS5RH8Z2BhwjXr J8/4gPuCtoEKbfsOOCOG9MlGsquf9LBeiH5KZ7gqb7ilu4tICR2zXtBr6U7e64Wd LsPROQnr/+lxIlEJjlhiarf1jXMfo4glxuoLsDcIH+Baf0lTiMNoBVIZTUdJ0urq Srh++Bk/WGvoVJe1PHp7IfhZCoBACozPXq7EifbnCsUM+cVtQtjWrydyi8k/Yona 5EfS5wQdEH6JvQirkmGJm8kNMu+e3hW2HzoJqV2Z2DUMMnCSra62KD0wPA/wRchu mkC47875a+jgo58fq4bX9hzGi2CrE/TMYdii6I2bbAm/Mp7czXZfO0LOTWDc4Bs5 T8qt+HI= =nWAp -----END PGP SIGNATURE----- Merge tag 'sound-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "The amount of changes is smaller at this round (what a surprise), but lots of activity is seen. Most of changes are about ASoC driver development, especially Intel platforms. Here are some highlights: General: - Replace all tasklet usages with other alternatives - Cleanup of the ASoC error unwinding code - Fixes for trivial issues caught by static checker - Spell fixes allover the places ALSA Core: - Lockdep fix for control devices - Fix for potential OSS sequencer mutex stalls HD-audio and USB-audio: - SoundBlaster AE-7 support - Changes in quirk table for the rename handling - Quirks for HP and ASUS machines, Pioneer DJ DJM-250MK2. ASoC: - Lots of updates for Intel SOF and SoundWire enablement - Replacement of the DSP driver for some older x86 systems; the new code was written from scratch, better maintenance expected - Helpers for parsing auxiluary devices from the device tree - New support for AllWinner A64, Cirrus Logic CS4234, Mediatek MT6359 Microchip S/PDIF TX and RX controllers, Realtek RT1015P, and Texas Instruments J721E, TAS2110, TAS2564 and TAS2764" * tag 'sound-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (498 commits) ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close ALSA: hda: fix jack detection with Realtek codecs when in D3 ALSA: fireworks: use semicolons rather than commas to separate statements ALSA: hda: use semicolons rather than commas to separate statements ALSA: hda/i915 - fix list corruption with concurrent probes ASoC: dmaengine: Document support for TX only or RX only streams ASoC: mchp-spdiftx: remove 'TX' from playback stream name ASoC: ti: davinci-mcasp: Use &pdev->dev for early dev_warn ASoC: tas2764: Add the driver for the TAS2764 dt-bindings: tas2764: Add the TAS2764 binding doc ASoC: Intel: catpt: Add explicit DMADEVICES kconfig dependency ASoC: Intel: catpt: Fix compilation when CONFIG_MODULES is disabled ASoC: stm32: dfsdm: add actual resolution trace ASoC: stm32: dfsdm: change rate limits ASoC: qcom: sc7180: Add support for audio over DP Asoc: qcom: lpass-platform : Increase buffer size ASoC: qcom: Add support for lpass hdmi driver Asoc: qcom: lpass:Update lpaif_dmactl members order Asoc:qcom:lpass-cpu:Update dts property read API ASoC: dt-bindings: Add dt binding for lpass hdmi ...
210 lines
7.2 KiB
YAML
210 lines
7.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
|
||
# Copyright (C) 2019 Texas Instruments Incorporated
|
||
%YAML 1.2
|
||
---
|
||
$id: http://devicetree.org/schemas/sound/tlv320adcx140.yaml#
|
||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
||
title: Texas Instruments TLV320ADCX140 Quad Channel Analog-to-Digital Converter
|
||
|
||
maintainers:
|
||
- Dan Murphy <dmurphy@ti.com>
|
||
|
||
description: |
|
||
The TLV320ADCX140 are multichannel (4-ch analog recording or 8-ch digital
|
||
PDM microphones recording), high-performance audio, analog-to-digital
|
||
converter (ADC) with analog inputs supporting up to 2V RMS. The TLV320ADCX140
|
||
family supports line and microphone Inputs, and offers a programmable
|
||
microphone bias or supply voltage generation.
|
||
|
||
Specifications can be found at:
|
||
https://www.ti.com/lit/ds/symlink/tlv320adc3140.pdf
|
||
https://www.ti.com/lit/ds/symlink/tlv320adc5140.pdf
|
||
https://www.ti.com/lit/ds/symlink/tlv320adc6140.pdf
|
||
|
||
properties:
|
||
compatible:
|
||
oneOf:
|
||
- const: ti,tlv320adc3140
|
||
- const: ti,tlv320adc5140
|
||
- const: ti,tlv320adc6140
|
||
|
||
reg:
|
||
maxItems: 1
|
||
description: |
|
||
I2C addresss of the device can be one of these 0x4c, 0x4d, 0x4e or 0x4f
|
||
|
||
reset-gpios:
|
||
description: |
|
||
GPIO used for hardware reset.
|
||
|
||
areg-supply:
|
||
description: |
|
||
Regulator with AVDD at 3.3V. If not defined then the internal regulator
|
||
is enabled.
|
||
|
||
ti,mic-bias-source:
|
||
description: |
|
||
Indicates the source for MIC Bias.
|
||
0 - Mic bias is set to VREF
|
||
1 - Mic bias is set to VREF × 1.096
|
||
6 - Mic bias is set to AVDD
|
||
$ref: /schemas/types.yaml#/definitions/uint32
|
||
enum: [0, 1, 6]
|
||
|
||
ti,vref-source:
|
||
description: |
|
||
Indicates the source for MIC Bias.
|
||
0 - Set VREF to 2.75V
|
||
1 - Set VREF to 2.5V
|
||
2 - Set VREF to 1.375V
|
||
$ref: /schemas/types.yaml#/definitions/uint32
|
||
enum: [0, 1, 2]
|
||
|
||
ti,pdm-edge-select:
|
||
description: |
|
||
Defines the PDMCLK sampling edge configuration for the PDM inputs. This
|
||
array is defined as <PDMIN1 PDMIN2 PDMIN3 PDMIN4>.
|
||
|
||
0 - (default) Odd channel is latched on the negative edge and even
|
||
channel is latched on the the positive edge.
|
||
1 - Odd channel is latched on the positive edge and even channel is
|
||
latched on the the negative edge.
|
||
|
||
PDMIN1 - PDMCLK latching edge used for channel 1 and 2 data
|
||
PDMIN2 - PDMCLK latching edge used for channel 3 and 4 data
|
||
PDMIN3 - PDMCLK latching edge used for channel 5 and 6 data
|
||
PDMIN4 - PDMCLK latching edge used for channel 7 and 8 data
|
||
|
||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
minItems: 1
|
||
maxItems: 4
|
||
items:
|
||
maximum: 1
|
||
default: [0, 0, 0, 0]
|
||
|
||
ti,gpi-config:
|
||
description: |
|
||
Defines the configuration for the general purpose input pins (GPI).
|
||
The array is defined as <GPI1 GPI2 GPI3 GPI4>.
|
||
|
||
0 - (default) disabled
|
||
1 - GPIX is configured as a general-purpose input (GPI)
|
||
2 - GPIX is configured as a master clock input (MCLK)
|
||
3 - GPIX is configured as an ASI input for daisy-chain (SDIN)
|
||
4 - GPIX is configured as a PDM data input for channel 1 and channel
|
||
(PDMDIN1)
|
||
5 - GPIX is configured as a PDM data input for channel 3 and channel
|
||
(PDMDIN2)
|
||
6 - GPIX is configured as a PDM data input for channel 5 and channel
|
||
(PDMDIN3)
|
||
7 - GPIX is configured as a PDM data input for channel 7 and channel
|
||
(PDMDIN4)
|
||
|
||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
minItems: 1
|
||
maxItems: 4
|
||
items:
|
||
maximum: 7
|
||
default: [0, 0, 0, 0]
|
||
|
||
ti,asi-tx-drive:
|
||
type: boolean
|
||
description: |
|
||
When set the device will set the Tx ASI output to a Hi-Z state for unused
|
||
data cycles. Default is to drive the output low on unused ASI cycles.
|
||
|
||
patternProperties:
|
||
'^ti,gpo-config-[1-4]$':
|
||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||
description: |
|
||
Defines the configuration and output driver for the general purpose
|
||
output pins (GPO). These values are pairs, the first value is for the
|
||
configuration type and the second value is for the output drive type.
|
||
The array is defined as <GPO_CFG GPO_DRV>
|
||
|
||
GPO output configuration can be one of the following:
|
||
|
||
0 - (default) disabled
|
||
1 - GPOX is configured as a general-purpose output (GPO)
|
||
2 - GPOX is configured as a device interrupt output (IRQ)
|
||
3 - GPOX is configured as a secondary ASI output (SDOUT2)
|
||
4 - GPOX is configured as a PDM clock output (PDMCLK)
|
||
|
||
GPO output drive configuration for the GPO pins can be one of the following:
|
||
|
||
0d - (default) Hi-Z output
|
||
1d - Drive active low and active high
|
||
2d - Drive active low and weak high
|
||
3d - Drive active low and Hi-Z
|
||
4d - Drive weak low and active high
|
||
5d - Drive Hi-Z and active high
|
||
|
||
ti,gpio-config:
|
||
description: |
|
||
Defines the configuration and output drive for the General Purpose
|
||
Input and Output pin (GPIO1). Its value is a pair, the first value is for
|
||
the configuration type and the second value is for the output drive
|
||
type. The array is defined as <GPIO1_CFG GPIO1_DRV>
|
||
|
||
configuration for the GPIO pin can be one of the following:
|
||
0 - disabled
|
||
1 - GPIO1 is configured as a general-purpose output (GPO)
|
||
2 - (default) GPIO1 is configured as a device interrupt output (IRQ)
|
||
3 - GPIO1 is configured as a secondary ASI output (SDOUT2)
|
||
4 - GPIO1 is configured as a PDM clock output (PDMCLK)
|
||
8 - GPIO1 is configured as an input to control when MICBIAS turns on or
|
||
off (MICBIAS_EN)
|
||
9 - GPIO1 is configured as a general-purpose input (GPI)
|
||
10 - GPIO1 is configured as a master clock input (MCLK)
|
||
11 - GPIO1 is configured as an ASI input for daisy-chain (SDIN)
|
||
12 - GPIO1 is configured as a PDM data input for channel 1 and channel 2
|
||
(PDMDIN1)
|
||
13 - GPIO1 is configured as a PDM data input for channel 3 and channel 4
|
||
(PDMDIN2)
|
||
14 - GPIO1 is configured as a PDM data input for channel 5 and channel 6
|
||
(PDMDIN3)
|
||
15 - GPIO1 is configured as a PDM data input for channel 7 and channel 8
|
||
(PDMDIN4)
|
||
|
||
output drive type for the GPIO pin can be one of the following:
|
||
0 - Hi-Z output
|
||
1 - Drive active low and active high
|
||
2 - (default) Drive active low and weak high
|
||
3 - Drive active low and Hi-Z
|
||
4 - Drive weak low and active high
|
||
5 - Drive Hi-Z and active high
|
||
|
||
allOf:
|
||
- $ref: /schemas/types.yaml#/definitions/uint32-array
|
||
- minItems: 2
|
||
maxItems: 2
|
||
items:
|
||
maximum: 15
|
||
default: [2, 2]
|
||
|
||
required:
|
||
- compatible
|
||
- reg
|
||
|
||
additionalProperties: false
|
||
|
||
examples:
|
||
- |
|
||
#include <dt-bindings/gpio/gpio.h>
|
||
i2c0 {
|
||
#address-cells = <1>;
|
||
#size-cells = <0>;
|
||
codec: codec@4c {
|
||
compatible = "ti,tlv320adc5140";
|
||
reg = <0x4c>;
|
||
ti,mic-bias-source = <6>;
|
||
ti,pdm-edge-select = <0 1 0 1>;
|
||
ti,gpi-config = <4 5 6 7>;
|
||
ti,gpio-config = <10 2>;
|
||
ti,gpo-config-1 = <0 0>;
|
||
ti,gpo-config-2 = <0 0>;
|
||
reset-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
|
||
};
|
||
};
|