diff options
| author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
|---|---|---|
| committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
| commit | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (patch) | |
| tree | a57612d1888735a2ec7972891b68c1ac5ec8faea /sound | |
| parent | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (diff) | |
Diffstat (limited to 'sound')
74 files changed, 63516 insertions, 0 deletions
diff --git a/sound/pci/hda/alc260_quirks.c b/sound/pci/hda/alc260_quirks.c new file mode 100644 index 00000000000..21ec2cb100b --- /dev/null +++ b/sound/pci/hda/alc260_quirks.c | |||
| @@ -0,0 +1,1272 @@ | |||
| 1 | /* | ||
| 2 | * ALC260 quirk models | ||
| 3 | * included by patch_realtek.c | ||
| 4 | */ | ||
| 5 | |||
| 6 | /* ALC260 models */ | ||
| 7 | enum { | ||
| 8 | ALC260_AUTO, | ||
| 9 | ALC260_BASIC, | ||
| 10 | ALC260_HP, | ||
| 11 | ALC260_HP_DC7600, | ||
| 12 | ALC260_HP_3013, | ||
| 13 | ALC260_FUJITSU_S702X, | ||
| 14 | ALC260_ACER, | ||
| 15 | ALC260_WILL, | ||
| 16 | ALC260_REPLACER_672V, | ||
| 17 | ALC260_FAVORIT100, | ||
| 18 | #ifdef CONFIG_SND_DEBUG | ||
| 19 | ALC260_TEST, | ||
| 20 | #endif | ||
| 21 | ALC260_MODEL_LAST /* last tag */ | ||
| 22 | }; | ||
| 23 | |||
| 24 | static const hda_nid_t alc260_dac_nids[1] = { | ||
| 25 | /* front */ | ||
| 26 | 0x02, | ||
| 27 | }; | ||
| 28 | |||
| 29 | static const hda_nid_t alc260_adc_nids[1] = { | ||
| 30 | /* ADC0 */ | ||
| 31 | 0x04, | ||
| 32 | }; | ||
| 33 | |||
| 34 | static const hda_nid_t alc260_adc_nids_alt[1] = { | ||
| 35 | /* ADC1 */ | ||
| 36 | 0x05, | ||
| 37 | }; | ||
| 38 | |||
| 39 | /* NIDs used when simultaneous access to both ADCs makes sense. Note that | ||
| 40 | * alc260_capture_mixer assumes ADC0 (nid 0x04) is the first ADC. | ||
| 41 | */ | ||
| 42 | static const hda_nid_t alc260_dual_adc_nids[2] = { | ||
| 43 | /* ADC0, ADC1 */ | ||
| 44 | 0x04, 0x05 | ||
| 45 | }; | ||
| 46 | |||
| 47 | #define ALC260_DIGOUT_NID 0x03 | ||
| 48 | #define ALC260_DIGIN_NID 0x06 | ||
| 49 | |||
| 50 | static const struct hda_input_mux alc260_capture_source = { | ||
| 51 | .num_items = 4, | ||
| 52 | .items = { | ||
| 53 | { "Mic", 0x0 }, | ||
| 54 | { "Front Mic", 0x1 }, | ||
| 55 | { "Line", 0x2 }, | ||
| 56 | { "CD", 0x4 }, | ||
| 57 | }, | ||
| 58 | }; | ||
| 59 | |||
| 60 | /* On Fujitsu S702x laptops capture only makes sense from Mic/LineIn jack, | ||
| 61 | * headphone jack and the internal CD lines since these are the only pins at | ||
| 62 | * which audio can appear. For flexibility, also allow the option of | ||
| 63 | * recording the mixer output on the second ADC (ADC0 doesn't have a | ||
| 64 | * connection to the mixer output). | ||
| 65 | */ | ||
| 66 | static const struct hda_input_mux alc260_fujitsu_capture_sources[2] = { | ||
| 67 | { | ||
| 68 | .num_items = 3, | ||
| 69 | .items = { | ||
| 70 | { "Mic/Line", 0x0 }, | ||
| 71 | { "CD", 0x4 }, | ||
| 72 | { "Headphone", 0x2 }, | ||
| 73 | }, | ||
| 74 | }, | ||
| 75 | { | ||
| 76 | .num_items = 4, | ||
| 77 | .items = { | ||
| 78 | { "Mic/Line", 0x0 }, | ||
| 79 | { "CD", 0x4 }, | ||
| 80 | { "Headphone", 0x2 }, | ||
| 81 | { "Mixer", 0x5 }, | ||
| 82 | }, | ||
| 83 | }, | ||
| 84 | |||
| 85 | }; | ||
| 86 | |||
| 87 | /* Acer TravelMate(/Extensa/Aspire) notebooks have similar configuration to | ||
| 88 | * the Fujitsu S702x, but jacks are marked differently. | ||
| 89 | */ | ||
| 90 | static const struct hda_input_mux alc260_acer_capture_sources[2] = { | ||
| 91 | { | ||
| 92 | .num_items = 4, | ||
| 93 | .items = { | ||
| 94 | { "Mic", 0x0 }, | ||
| 95 | { "Line", 0x2 }, | ||
| 96 | { "CD", 0x4 }, | ||
| 97 | { "Headphone", 0x5 }, | ||
| 98 | }, | ||
| 99 | }, | ||
| 100 | { | ||
| 101 | .num_items = 5, | ||
| 102 | .items = { | ||
| 103 | { "Mic", 0x0 }, | ||
| 104 | { "Line", 0x2 }, | ||
| 105 | { "CD", 0x4 }, | ||
| 106 | { "Headphone", 0x6 }, | ||
| 107 | { "Mixer", 0x5 }, | ||
| 108 | }, | ||
| 109 | }, | ||
