ics2101var.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* $OpenBSD: ics2101var.h,v 1.5 2008/06/26 05:42:16 ray Exp $ */
  2. /* $NetBSD: ics2101var.h,v 1.5 1997/10/09 07:57:24 jtc Exp $ */
  3. /*-
  4. * Copyright (c) 1996 The NetBSD Foundation, Inc.
  5. * All rights reserved.
  6. *
  7. * This code is derived from software contributed to The NetBSD Foundation
  8. * by Ken Hornstein and John Kohl.
  9. *
  10. * Redistribution and use in source and binary forms, with or without
  11. * modification, are permitted provided that the following conditions
  12. * are met:
  13. * 1. Redistributions of source code must retain the above copyright
  14. * notice, this list of conditions and the following disclaimer.
  15. * 2. Redistributions in binary form must reproduce the above copyright
  16. * notice, this list of conditions and the following disclaimer in the
  17. * documentation and/or other materials provided with the distribution.
  18. *
  19. * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  20. * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  21. * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  22. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  23. * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  24. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  25. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  26. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  27. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  28. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  29. * POSSIBILITY OF SUCH DAMAGE.
  30. */
  31. #define ICSMIX_LEFT 0 /* Value for left channel */
  32. #define ICSMIX_RIGHT 1 /* Value for right channel */
  33. struct ics2101_softc {
  34. bus_space_tag_t sc_iot; /* tag */
  35. bus_space_handle_t sc_selio_ioh;
  36. bus_space_handle_t sc_dataio_ioh;
  37. u_short sc_selio; /* select I/O address */
  38. u_short sc_dataio; /* data I/O address */
  39. int sc_flags; /* Various flags */
  40. #define ICS_FLIP 0x01 /* flip channels */
  41. u_char sc_setting[ICSMIX_CHAN_5+1][2]; /* current settings */
  42. u_char sc_mute[ICSMIX_CHAN_5+1][2];/* muted? */
  43. };
  44. void ics2101_mix_attenuate(struct ics2101_softc *, u_int, u_int, u_int);
  45. void ics2101_mix_mute(struct ics2101_softc *, u_int, u_int, u_int);