cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

adau17x1.h (3597B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Driver for ADAU1361/ADAU1461/ADAU1761/ADAU1961/ADAU1381/ADAU1781 codecs
      4 *
      5 * Copyright 2011-2014 Analog Devices Inc.
      6 * Author: Lars-Peter Clausen <lars@metafoo.de>
      7 */
      8
      9#ifndef __LINUX_PLATFORM_DATA_ADAU17X1_H__
     10#define __LINUX_PLATFORM_DATA_ADAU17X1_H__
     11
     12/**
     13 * enum adau17x1_micbias_voltage - Microphone bias voltage
     14 * @ADAU17X1_MICBIAS_0_90_AVDD: 0.9 * AVDD
     15 * @ADAU17X1_MICBIAS_0_65_AVDD: 0.65 * AVDD
     16 */
     17enum adau17x1_micbias_voltage {
     18	ADAU17X1_MICBIAS_0_90_AVDD = 0,
     19	ADAU17X1_MICBIAS_0_65_AVDD = 1,
     20};
     21
     22/**
     23 * enum adau1761_digmic_jackdet_pin_mode - Configuration of the JACKDET/MICIN pin
     24 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE: Disable the pin
     25 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC: Configure the pin for usage as
     26 *   digital microphone input.
     27 * @ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT: Configure the pin for jack
     28 *  insertion detection.
     29 */
     30enum adau1761_digmic_jackdet_pin_mode {
     31	ADAU1761_DIGMIC_JACKDET_PIN_MODE_NONE,
     32	ADAU1761_DIGMIC_JACKDET_PIN_MODE_DIGMIC,
     33	ADAU1761_DIGMIC_JACKDET_PIN_MODE_JACKDETECT,
     34};
     35
     36/**
     37 * adau1761_jackdetect_debounce_time - Jack insertion detection debounce time
     38 * @ADAU1761_JACKDETECT_DEBOUNCE_5MS: 5 milliseconds
     39 * @ADAU1761_JACKDETECT_DEBOUNCE_10MS: 10 milliseconds
     40 * @ADAU1761_JACKDETECT_DEBOUNCE_20MS: 20 milliseconds
     41 * @ADAU1761_JACKDETECT_DEBOUNCE_40MS: 40 milliseconds
     42 */
     43enum adau1761_jackdetect_debounce_time {
     44	ADAU1761_JACKDETECT_DEBOUNCE_5MS = 0,
     45	ADAU1761_JACKDETECT_DEBOUNCE_10MS = 1,
     46	ADAU1761_JACKDETECT_DEBOUNCE_20MS = 2,
     47	ADAU1761_JACKDETECT_DEBOUNCE_40MS = 3,
     48};
     49
     50/**
     51 * enum adau1761_output_mode - Output mode configuration
     52 * @ADAU1761_OUTPUT_MODE_HEADPHONE: Headphone output
     53 * @ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS: Capless headphone output
     54 * @ADAU1761_OUTPUT_MODE_LINE: Line output
     55 */
     56enum adau1761_output_mode {
     57	ADAU1761_OUTPUT_MODE_HEADPHONE,
     58	ADAU1761_OUTPUT_MODE_HEADPHONE_CAPLESS,
     59	ADAU1761_OUTPUT_MODE_LINE,
     60};
     61
     62/**
     63 * struct adau1761_platform_data - ADAU1761 Codec driver platform data
     64 * @input_differential: If true the input pins will be configured in
     65 *  differential mode.
     66 * @lineout_mode: Output mode for the LOUT/ROUT pins
     67 * @headphone_mode: Output mode for the LHP/RHP pins
     68 * @digmic_jackdetect_pin_mode: JACKDET/MICIN pin configuration
     69 * @jackdetect_debounce_time: Jack insertion detection debounce time.
     70 *  Note: This value will only be used, if the JACKDET/MICIN pin is configured
     71 *  for jack insertion detection.
     72 * @jackdetect_active_low: If true the jack insertion detection is active low.
     73 *  Othwise it will be active high.
     74 * @micbias_voltage: Microphone voltage bias
     75 */
     76struct adau1761_platform_data {
     77	bool input_differential;
     78	enum adau1761_output_mode lineout_mode;
     79	enum adau1761_output_mode headphone_mode;
     80
     81	enum adau1761_digmic_jackdet_pin_mode digmic_jackdetect_pin_mode;
     82
     83	enum adau1761_jackdetect_debounce_time jackdetect_debounce_time;
     84	bool jackdetect_active_low;
     85
     86	enum adau17x1_micbias_voltage micbias_voltage;
     87};
     88
     89/**
     90 * struct adau1781_platform_data - ADAU1781 Codec driver platform data
     91 * @left_input_differential: If true configure the left input as
     92 * differential input.
     93 * @right_input_differential: If true configure the right input as differntial
     94 *  input.
     95 * @use_dmic: If true configure the MIC pins as digital microphone pins instead
     96 *  of analog microphone pins.
     97 * @micbias_voltage: Microphone voltage bias
     98 */
     99struct adau1781_platform_data {
    100	bool left_input_differential;
    101	bool right_input_differential;
    102
    103	bool use_dmic;
    104
    105	enum adau17x1_micbias_voltage micbias_voltage;
    106};
    107
    108#endif