a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/*************************************************************************************
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Permission is hereby granted, free of charge, to any person obtaining a copy of this
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * software and associated documentation files (the "Software"), to deal in the Software
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * without restriction, including without limitation the rights to use, copy, modify,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * merge, publish, distribute, sublicense, and/or sell copies of the Software,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * The above copyright notice and this permission notice shall be included in all copies or
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * substantial portions of the Software.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Except as contained in this notice, the name of the author shall not be used in advertising or
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * otherwise to promote the sale, use or other dealings in this Software without prior written
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * authorization from the author.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Revision 1.3 2005/09/24 21:56:00 bogdand
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Changed the license to a X/MIT one
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Revision 1.2 2005/07/01 22:43:11 daniels
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync * Change all misc.h and os.h references to <X11/foo.h>.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ************************************************************************************/
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#ifndef __UDA1380_H__
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define __UDA1380_H__
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#include "xf86i2c.h"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync I2CDevRec d;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 analog_mixer_settings; /* register 0x03 */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} UDA1380Rec, *UDA1380Ptr;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define UDA1380_ADDR_1 0x30
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define UDA1380_ADDR_2 0x34
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_Detect_uda1380 Detect_uda1380
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT UDA1380Ptr Detect_uda1380(I2CBusPtr b, I2CSlaveAddr addr);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_uda1380_init uda1380_init
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT Bool uda1380_init(UDA1380Ptr t);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_uda1380_shutdown uda1380_shutdown
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void uda1380_shutdown(UDA1380Ptr t);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_uda1380_setvolume uda1380_setvolume
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void uda1380_setvolume(UDA1380Ptr t, INT32);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_uda1380_mute uda1380_mute
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void uda1380_mute(UDA1380Ptr t, Bool);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_uda1380_setparameters uda1380_setparameters
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void uda1380_setparameters(UDA1380Ptr t);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_uda1380_getstatus uda1380_getstatus
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void uda1380_getstatus(UDA1380Ptr t);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define xf86_uda1380_dumpstatus uda1380_dumpstatus
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncextern _X_EXPORT void uda1380_dumpstatus(UDA1380Ptr t);
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define UDA1380SymbolsList \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Detect_uda1380", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "uda1380_init", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "uda1380_shutdown", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "uda1380_setvolume", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "uda1380_mute", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "uda1380_setparameters", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "uda1380_getstatus", \
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "uda1380_dumpstatus"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#endif