0001
0002
0003 #ifndef __Q6PRM_H__
0004 #define __Q6PRM_H__
0005
0006
0007 #define Q6PRM_LPASS_CLK_ID_PRI_MI2S_IBIT 0x100
0008
0009 #define Q6PRM_LPASS_CLK_ID_PRI_MI2S_EBIT 0x101
0010
0011 #define Q6PRM_LPASS_CLK_ID_SEC_MI2S_IBIT 0x102
0012
0013 #define Q6PRM_LPASS_CLK_ID_SEC_MI2S_EBIT 0x103
0014
0015 #define Q6PRM_LPASS_CLK_ID_TER_MI2S_IBIT 0x104
0016
0017 #define Q6PRM_LPASS_CLK_ID_TER_MI2S_EBIT 0x105
0018
0019 #define Q6PRM_LPASS_CLK_ID_QUAD_MI2S_IBIT 0x106
0020
0021 #define Q6PRM_LPASS_CLK_ID_QUAD_MI2S_EBIT 0x107
0022
0023 #define Q6PRM_LPASS_CLK_ID_SPEAKER_I2S_IBIT 0x108
0024
0025 #define Q6PRM_LPASS_CLK_ID_SPEAKER_I2S_EBIT 0x109
0026
0027 #define Q6PRM_LPASS_CLK_ID_SPEAKER_I2S_OSR 0x10A
0028
0029
0030 #define Q6PRM_LPASS_CLK_ID_QUI_MI2S_IBIT 0x10B
0031
0032 #define Q6PRM_LPASS_CLK_ID_QUI_MI2S_EBIT 0x10C
0033
0034 #define Q6PRM_LPASS_CLK_ID_SEN_MI2S_IBIT 0x10D
0035
0036 #define Q6PRM_LPASS_CLK_ID_SEN_MI2S_EBIT 0x10E
0037
0038 #define Q6PRM_LPASS_CLK_ID_INT0_MI2S_IBIT 0x10F
0039
0040 #define Q6PRM_LPASS_CLK_ID_INT1_MI2S_IBIT 0x110
0041
0042 #define Q6PRM_LPASS_CLK_ID_INT2_MI2S_IBIT 0x111
0043
0044 #define Q6PRM_LPASS_CLK_ID_INT3_MI2S_IBIT 0x112
0045
0046 #define Q6PRM_LPASS_CLK_ID_INT4_MI2S_IBIT 0x113
0047
0048 #define Q6PRM_LPASS_CLK_ID_INT5_MI2S_IBIT 0x114
0049
0050 #define Q6PRM_LPASS_CLK_ID_INT6_MI2S_IBIT 0x115
0051
0052
0053 #define Q6PRM_LPASS_CLK_ID_QUI_MI2S_OSR 0x116
0054
0055 #define Q6PRM_LPASS_CLK_ID_WSA_CORE_MCLK 0x305
0056 #define Q6PRM_LPASS_CLK_ID_WSA_CORE_NPL_MCLK 0x306
0057
0058 #define Q6PRM_LPASS_CLK_ID_VA_CORE_MCLK 0x307
0059 #define Q6PRM_LPASS_CLK_ID_VA_CORE_2X_MCLK 0x308
0060
0061 #define Q6PRM_LPASS_CLK_ID_TX_CORE_MCLK 0x30c
0062 #define Q6PRM_LPASS_CLK_ID_TX_CORE_NPL_MCLK 0x30d
0063
0064 #define Q6PRM_LPASS_CLK_ID_RX_CORE_MCLK 0x30e
0065 #define Q6PRM_LPASS_CLK_ID_RX_CORE_NPL_MCLK 0x30f
0066
0067 #define Q6PRM_LPASS_CLK_SRC_INTERNAL 1
0068 #define Q6PRM_LPASS_CLK_ROOT_DEFAULT 0
0069 #define Q6PRM_HW_CORE_ID_LPASS 1
0070 #define Q6PRM_HW_CORE_ID_DCODEC 2
0071
0072 int q6prm_set_lpass_clock(struct device *dev, int clk_id, int clk_attr,
0073 int clk_root, unsigned int freq);
0074 int q6prm_vote_lpass_core_hw(struct device *dev, uint32_t hw_block_id,
0075 const char *client_name, uint32_t *client_handle);
0076 int q6prm_unvote_lpass_core_hw(struct device *dev, uint32_t hw_block_id,
0077 uint32_t client_handle);
0078 #endif