oxygen.c (e9f66d9b9ce03f74a52894cebedf12b67f65dd24) oxygen.c (76bc7a0d0a2a833d09fbf9d4e19a7985ef6e276b)
1/*
2 * C-Media CMI8788 driver for C-Media's reference design and similar models
3 *
4 * Copyright (c) Clemens Ladisch <clemens@ladisch.de>
5 *
6 *
7 * This driver is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License, version 2.

--- 80 unchanged lines hidden (view full) ---

89 MODEL_MERIDIAN_2G,
90 MODEL_CLARO,
91 MODEL_CLARO_HALO,
92 MODEL_FANTASIA,
93 MODEL_SERENADE,
94 MODEL_2CH_OUTPUT,
95 MODEL_HG2PCI,
96 MODEL_XONAR_DG,
1/*
2 * C-Media CMI8788 driver for C-Media's reference design and similar models
3 *
4 * Copyright (c) Clemens Ladisch <clemens@ladisch.de>
5 *
6 *
7 * This driver is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License, version 2.

--- 80 unchanged lines hidden (view full) ---

89 MODEL_MERIDIAN_2G,
90 MODEL_CLARO,
91 MODEL_CLARO_HALO,
92 MODEL_FANTASIA,
93 MODEL_SERENADE,
94 MODEL_2CH_OUTPUT,
95 MODEL_HG2PCI,
96 MODEL_XONAR_DG,
97 MODEL_XONAR_DGX,
97};
98
99static DEFINE_PCI_DEVICE_TABLE(oxygen_ids) = {
100 /* C-Media's reference design */
101 { OXYGEN_PCI_SUBID(0x10b0, 0x0216), .driver_data = MODEL_CMEDIA_REF },
102 { OXYGEN_PCI_SUBID(0x10b0, 0x0217), .driver_data = MODEL_CMEDIA_REF },
103 { OXYGEN_PCI_SUBID(0x10b0, 0x0218), .driver_data = MODEL_CMEDIA_REF },
104 { OXYGEN_PCI_SUBID(0x10b0, 0x0219), .driver_data = MODEL_CMEDIA_REF },
105 { OXYGEN_PCI_SUBID(0x13f6, 0x0001), .driver_data = MODEL_CMEDIA_REF },
106 { OXYGEN_PCI_SUBID(0x13f6, 0x0010), .driver_data = MODEL_CMEDIA_REF },
107 { OXYGEN_PCI_SUBID(0x13f6, 0x8788), .driver_data = MODEL_CMEDIA_REF },
108 { OXYGEN_PCI_SUBID(0x147a, 0xa017), .driver_data = MODEL_CMEDIA_REF },
109 { OXYGEN_PCI_SUBID(0x1a58, 0x0910), .driver_data = MODEL_CMEDIA_REF },
110 /* Asus Xonar DG */
111 { OXYGEN_PCI_SUBID(0x1043, 0x8467), .driver_data = MODEL_XONAR_DG },
98};
99
100static DEFINE_PCI_DEVICE_TABLE(oxygen_ids) = {
101 /* C-Media's reference design */
102 { OXYGEN_PCI_SUBID(0x10b0, 0x0216), .driver_data = MODEL_CMEDIA_REF },
103 { OXYGEN_PCI_SUBID(0x10b0, 0x0217), .driver_data = MODEL_CMEDIA_REF },
104 { OXYGEN_PCI_SUBID(0x10b0, 0x0218), .driver_data = MODEL_CMEDIA_REF },
105 { OXYGEN_PCI_SUBID(0x10b0, 0x0219), .driver_data = MODEL_CMEDIA_REF },
106 { OXYGEN_PCI_SUBID(0x13f6, 0x0001), .driver_data = MODEL_CMEDIA_REF },
107 { OXYGEN_PCI_SUBID(0x13f6, 0x0010), .driver_data = MODEL_CMEDIA_REF },
108 { OXYGEN_PCI_SUBID(0x13f6, 0x8788), .driver_data = MODEL_CMEDIA_REF },
109 { OXYGEN_PCI_SUBID(0x147a, 0xa017), .driver_data = MODEL_CMEDIA_REF },
110 { OXYGEN_PCI_SUBID(0x1a58, 0x0910), .driver_data = MODEL_CMEDIA_REF },
111 /* Asus Xonar DG */
112 { OXYGEN_PCI_SUBID(0x1043, 0x8467), .driver_data = MODEL_XONAR_DG },
113 /* Asus Xonar DGX */
114 { OXYGEN_PCI_SUBID(0x1043, 0x8521), .driver_data = MODEL_XONAR_DGX },
112 /* PCI 2.0 HD Audio */
113 { OXYGEN_PCI_SUBID(0x13f6, 0x8782), .driver_data = MODEL_2CH_OUTPUT },
114 /* Kuroutoshikou CMI8787-HG2PCI */
115 { OXYGEN_PCI_SUBID(0x13f6, 0xffff), .driver_data = MODEL_HG2PCI },
116 /* TempoTec HiFier Fantasia */
117 { OXYGEN_PCI_SUBID(0x14c3, 0x1710), .driver_data = MODEL_FANTASIA },
118 /* TempoTec HiFier Serenade */
119 { OXYGEN_PCI_SUBID(0x14c3, 0x1711), .driver_data = MODEL_SERENADE },

--- 702 unchanged lines hidden (view full) ---

822 chip->model.device_config |= CAPTURE_0_FROM_I2S_1;
823 chip->model.adc_mclks = OXYGEN_MCLKS(256, 128, 128);
824 }
825 chip->model.dac_channels_pcm = 2;
826 chip->model.dac_channels_mixer = 2;
827 break;
828 case MODEL_XONAR_DG:
829 chip->model = model_xonar_dg;
115 /* PCI 2.0 HD Audio */
116 { OXYGEN_PCI_SUBID(0x13f6, 0x8782), .driver_data = MODEL_2CH_OUTPUT },
117 /* Kuroutoshikou CMI8787-HG2PCI */
118 { OXYGEN_PCI_SUBID(0x13f6, 0xffff), .driver_data = MODEL_HG2PCI },
119 /* TempoTec HiFier Fantasia */
120 { OXYGEN_PCI_SUBID(0x14c3, 0x1710), .driver_data = MODEL_FANTASIA },
121 /* TempoTec HiFier Serenade */
122 { OXYGEN_PCI_SUBID(0x14c3, 0x1711), .driver_data = MODEL_SERENADE },

