mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
Add the Renesas IDT821034 codec support
Merge series from Herve Codina <herve.codina@bootlin.com>: The Renesas IDT821034 codec is four channel PCM codec with on-chip filters and programmable gain setting. It also provides SLIC (Subscriber Line Interface Circuit) signals as GPIOs.
This commit is contained in:
commit
381ee169e3
|
|
@ -0,0 +1,75 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/renesas,idt821034.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Renesas IDT821034 codec device
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description: |
|
||||
The IDT821034 codec is a four channel PCM codec with onchip filters and
|
||||
programmable gain setting.
|
||||
|
||||
The time-slots used by the codec must be set and so, the properties
|
||||
'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and
|
||||
'dai-tdm-slot-rx-mask' must be present in the ALSA sound card node for
|
||||
sub-nodes that involve the codec. The codec uses one 8bit time-slot per
|
||||
channel.
|
||||
'dai-tdm-tdm-slot-with' must be set to 8.
|
||||
|
||||
The IDT821034 codec also supports 5 gpios (SLIC signals) per channel.
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: renesas,idt821034
|
||||
|
||||
reg:
|
||||
description:
|
||||
SPI device address.
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 8192000
|
||||
|
||||
spi-cpha: true
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- spi-cpha
|
||||
- '#sound-dai-cells'
|
||||
- gpio-controller
|
||||
- '#gpio-cells'
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
audio-codec@0 {
|
||||
compatible = "renesas,idt821034";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <8192000>;
|
||||
spi-cpha;
|
||||
#sound-dai-cells = <0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
|
@ -17790,6 +17790,13 @@ F: Documentation/devicetree/bindings/net/renesas,*.yaml
|
|||
F: drivers/net/ethernet/renesas/
|
||||
F: include/linux/sh_eth.h
|
||||
|
||||
RENESAS IDT821034 ASoC CODEC
|
||||
M: Herve Codina <herve.codina@bootlin.com>
|
||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/sound/renesas,idt821034.yaml
|
||||
F: sound/soc/codecs/idt821034.c
|
||||
|
||||
RENESAS R-CAR GYROADC DRIVER
|
||||
M: Marek Vasut <marek.vasut@gmail.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ config SND_SOC_ALL_CODECS
|
|||
imply SND_SOC_HDAC_HDMI
|
||||
imply SND_SOC_HDAC_HDA
|
||||
imply SND_SOC_ICS43432
|
||||
imply SND_SOC_IDT821034
|
||||
imply SND_SOC_INNO_RK3036
|
||||
imply SND_SOC_ISABELLE
|
||||
imply SND_SOC_JZ4740_CODEC
|
||||
|
|
@ -973,6 +974,16 @@ config SND_SOC_HDA
|
|||
config SND_SOC_ICS43432
|
||||
tristate "ICS43423 and compatible i2s microphones"
|
||||
|
||||
config SND_SOC_IDT821034
|
||||
tristate "Renesas IDT821034 quad PCM codec"
|
||||
depends on SPI
|
||||
help
|
||||
Enable support for the Renesas IDT821034 quad PCM with
|
||||
programmable gain codec.
|
||||
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called snd-soc-idt821034.
|
||||
|
||||
config SND_SOC_INNO_RK3036
|
||||
tristate "Inno codec driver for RK3036 SoC"
|
||||
select REGMAP_MMIO
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ snd-soc-hdac-hdmi-objs := hdac_hdmi.o
|
|||
snd-soc-hdac-hda-objs := hdac_hda.o
|
||||
snd-soc-hda-codec-objs := hda.o hda-dai.o
|
||||
snd-soc-ics43432-objs := ics43432.o
|
||||
snd-soc-idt821034-objs := idt821034.o
|
||||
snd-soc-inno-rk3036-objs := inno_rk3036.o
|
||||
snd-soc-isabelle-objs := isabelle.o
|
||||
snd-soc-jz4740-codec-objs := jz4740.o
|
||||
|
|
@ -473,6 +474,7 @@ obj-$(CONFIG_SND_SOC_HDAC_HDMI) += snd-soc-hdac-hdmi.o
|
|||
obj-$(CONFIG_SND_SOC_HDAC_HDA) += snd-soc-hdac-hda.o
|
||||
obj-$(CONFIG_SND_SOC_HDA) += snd-soc-hda-codec.o
|
||||
obj-$(CONFIG_SND_SOC_ICS43432) += snd-soc-ics43432.o
|
||||
obj-$(CONFIG_SND_SOC_IDT821034) += snd-soc-idt821034.o
|
||||
obj-$(CONFIG_SND_SOC_INNO_RK3036) += snd-soc-inno-rk3036.o
|
||||
obj-$(CONFIG_SND_SOC_ISABELLE) += snd-soc-isabelle.o
|
||||
obj-$(CONFIG_SND_SOC_JZ4740_CODEC) += snd-soc-jz4740-codec.o
|
||||
|
|
|
|||
1180
sound/soc/codecs/idt821034.c
Normal file
1180
sound/soc/codecs/idt821034.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user