1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * rl6347a.h - RL6347A class device shared support 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2015 Realtek Semiconductor Corp. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Author: Oder Chiou <oder_chiou@realtek.com> 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun #ifndef __RL6347A_H__ 10*4882a593Smuzhiyun #define __RL6347A_H__ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #include <sound/hda_verbs.h> 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #define VERB_CMD(V, N, D) ((N << 20) | (V << 8) | D) 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #define RL6347A_VENDOR_REGISTERS 0x20 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #define RL6347A_COEF_INDEX\ 19*4882a593Smuzhiyun VERB_CMD(AC_VERB_SET_COEF_INDEX, RL6347A_VENDOR_REGISTERS, 0) 20*4882a593Smuzhiyun #define RL6347A_PROC_COEF\ 21*4882a593Smuzhiyun VERB_CMD(AC_VERB_SET_PROC_COEF, RL6347A_VENDOR_REGISTERS, 0) 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun struct rl6347a_priv { 24*4882a593Smuzhiyun struct reg_default *index_cache; 25*4882a593Smuzhiyun int index_cache_size; 26*4882a593Smuzhiyun }; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun int rl6347a_hw_write(void *context, unsigned int reg, unsigned int value); 29*4882a593Smuzhiyun int rl6347a_hw_read(void *context, unsigned int reg, unsigned int *value); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #endif /* __RL6347A_H__ */ 32