Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
/* SPDX-License-Identifier: GPL-2.0-only */ /* * isabelle.h - Low power high fidelity audio codec driver header file * * Copyright (c) 2012 Texas Instruments, Inc */ #ifndef _ISABELLE_H #define _ISABELLE_H #include <linux/bitops.h> /* ISABELLE REGISTERS */ #define ISABELLE_PWR_CFG_REG 0x01 #define ISABELLE_PWR_EN_REG 0x02 #define ISABELLE_PS_EN1_REG 0x03 #define ISABELLE_INT1_STATUS_REG 0x04 #define ISABELLE_INT1_MASK_REG 0x05 #define ISABELLE_INT2_STATUS_REG 0x06 #define ISABELLE_INT2_MASK_REG 0x07 #define ISABELLE_HKCTL1_REG 0x08 #define ISABELLE_HKCTL2_REG 0x09 #define ISABELLE_HKCTL3_REG 0x0A #define ISABELLE_ACCDET_STATUS_REG 0x0B #define ISABELLE_BUTTON_ID_REG 0x0C #define ISABELLE_PLL_CFG_REG 0x10 #define ISABELLE_PLL_EN_REG 0x11 #define ISABELLE_FS_RATE_CFG_REG 0x12 #define ISABELLE_INTF_CFG_REG 0x13 #define ISABELLE_INTF_EN_REG 0x14 #define ISABELLE_ULATX12_INTF_CFG_REG 0x15 #define ISABELLE_DL12_INTF_CFG_REG 0x16 #define ISABELLE_DL34_INTF_CFG_REG 0x17 #define ISABELLE_DL56_INTF_CFG_REG 0x18 #define ISABELLE_ATX_STPGA1_CFG_REG 0x19 #define ISABELLE_ATX_STPGA2_CFG_REG 0x1A #define ISABELLE_VTX_STPGA1_CFG_REG 0x1B #define ISABELLE_VTX2_STPGA2_CFG_REG 0x1C #define ISABELLE_ATX1_DPGA_REG 0x1D #define ISABELLE_ATX2_DPGA_REG 0x1E #define ISABELLE_VTX1_DPGA_REG 0x1F #define ISABELLE_VTX2_DPGA_REG 0x20 #define ISABELLE_TX_INPUT_CFG_REG 0x21 #define ISABELLE_RX_INPUT_CFG_REG 0x22 #define ISABELLE_RX_INPUT_CFG2_REG 0x23 #define ISABELLE_VOICE_HPF_CFG_REG 0x24 #define ISABELLE_AUDIO_HPF_CFG_REG 0x25 #define ISABELLE_RX1_DPGA_REG 0x26 #define ISABELLE_RX2_DPGA_REG 0x27 #define ISABELLE_RX3_DPGA_REG 0x28 #define ISABELLE_RX4_DPGA_REG 0x29 #define ISABELLE_RX5_DPGA_REG 0x2A #define ISABELLE_RX6_DPGA_REG 0x2B #define ISABELLE_ALU_TX_EN_REG 0x2C #define ISABELLE_ALU_RX_EN_REG 0x2D #define ISABELLE_IIR_RESYNC_REG 0x2E #define ISABELLE_ABIAS_CFG_REG 0x30 #define ISABELLE_DBIAS_CFG_REG 0x31 #define ISABELLE_MIC1_GAIN_REG 0x32 #define ISABELLE_MIC2_GAIN_REG 0x33 #define ISABELLE_AMIC_CFG_REG 0x34 #define ISABELLE_DMIC_CFG_REG 0x35 #define ISABELLE_APGA_GAIN_REG 0x36 #define ISABELLE_APGA_CFG_REG 0x37 #define ISABELLE_TX_GAIN_DLY_REG 0x38 #define ISABELLE_RX_GAIN_DLY_REG 0x39 #define ISABELLE_RX_PWR_CTRL_REG 0x3A #define ISABELLE_DPGA1LR_IN_SEL_REG 0x3B #define ISABELLE_DPGA1L_GAIN_REG 0x3C #define ISABELLE_DPGA1R_GAIN_REG 0x3D #define ISABELLE_DPGA2L_IN_SEL_REG 0x3E #define ISABELLE_DPGA2R_IN_SEL_REG 0x3F #define ISABELLE_DPGA2L_GAIN_REG 0x40 #define ISABELLE_DPGA2R_GAIN_REG 0x41 #define ISABELLE_DPGA3LR_IN_SEL_REG 0x42 #define ISABELLE_DPGA3L_GAIN_REG 0x43 #define ISABELLE_DPGA3R_GAIN_REG 0x44 #define ISABELLE_DAC1_SOFTRAMP_REG 0x45 #define ISABELLE_DAC2_SOFTRAMP_REG 0x46 #define ISABELLE_DAC3_SOFTRAMP_REG 0x47 #define ISABELLE_DAC_CFG_REG 0x48 #define ISABELLE_EARDRV_CFG1_REG 0x49 #define ISABELLE_EARDRV_CFG2_REG 0x4A #define ISABELLE_HSDRV_GAIN_REG 0x4B #define ISABELLE_HSDRV_CFG1_REG 0x4C #define ISABELLE_HSDRV_CFG2_REG 0x4D #define ISABELLE_HS_NG_CFG1_REG 0x4E #define ISABELLE_HS_NG_CFG2_REG 0x4F #define ISABELLE_LINEAMP_GAIN_REG 0x50 #define ISABELLE_LINEAMP_CFG_REG 0x51 #define ISABELLE_HFL_VOL_CTRL_REG 0x52 #define ISABELLE_HFL_SFTVOL_CTRL_REG 0x53 #define ISABELLE_HFL_LIM_CTRL_1_REG 0x54 #define ISABELLE_HFL_LIM_CTRL_2_REG 0x55 #define ISABELLE_HFR_VOL_CTRL_REG 0x56 #define ISABELLE_HFR_SFTVOL_CTRL_REG 0x57 #define ISABELLE_HFR_LIM_CTRL_1_REG 0x58 #define ISABELLE_HFR_LIM_CTRL_2_REG 0x59 #define ISABELLE_HF_MODE_REG 0x5A #define ISABELLE_HFLPGA_CFG_REG 0x5B #define ISABELLE_HFRPGA_CFG_REG 0x5C #define ISABELLE_HFDRV_CFG_REG 0x5D #define ISABELLE_PDMOUT_CFG1_REG 0x5E #define ISABELLE_PDMOUT_CFG2_REG 0x5F #define ISABELLE_PDMOUT_L_WM_REG 0x60 #define ISABELLE_PDMOUT_R_WM_REG 0x61 #define ISABELLE_HF_NG_CFG1_REG 0x62 #define ISABELLE_HF_NG_CFG2_REG 0x63 /* ISABELLE_PWR_EN_REG (0x02h) */ #define ISABELLE_CHIP_EN BIT(0) /* ISABELLE DAI FORMATS */ #define ISABELLE_AIF_FMT_MASK 0x70 #define ISABELLE_I2S_MODE 0x0 #define ISABELLE_LEFT_J_MODE 0x1 #define ISABELLE_PDM_MODE 0x2 #define ISABELLE_AIF_LENGTH_MASK 0x30 #define ISABELLE_AIF_LENGTH_20 0x00 #define ISABELLE_AIF_LENGTH_32 0x10 #define ISABELLE_AIF_MS 0x80 #define ISABELLE_FS_RATE_MASK 0xF #define ISABELLE_FS_RATE_8 0x0 #define ISABELLE_FS_RATE_11 0x1 #define ISABELLE_FS_RATE_12 0x2 #define ISABELLE_FS_RATE_16 0x4 #define ISABELLE_FS_RATE_22 0x5 #define ISABELLE_FS_RATE_24 0x6 #define ISABELLE_FS_RATE_32 0x8 #define ISABELLE_FS_RATE_44 0x9 #define ISABELLE_FS_RATE_48 0xA #define ISABELLE_MAX_REGISTER 0xFF #endif