151694Sroger/* $FreeBSD$ */
251694Sroger/*
351694Sroger * This is part of the Driver for Video Capture Cards (Frame grabbers)
451694Sroger * and TV Tuner cards using the Brooktree Bt848, Bt848A, Bt849A, Bt878, Bt879
551694Sroger * chipset.
651694Sroger * Copyright Roger Hardiman and Amancio Hasty.
751694Sroger *
851694Sroger * bktr_audio : This deals with controlling the audio on TV cards,
951694Sroger *                controlling the Audio Multiplexer (audio source selector).
1051694Sroger *                controlling any MSP34xx stereo audio decoders.
1152593Sroger *                controlling any DPL35xx dolby surroud sound audio decoders.
1251694Sroger *                initialising TDA98xx audio devices.
1351694Sroger *
1451694Sroger */
1551694Sroger
16139749Simp/*-
1751694Sroger * 1. Redistributions of source code must retain the
1851694Sroger * Copyright (c) 1997 Amancio Hasty, 1999 Roger Hardiman
1951694Sroger * All rights reserved.
2051694Sroger *
2151694Sroger * Redistribution and use in source and binary forms, with or without
2251694Sroger * modification, are permitted provided that the following conditions
2351694Sroger * are met:
2451694Sroger * 1. Redistributions of source code must retain the above copyright
2551694Sroger *    notice, this list of conditions and the following disclaimer.
2651694Sroger * 2. Redistributions in binary form must reproduce the above copyright
2751694Sroger *    notice, this list of conditions and the following disclaimer in the
2851694Sroger *    documentation and/or other materials provided with the distribution.
2951694Sroger * 3. All advertising materials mentioning features or use of this software
3051694Sroger *    must display the following acknowledgement:
3151694Sroger *      This product includes software developed by Amancio Hasty and
3251694Sroger *      Roger Hardiman
3351694Sroger * 4. The name of the author may not be used to endorse or promote products
3451694Sroger *    derived from this software without specific prior written permission.
3551694Sroger *
3651694Sroger * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
3751694Sroger * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
3851694Sroger * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
3951694Sroger * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
4051694Sroger * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
4151694Sroger * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
4251694Sroger * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
4351694Sroger * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
4451694Sroger * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
4551694Sroger * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4651694Sroger * POSSIBILITY OF SUCH DAMAGE.
4751694Sroger */
4851694Sroger
4951694Sroger/*
5051694Sroger * Select Audio source, and allow muting
5151694Sroger */
5251694Srogerint	set_audio( bktr_ptr_t bktr, int mode );
5351694Srogervoid	temp_mute( bktr_ptr_t bktr, int flag );
5451694Sroger
5551694Sroger
5651694Sroger/*
5751694Sroger * Initialise any MSP or TDA devices
5851694Sroger */
5951694Srogervoid	init_audio_devices( bktr_ptr_t bktr );
6051694Sroger
6151694Sroger
6251694Sroger/*
6351694Sroger * MSP34xx Audio Chip functions.
6451694Sroger */
6551694Srogervoid	msp_autodetect( bktr_ptr_t bktr );
6651694Srogervoid	msp_read_id( bktr_ptr_t bktr );
67118819Salex#ifdef BKTR_NEW_MSP34XX_DRIVER
68118819Salexint	msp_attach(bktr_ptr_t bktr);
69118819Salexint	msp_detach(bktr_ptr_t bktr);
70118819Salexvoid	msp_wake_thread(bktr_ptr_t bktr);
71118819Salexvoid	msp_halt_thread(bktr_ptr_t bktr);
72118819Salex#endif
7351694Sroger
7451694Sroger
7551694Sroger/*
7652593Sroger * DPL35xx Audio Chip functions.
7752593Sroger */
7852593Srogervoid	dpl_autodetect( bktr_ptr_t bktr );
7952593Srogervoid	dpl_read_id( bktr_ptr_t bktr );
8052593Sroger
8152593Sroger
8252593Sroger/*
8351694Sroger * TDA98xx Audio Chip functions.
8451694Sroger */
8551694Srogervoid	init_BTSC( bktr_ptr_t bktr );
8651694Srogerint	set_BTSC( bktr_ptr_t bktr, int control );
8751694Sroger
8851694Sroger
8951694Sroger
90