alsa.audio: Furter work on skeleton
[AROS.git] / workbench / devs / AHI / Drivers / Envy24HT / ak_codec.h
blob87fedd3fce8d82179d56c0067f3167f30f844f7d
1 /*
2 Copyright © 2005-2013, Davy Wentzler. All rights reserved.
3 $Id$
4 */
6 #ifndef AK_CODEC_H
7 #define AK_CODEC_H
9 struct CardData;
11 enum akm_types {AKM4524, AKM4528, AKM4529, AKM4355, AKM4381, AKM4358, AKM5365};
13 struct akm_codec
15 unsigned int caddr; // caddr
16 unsigned int cif;
17 unsigned int datamask; // mask
18 unsigned int clockmask; // mask
19 unsigned int csmask; // cs mask
20 unsigned int addflags;
21 enum akm_types type;
22 unsigned int csaddr; // nieuw
23 unsigned int csnone;
24 unsigned int totalmask;
25 unsigned int newflag;
28 #if 0
29 struct snd_ak4xxx_private {
30 unsigned int cif: 1; /* CIF mode */
31 unsigned char caddr; /* C0 and C1 bits */
32 unsigned int data_mask; /* DATA gpio bit */
33 unsigned int clk_mask; /* CLK gpio bit */
34 unsigned int cs_mask; /* bit mask for select/deselect address */
35 unsigned int cs_addr; /* bits to select address */
36 unsigned int cs_none; /* bits to deselect address */
37 unsigned int add_flags; /* additional bits at init */
38 unsigned int mask_flags; /* total mask bits */
39 struct snd_akm4xxx_ops {
40 void (*set_rate_val)(struct snd_akm4xxx *ak, unsigned int rate);
41 } ops;
43 #endif
45 void Init_akm4xxx(struct CardData *card, struct akm_codec *codec);
46 void akm4xxx_write(struct CardData *card, struct akm_codec *codec, int chip, unsigned char addr, unsigned char data);
47 void akm4xxx_write_new(struct CardData *card, struct akm_codec *codec, int chip, unsigned char addr, unsigned char data);
48 #endif