xref: /openbmc/linux/sound/pci/au88x0/au88x0_eq.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds #ifndef AU88X0_EQ_H
31da177e4SLinus Torvalds #define AU88X0_EQ_H
41da177e4SLinus Torvalds 
51da177e4SLinus Torvalds /***************************************************************************
61da177e4SLinus Torvalds  *            au88x0_eq.h
71da177e4SLinus Torvalds  *
81da177e4SLinus Torvalds  *  Definitions and constant data for the Aureal Hardware EQ.
91da177e4SLinus Torvalds  *
101da177e4SLinus Torvalds  *  Sun Jun  8 18:23:38 2003
111da177e4SLinus Torvalds  *  Author: Manuel Jander (mjander@users.sourceforge.net)
121da177e4SLinus Torvalds  ****************************************************************************/
131da177e4SLinus Torvalds 
141da177e4SLinus Torvalds typedef struct {
151da177e4SLinus Torvalds 	u16 LeftCoefs[50];	//0x4
161da177e4SLinus Torvalds 	u16 RightCoefs[50];	// 0x68
17f0283f45STakashi Iwai 	u16 LeftGains[10];	//0xd0
18f0283f45STakashi Iwai 	u16 RightGains[10];	//0xe4
191da177e4SLinus Torvalds } auxxEqCoeffSet_t;
201da177e4SLinus Torvalds 
211da177e4SLinus Torvalds typedef struct {
2297c67b65STakashi Iwai 	s32 this04;		/* How many filters for each side (default = 10) */
2397c67b65STakashi Iwai 	s32 this08;		/* inited to cero. Stereo flag? */
241da177e4SLinus Torvalds } eqhw_t;
251da177e4SLinus Torvalds 
261da177e4SLinus Torvalds typedef struct {
271da177e4SLinus Torvalds 	eqhw_t this04;		/* CHwEq */
2897c67b65STakashi Iwai 	u16 this08;		/* Bad codec flag ? SetBypassGain: bypass gain */
2997c67b65STakashi Iwai 	u16 this0a;
3097c67b65STakashi Iwai 	u16 this0c;		/* SetBypassGain: bypass gain when this28 is not set. */
3197c67b65STakashi Iwai 	u16 this0e;
321da177e4SLinus Torvalds 
3397c67b65STakashi Iwai 	s32 this10;		/* How many gains are used for each side (right or left). */
34f0283f45STakashi Iwai 	u16 this14_array[10];	/* SetLeftGainsTarget: Left (and right?) EQ gains  */
3597c67b65STakashi Iwai 	s32 this28;		/* flag related to EQ enabled or not. Gang flag ? */
3697c67b65STakashi Iwai 	s32 this54;		/* SetBypass */
3797c67b65STakashi Iwai 	s32 this58;
3897c67b65STakashi Iwai 	s32 this5c;
391da177e4SLinus Torvalds 	/*0x60 */ auxxEqCoeffSet_t coefset;
401da177e4SLinus Torvalds 	/* 50 u16 word each channel. */
411da177e4SLinus Torvalds 	u16 this130[20];	/* Left and Right gains */
421da177e4SLinus Torvalds } eqlzr_t;
431da177e4SLinus Torvalds 
441da177e4SLinus Torvalds #endif
45