--- 702 unchanged lines hidden (view full) ---

825 chip->model.device_config |= CAPTURE_0_FROM_I2S_1;
826 chip->model.adc_mclks = OXYGEN_MCLKS(256, 128, 128);
827 }
828 chip->model.dac_channels_pcm = 2;
829 chip->model.dac_channels_mixer = 2;
830 break;
831 case MODEL_XONAR_DG:
832 chip->model = model_xonar_dg;
833 chip->model.shortname = "Xonar DG";
830 break;
834 break;
835 case MODEL_XONAR_DGX:
836 chip->model = model_xonar_dg;
837 chip->model.shortname = "Xonar DGX";
838 break;
831 }
832 if (id->driver_data == MODEL_MERIDIAN ||
833 id->driver_data == MODEL_MERIDIAN_2G ||
834 id->driver_data == MODEL_CLARO_HALO) {
835 chip->model.misc_flags = OXYGEN_MISC_MIDI;
836 chip->model.device_config |= MIDI_OUTPUT | MIDI_INPUT;
837 }
838 if (id->driver_data < ARRAY_SIZE(names) && names[id->driver_data])

--- 35 unchanged lines hidden ---
839 }
840 if (id->driver_data == MODEL_MERIDIAN ||
841 id->driver_data == MODEL_MERIDIAN_2G ||
842 id->driver_data == MODEL_CLARO_HALO) {
843 chip->model.misc_flags = OXYGEN_MISC_MIDI;
844 chip->model.device_config |= MIDI_OUTPUT | MIDI_INPUT;
845 }
846 if (id->driver_data < ARRAY_SIZE(names) && names[id->driver_data])

--- 35 unchanged lines hidden ---