1016a45b2Smrg/*************************************************************************************
2016a45b2Smrg * Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net
3016a45b2Smrg *
4016a45b2Smrg * Permission is hereby granted, free of charge, to any person obtaining a copy of this
5016a45b2Smrg * software and associated documentation files (the "Software"), to deal in the Software
6016a45b2Smrg * without restriction, including without limitation the rights to use, copy, modify,
7016a45b2Smrg * merge, publish, distribute, sublicense, and/or sell copies of the Software,
8016a45b2Smrg * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
9016a45b2Smrg *
10016a45b2Smrg * The above copyright notice and this permission notice shall be included in all copies or
11016a45b2Smrg * substantial portions of the Software.
12016a45b2Smrg *
13016a45b2Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14016a45b2Smrg * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
15016a45b2Smrg * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM,
16016a45b2Smrg * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17016a45b2Smrg * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18016a45b2Smrg *
19016a45b2Smrg * Except as contained in this notice, the name of the author shall not be used in advertising or
20016a45b2Smrg * otherwise to promote the sale, use or other dealings in this Software without prior written
21016a45b2Smrg * authorization from the author.
22016a45b2Smrg *
23016a45b2Smrg * Revision 1.3  2005/09/24 21:56:00  bogdand
24016a45b2Smrg * Changed the license to a X/MIT one
25016a45b2Smrg *
26016a45b2Smrg * Revision 1.2  2005/07/01 22:43:11  daniels
27016a45b2Smrg * Change all misc.h and os.h references to <X11/foo.h>.
28016a45b2Smrg *
29016a45b2Smrg *
30016a45b2Smrg ************************************************************************************/
31016a45b2Smrg
32016a45b2Smrg#ifndef __UDA1380_H__
33016a45b2Smrg#define __UDA1380_H__
34016a45b2Smrg
35016a45b2Smrg#include "xf86i2c.h"
36016a45b2Smrg
37016a45b2Smrgtypedef struct {
38016a45b2Smrg	I2CDevRec d;
39016a45b2Smrg
40016a45b2Smrg	CARD16 analog_mixer_settings;	/* register 0x03 */
41016a45b2Smrg
42016a45b2Smrg	} UDA1380Rec, *UDA1380Ptr;
43016a45b2Smrg
44016a45b2Smrg#define UDA1380_ADDR_1   0x30
45016a45b2Smrg#define UDA1380_ADDR_2   0x34
46016a45b2Smrg
47016a45b2Smrg#define xf86_Detect_uda1380		Detect_uda1380
48016a45b2Smrgextern _X_EXPORT UDA1380Ptr Detect_uda1380(I2CBusPtr b, I2CSlaveAddr addr);
49016a45b2Smrg#define xf86_uda1380_init		uda1380_init
50016a45b2Smrgextern _X_EXPORT Bool uda1380_init(UDA1380Ptr t);
51016a45b2Smrg#define xf86_uda1380_shutdown		uda1380_shutdown
52016a45b2Smrgextern _X_EXPORT void uda1380_shutdown(UDA1380Ptr t);
53016a45b2Smrg#define xf86_uda1380_setvolume		uda1380_setvolume
54016a45b2Smrgextern _X_EXPORT void uda1380_setvolume(UDA1380Ptr t, INT32);
55016a45b2Smrg#define xf86_uda1380_mute		uda1380_mute
56016a45b2Smrgextern _X_EXPORT void uda1380_mute(UDA1380Ptr t, Bool);
57016a45b2Smrg#define xf86_uda1380_setparameters	uda1380_setparameters
58016a45b2Smrgextern _X_EXPORT void uda1380_setparameters(UDA1380Ptr t);
59016a45b2Smrg#define xf86_uda1380_getstatus		uda1380_getstatus
60016a45b2Smrgextern _X_EXPORT void uda1380_getstatus(UDA1380Ptr t);
61016a45b2Smrg#define xf86_uda1380_dumpstatus		uda1380_dumpstatus
62016a45b2Smrgextern _X_EXPORT void uda1380_dumpstatus(UDA1380Ptr t);
63016a45b2Smrg
64016a45b2Smrg#define UDA1380SymbolsList  \
65016a45b2Smrg		"Detect_uda1380", \
66016a45b2Smrg		"uda1380_init", \
67016a45b2Smrg		"uda1380_shutdown", \
68016a45b2Smrg		"uda1380_setvolume", \
69016a45b2Smrg		"uda1380_mute", \
70016a45b2Smrg		"uda1380_setparameters", \
71016a45b2Smrg		"uda1380_getstatus", \
72016a45b2Smrg		"uda1380_dumpstatus"
73016a45b2Smrg
74016a45b2Smrg#endif
75