Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8743dcd6 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-v3.16-2' of...

Merge tag 'asoc-v3.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next

ASoC: Final updates for v3.16

A few more updates from the last week of development, nothing too
exciting.  Highlights include:

- GPIO descriptor support for jacks
- More updates and fixes to the Freescale SSI, Intel and rsnd drivers.
- New drivers for Analog Devices ADAU1361, ADAU1381, ADAU1761 and
  ADAU1781, and Realtek RT5677.
parents efd4b76e e1d4d3c8
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -10,6 +10,12 @@ Required properties:

- interrupts : The CODEC's interrupt output.

Optional properties:

- clocks: The phandle of the master clock to the CODEC

- clock-names: Should be "mclk"

Pins on the device (for linking into audio routes):

  * MIC1
+6 −0
Original line number Diff line number Diff line
@@ -8,6 +8,12 @@ Required properties:

- reg : The I2C address of the device.

Optional properties:

- clocks: The phandle of the master clock to the CODEC

- clock-names: Should be "mclk"

Example:

max98095: codec@11 {
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ Required properties:
SSI subnode properties:
- interrupts			: Should contain SSI interrupt for PIO transfer
- shared-pin			: if shared clock pin
- pio-transfer			: use PIO transfer mode

SRC subnode properties:
no properties at this point
+3 −0
Original line number Diff line number Diff line
@@ -15,6 +15,9 @@ Optional properties:
					  Each entry is a pair of strings, the first being the
					  connection's sink, the second being the connection's
					  source.
- simple-audio-card,mclk-fs             : Multiplication factor between stream rate and codec
  					  mclk.

Optional subnodes:

- simple-audio-card,dai-link		: Container for dai-link level
+109 −0
Original line number Diff line number Diff line
/*
 * Driver for ADAU1761/ADAU1461/ADAU1761/ADAU1961/ADAU1781/ADAU1781 codecs
 *
 * Copyright 2011-2014 Analog Devices Inc.
 * Author: Lars-Peter Clausen <lars@metafoo.de>
 *
 * Licensed under the GPL-2 or later.
 */

#ifndef __LINUX_PLATFORM_DATA_ADAU17X1_H__
#define __LINUX_PLATFORM_DATA_ADAU17X1_H__

/**
 * enum adau17x1_micbias_voltage - Microphone bias voltage
 * @ADAU17X1_MICBIAS_0_90_AVDD: 0.9 * AVDD
 * @ADAU17X1_MICBIAS_0_65_AVDD: 0.65 * AVDD
 */
enum adau17x1_micbias_voltage {
	ADAU17X1_MICBIAS_0_90_AVDD = 0,
	ADAU17X1_MICBIAS_0_65_AVDD = 1,
};

/**
 * enum adau1761_digmic_jackdet_pin_mode - Configuration of the JACKDET/MICIN pin
 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE: Disable the pin
 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC: Configure the pin for usage as
 *   digital microphone input.
 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT: Configure the pin for jack
 *  insertion detection.
 */
enum adau1761_digmic_jackdet_pin_mode {
	ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE,
	ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC,
	ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT,
};

/**
 * adau1761_jackdetect_debounce_time - Jack insertion detection debounce time
 * @ADAU1761_JACKDETECT_DEBOUNCE_5MS: 5 milliseconds
 * @ADAU1761_JACKDETECT_DEBOUNCE_10MS: 10 milliseconds
 * @ADAU1761_JACKDETECT_DEBOUNCE_20MS: 20 milliseconds
 * @ADAU1761_JACKDETECT_DEBOUNCE_40MS: 40 milliseconds
 */
enum adau1761_jackdetect_debounce_time {
	ADAU1761_JACKDETECT_DEBOUNCE_5MS = 0,
	ADAU1761_JACKDETECT_DEBOUNCE_10MS = 1,
	ADAU1761_JACKDETECT_DEBOUNCE_20MS = 2,
	ADAU1761_JACKDETECT_DEBOUNCE_40MS = 3,
};

/**
 * enum adau1761_output_mode - Output mode configuration
 * @ADAU1761_OUTPUT_MODE_HEADPHONE: Headphone output
 * @ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS: Capless headphone output
 * @ADAU1761_OUTPUT_MODE_LINE: Line output
 */
enum adau1761_output_mode {
	ADAU1761_OUTPUT_MODE_HEADPHONE,
	ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS,
	ADAU1761_OUTPUT_MODE_LINE,
};

/**
 * struct adau1761_platform_data - ADAU1761 Codec driver platform data
 * @input_differential: If true the input pins will be configured in
 *  differential mode.
 * @lineout_mode: Output mode for the LOUT/ROUT pins
 * @headphone_mode: Output mode for the LHP/RHP pins
 * @digmic_jackdetect_pin_mode: JACKDET/MICIN pin configuration
 * @jackdetect_debounce_time: Jack insertion detection debounce time.
 *  Note: This value will only be used, if the JACKDET/MICIN pin is configured
 *  for jack insertion detection.
 * @jackdetect_active_low: If true the jack insertion detection is active low.
 *  Othwise it will be active high.
 * @micbias_voltage: Microphone voltage bias
 */
struct adau1761_platform_data {
	bool input_differential;
	enum adau1761_output_mode lineout_mode;
	enum adau1761_output_mode headphone_mode;

	enum adau1761_digmic_jackdet_pin_mode digmic_jackdetect_pin_mode;

	enum adau1761_jackdetect_debounce_time jackdetect_debounce_time;
	bool jackdetect_active_low;

	enum adau17x1_micbias_voltage micbias_voltage;
};

/**
 * struct adau1781_platform_data - ADAU1781 Codec driver platform data
 * @left_input_differential: If true configure the left input as
 * differential input.
 * @right_input_differential: If true configure the right input as differntial
 *  input.
 * @use_dmic: If true configure the MIC pins as digital microphone pins instead
 *  of analog microphone pins.
 * @micbias_voltage: Microphone voltage bias
 */
struct adau1781_platform_data {
	bool left_input_differential;
	bool right_input_differential;

	bool use_dmic;

	enum adau17x1_micbias_voltage micbias_voltage;
};

#endif
Loading