Unverified Commit 98be58f2 authored by Mark Brown's avatar Mark Brown
Browse files

Add Chameleon v3 ASoC audio

Merge series from Paweł Anikiel <pan@semihalf.com>:

The Google Chameleon v3 is a device made for testing audio and video
paths of other devices. This patchset adds support for ASoC audio on
this device. It has two audio sources: HDMI audio from the it68051 chip
(RX only), and analog audio from the ssm2603 chip (RX and TX).

The patchset adds the ASoC platform and codec drivers.
parents 9b6d1b0c 6f2c1e7c
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/google,chv3-codec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Google Chameleon v3 audio codec

maintainers:
  - Paweł Anikiel <pan@semihalf.com>

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    const: google,chv3-codec

  "#sound-dai-cells":
    const: 0

required:
  - compatible

additionalProperties: false

examples:
  - |
    audio-codec {
        compatible = "google,chv3-codec";
    };
+44 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/google,chv3-i2s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Google Chameleon v3 I2S device

maintainers:
  - Paweł Anikiel <pan@semihalf.com>

description: |
  I2S device for the Google Chameleon v3. The device handles both RX
  and TX using a producer/consumer ring buffer design.

properties:
  compatible:
    const: google,chv3-i2s

  reg:
    items:
      - description: core registers
      - description: irq registers

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    i2s@c0060300 {
        compatible = "google,chv3-i2s";
        reg = <0xc0060300 0x100>,
              <0xc0060f00 0x10>;
        interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
    };
+1 −0
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ source "sound/soc/bcm/Kconfig"
source "sound/soc/cirrus/Kconfig"
source "sound/soc/dwc/Kconfig"
source "sound/soc/fsl/Kconfig"
source "sound/soc/google/Kconfig"
source "sound/soc/hisilicon/Kconfig"
source "sound/soc/jz4740/Kconfig"
source "sound/soc/kirkwood/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ obj-$(CONFIG_SND_SOC) += bcm/
obj-$(CONFIG_SND_SOC)	+= cirrus/
obj-$(CONFIG_SND_SOC)	+= dwc/
obj-$(CONFIG_SND_SOC)	+= fsl/
obj-$(CONFIG_SND_SOC)	+= google/
obj-$(CONFIG_SND_SOC)	+= hisilicon/
obj-$(CONFIG_SND_SOC)	+= jz4740/
obj-$(CONFIG_SND_SOC)	+= img/
+8 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ config SND_SOC_ALL_CODECS
	imply SND_SOC_AW88395
	imply SND_SOC_BT_SCO
	imply SND_SOC_BD28623
	imply SND_SOC_CHV3_CODEC
	imply SND_SOC_CQ0093VC
	imply SND_SOC_CROS_EC_CODEC
	imply SND_SOC_CS35L32
@@ -644,6 +645,13 @@ config SND_SOC_BD28623
config SND_SOC_BT_SCO
	tristate "Dummy BT SCO codec driver"

config SND_SOC_CHV3_CODEC
	tristate "Google Chameleon v3 codec driver"
	help
	  Enable support for the Google Chameleon v3 audio codec.
	  This codec does not have a control interface, it always outputs
	  8 channel S32_LE audio.

config SND_SOC_CPCAP
	tristate "Motorola CPCAP codec"
	depends on MFD_CPCAP || COMPILE_TEST
Loading