mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 21:57:25 +07:00
bed61935cc
Add the new SPI write and read functions. The SPI read function is used for creating initial registers dump and may be used for debugging purposes. SPI operations are cached, so there is a new function to manage the cache (shadow). I have to remove the shift from the CS4245_SPI_* constants, since when we are performing the reading, we need to shift by 8 instead of 16. Signed-off-by: Roman Volkov <v1ron@mail.ru> Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
39 lines
775 B
C
39 lines
775 B
C
#ifndef XONAR_DG_H_INCLUDED
|
|
#define XONAR_DG_H_INCLUDED
|
|
|
|
#include "oxygen.h"
|
|
|
|
#define GPIO_MAGIC 0x0008
|
|
#define GPIO_HP_DETECT 0x0010
|
|
#define GPIO_INPUT_ROUTE 0x0060
|
|
#define GPIO_HP_REAR 0x0080
|
|
#define GPIO_OUTPUT_ENABLE 0x0100
|
|
|
|
#define CAPTURE_SRC_MIC 0
|
|
#define CAPTURE_SRC_FP_MIC 1
|
|
#define CAPTURE_SRC_LINE 2
|
|
#define CAPTURE_SRC_AUX 3
|
|
|
|
#define PLAYBACK_DST_HP 0
|
|
#define PLAYBACK_DST_HP_FP 1
|
|
#define PLAYBACK_DST_MULTICH 2
|
|
|
|
enum cs4245_shadow_operation {
|
|
CS4245_SAVE_TO_SHADOW,
|
|
CS4245_LOAD_FROM_SHADOW
|
|
};
|
|
|
|
struct dg {
|
|
/* shadow copy of the CS4245 register space */
|
|
unsigned char cs4245_shadow[17];
|
|
unsigned int output_sel;
|
|
s8 input_vol[4][2];
|
|
unsigned int input_sel;
|
|
u8 hp_vol_att;
|
|
u8 cs4245_regs[0x11];
|
|
};
|
|
|
|
extern struct oxygen_model model_xonar_dg;
|
|
|
|
#endif
|