blob: 4c79fcb1479081eda84c03a9fbb21d94306c1dfa [file] [edit]
/*
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __GOOGLE_AOC_ENUM_H__
#define __GOOGLE_AOC_ENUM_H__
#define AOC_FE (0 << 31)
#define AOC_BE (1 << 31)
#define AOC_RX (0 << 30)
#define AOC_TX (1 << 30)
#define AOC_NOHOST (1 << 29)
#define AOC_BITMASK (0xffff0000)
#define AOC_ID_TO_INDEX(x) (x & 0xFFFF)
enum {
PORT_I2S_0_RX = 0,
PORT_I2S_0_TX,
PORT_I2S_1_RX,
PORT_I2S_1_TX,
PORT_I2S_2_RX,
PORT_I2S_2_TX,
PORT_TDM_0_RX,
PORT_TDM_0_TX,
PORT_TDM_1_RX,
PORT_TDM_1_TX,
PORT_INTERNAL_MIC,
PORT_BT_RX,
PORT_BT_TX,
PORT_USB_RX,
PORT_USB_TX,
PORT_INCALL_RX,
PORT_INCALL_TX,
PORT_HAPTIC_RX,
PORT_ERASER_TX,
PORT_INTERNAL_MIC_US,
PORT_MAX,
};
enum {
IDX_EP1 = 0,
IDX_EP2,
IDX_EP3,
IDX_EP4,
IDX_EP5,
IDX_EP6,
IDX_EP7,
IDX_EP8,
IDX_EP_MAX,
IDX_NOHOST1 = IDX_EP_MAX,
IDX_RAW,
IDX_VOIP,
IDX_INCALL_PB0,
IDX_INCALL_PB1,
IDX_INCALL_CAP0,
IDX_INCALL_CAP1,
IDX_INCALL_CAP2,
IDX_HIFI,
IDX_HAPTIC_NoHOST,
IDX_ANDROID_AEC,
IDX_US,
IDX_INCALL_PB2,
IDX_IMSV,
IDX_CAPTURE_INJECTION,
IDX_HOTWORD_TAP,
IDX_FE_MAX,
};
#define I2S_0_RX (AOC_BE|AOC_RX|PORT_I2S_0_RX)
#define I2S_0_TX (AOC_BE|AOC_TX|PORT_I2S_0_TX)
#define I2S_1_RX (AOC_BE|AOC_RX|PORT_I2S_1_RX)
#define I2S_1_TX (AOC_BE|AOC_TX|PORT_I2S_1_TX)
#define I2S_2_RX (AOC_BE|AOC_RX|PORT_I2S_2_RX)
#define I2S_2_TX (AOC_BE|AOC_TX|PORT_I2S_2_TX)
#define TDM_0_RX (AOC_BE|AOC_RX|PORT_TDM_0_RX)
#define TDM_0_TX (AOC_BE|AOC_TX|PORT_TDM_0_TX)
#define TDM_1_RX (AOC_BE|AOC_RX|PORT_TDM_1_RX)
#define TDM_1_TX (AOC_BE|AOC_TX|PORT_TDM_1_TX)
#define INTERNAL_MIC_TX (AOC_BE | AOC_TX | PORT_INTERNAL_MIC)
#define INTERNAL_MIC_US_TX (AOC_BE | AOC_TX | PORT_INTERNAL_MIC_US)
#define BT_RX (AOC_BE|AOC_RX|PORT_BT_RX)
#define BT_TX (AOC_BE|AOC_TX|PORT_BT_TX)
#define USB_RX (AOC_BE|AOC_RX|PORT_USB_RX)
#define USB_TX (AOC_BE|AOC_TX|PORT_USB_TX)
#define ERASER_TX (AOC_BE|AOC_TX|PORT_ERASER_TX)
#define INCALL_RX (AOC_BE|AOC_RX|PORT_INCALL_RX)
#define INCALL_TX (AOC_BE|AOC_TX|PORT_INCALL_TX)
#define HAPTIC_RX (AOC_BE|AOC_RX|PORT_HAPTIC_RX)
#define IDX_EP1_RX (AOC_FE|AOC_RX|IDX_EP1)
#define IDX_EP2_RX (AOC_FE|AOC_RX|IDX_EP2)
#define IDX_EP3_RX (AOC_FE|AOC_RX|IDX_EP3)
#define IDX_EP4_RX (AOC_FE|AOC_RX|IDX_EP4)
#define IDX_EP5_RX (AOC_FE|AOC_RX|IDX_EP5)
#define IDX_EP6_RX (AOC_FE|AOC_RX|IDX_EP6)
#define IDX_EP7_RX (AOC_FE|AOC_RX|IDX_EP7)
#define IDX_EP8_RX (AOC_FE|AOC_RX|IDX_EP8)
#define IDX_NOHOST1_RX (AOC_FE|AOC_RX|AOC_NOHOST|IDX_NOHOST1)
#define IDX_VOIP_RX (AOC_FE|AOC_RX|IDX_VOIP)
#define IDX_INCALL_PB0_RX (AOC_FE|AOC_RX|IDX_INCALL_PB0)
#define IDX_INCALL_PB1_RX (AOC_FE|AOC_RX|IDX_INCALL_PB1)
#define IDX_INCALL_PB2_RX (AOC_FE|AOC_RX|IDX_INCALL_PB2)
#define IDX_HIFI_RX (AOC_FE|AOC_RX|IDX_HIFI)
#define IDX_RAW_RX (AOC_FE|AOC_RX|IDX_RAW)
#define IDX_HAPTIC_NoHOST_RX (AOC_FE|AOC_RX|AOC_NOHOST|IDX_HAPTIC_NoHOST)
#define IDX_US_RX (AOC_FE|AOC_RX|IDX_US)
#define IDX_IMSV_RX (AOC_FE|AOC_RX|IDX_IMSV)
#define IDX_CAP_INJ_RX (AOC_FE|AOC_RX|IDX_CAPTURE_INJECTION)
#define IDX_EP1_TX (AOC_FE|AOC_TX|IDX_EP1)
#define IDX_EP2_TX (AOC_FE|AOC_TX|IDX_EP2)
#define IDX_EP3_TX (AOC_FE|AOC_TX|IDX_EP3)
#define IDX_EP4_TX (AOC_FE|AOC_TX|IDX_EP4)
#define IDX_EP5_TX (AOC_FE|AOC_TX|IDX_EP5)
#define IDX_EP6_TX (AOC_FE|AOC_TX|IDX_EP6)
#define IDX_EP7_TX (AOC_FE|AOC_TX|IDX_EP7)
#define IDX_NOHOST1_TX (AOC_FE|AOC_TX|AOC_NOHOST|IDX_NOHOST1)
#define IDX_VOIP_TX (AOC_FE|AOC_TX|IDX_VOIP)
#define IDX_INCALL_CAP0_TX (AOC_FE|AOC_TX|IDX_INCALL_CAP0)
#define IDX_INCALL_CAP1_TX (AOC_FE|AOC_TX|IDX_INCALL_CAP1)
#define IDX_INCALL_CAP2_TX (AOC_FE|AOC_TX|IDX_INCALL_CAP2)
#define IDX_HIFI_TX (AOC_FE|AOC_TX|IDX_HIFI)
#define IDX_ANDROID_AEC_TX (AOC_FE|AOC_TX|IDX_ANDROID_AEC)
#define IDX_RAW_TX (AOC_FE|AOC_TX|IDX_RAW)
#define IDX_HOTWORD_TAP_TX (AOC_FE|AOC_TX|IDX_HOTWORD_TAP)
#endif /* __GOOGLE_AOC_ENUM_H__ */