|
Last change
on this file was 772, checked in by David Azarewicz, 7 months ago |
|
Merge in changes from 6.6-LTS branch.
Fixed additional 25+ problems.
|
|
File size:
2.1 KB
|
| Line | |
|---|
| 1 | /*
|
|---|
| 2 | * linux/include/linux/l3/uda1341.h
|
|---|
| 3 | *
|
|---|
| 4 | * Philips UDA1341 mixer device driver for ALSA
|
|---|
| 5 | *
|
|---|
| 6 | * Copyright (c) 2002 Tomas Kasparek <tomas.kasparek@seznam.cz>
|
|---|
| 7 | *
|
|---|
| 8 | * This program is free software; you can redistribute it and/or
|
|---|
| 9 | * modify it under the terms of the GNU General Public License.
|
|---|
| 10 | *
|
|---|
| 11 | * History:
|
|---|
| 12 | *
|
|---|
| 13 | * 2002-03-13 Tomas Kasparek Initial release - based on uda1341.h from OSS
|
|---|
| 14 | * 2002-03-30 Tomas Kasparek Proc filesystem support, complete mixer and DSP
|
|---|
| 15 | * features support
|
|---|
| 16 | */
|
|---|
| 17 |
|
|---|
| 18 | #define UDA1341_ALSA_NAME "snd-uda1341"
|
|---|
| 19 |
|
|---|
| 20 | /*
|
|---|
| 21 | * Default rate set after inicialization
|
|---|
| 22 | */
|
|---|
| 23 | #define AUDIO_RATE_DEFAULT 44100
|
|---|
| 24 |
|
|---|
| 25 | /*
|
|---|
| 26 | * UDA1341 L3 address and command types
|
|---|
| 27 | */
|
|---|
| 28 | #define UDA1341_L3ADDR 5
|
|---|
| 29 | #define UDA1341_DATA0 (UDA1341_L3ADDR << 2 | 0)
|
|---|
| 30 | #define UDA1341_DATA1 (UDA1341_L3ADDR << 2 | 1)
|
|---|
| 31 | #define UDA1341_STATUS (UDA1341_L3ADDR << 2 | 2)
|
|---|
| 32 |
|
|---|
| 33 | enum uda1341_onoff {
|
|---|
| 34 | OFF=0,
|
|---|
| 35 | ON,
|
|---|
| 36 | };
|
|---|
| 37 |
|
|---|
| 38 | enum uda1341_format {
|
|---|
| 39 | I2S=0,
|
|---|
| 40 | LSB16,
|
|---|
| 41 | LSB18,
|
|---|
| 42 | LSB20,
|
|---|
| 43 | MSB,
|
|---|
| 44 | LSB16MSB,
|
|---|
| 45 | LSB18MSB,
|
|---|
| 46 | LSB20MSB,
|
|---|
| 47 | };
|
|---|
| 48 |
|
|---|
| 49 | enum uda1341_fs {
|
|---|
| 50 | F512=0,
|
|---|
| 51 | F384,
|
|---|
| 52 | F256,
|
|---|
| 53 | Funused,
|
|---|
| 54 | };
|
|---|
| 55 |
|
|---|
| 56 | enum uda1341_peak {
|
|---|
| 57 | BEFORE=0,
|
|---|
| 58 | AFTER,
|
|---|
| 59 | };
|
|---|
| 60 |
|
|---|
| 61 | enum uda1341_filter {
|
|---|
| 62 | FLAT=0,
|
|---|
| 63 | MIN,
|
|---|
| 64 | MIN2,
|
|---|
| 65 | MAX,
|
|---|
| 66 | };
|
|---|
| 67 |
|
|---|
| 68 | enum uda1341_mixer {
|
|---|
| 69 | DOUBLE,
|
|---|
| 70 | LINE,
|
|---|
| 71 | MIC,
|
|---|
| 72 | MIXER,
|
|---|
| 73 | };
|
|---|
| 74 |
|
|---|
| 75 | enum uda1341_deemp {
|
|---|
| 76 | NONE,
|
|---|
| 77 | D32,
|
|---|
| 78 | D44,
|
|---|
| 79 | D48,
|
|---|
| 80 | };
|
|---|
| 81 |
|
|---|
| 82 | enum uda1341_config {
|
|---|
| 83 | CMD_READ_REG = 0,
|
|---|
| 84 | CMD_RESET,
|
|---|
| 85 | CMD_FS,
|
|---|
| 86 | CMD_FORMAT,
|
|---|
| 87 | CMD_OGAIN,
|
|---|
| 88 | CMD_IGAIN,
|
|---|
| 89 | CMD_DAC,
|
|---|
| 90 | CMD_ADC,
|
|---|
| 91 | CMD_VOLUME,
|
|---|
| 92 | CMD_BASS,
|
|---|
| 93 | CMD_TREBBLE,
|
|---|
| 94 | CMD_PEAK,
|
|---|
| 95 | CMD_DEEMP,
|
|---|
| 96 | CMD_MUTE,
|
|---|
| 97 | CMD_FILTER,
|
|---|
| 98 | CMD_CH1,
|
|---|
| 99 | CMD_CH2,
|
|---|
| 100 | CMD_MIC,
|
|---|
| 101 | CMD_MIXER,
|
|---|
| 102 | CMD_AGC,
|
|---|
| 103 | CMD_IG,
|
|---|
| 104 | CMD_AGC_TIME,
|
|---|
| 105 | CMD_AGC_LEVEL,
|
|---|
| 106 | #ifdef CONFIG_PM
|
|---|
| 107 | CMD_SUSPEND,
|
|---|
| 108 | CMD_RESUME,
|
|---|
| 109 | #endif
|
|---|
| 110 | CMD_LAST,
|
|---|
| 111 | };
|
|---|
| 112 |
|
|---|
| 113 | enum write_through {
|
|---|
| 114 | //used in update_bits (write_cfg) to avoid l3_write - just update local copy of regs.
|
|---|
| 115 | REGS_ONLY=0,
|
|---|
| 116 | //update local regs and write value to uda1341 - do l3_write
|
|---|
| 117 | FLUSH,
|
|---|
| 118 | };
|
|---|
| 119 |
|
|---|
| 120 | int __init snd_chip_uda1341_mixer_new(struct snd_card *card, struct l3_client **clnt);
|
|---|
| 121 |
|
|---|
| 122 | /*
|
|---|
| 123 | * Local variables:
|
|---|
| 124 | * indent-tabs-mode: t
|
|---|
| 125 | * End:
|
|---|
| 126 | */
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.