]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: oxfw: add support for APOGEE duet FireWire
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 13 Nov 2018 03:01:30 +0000 (12:01 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Jan 2019 08:38:32 +0000 (09:38 +0100)
[ Upstream commit fba43f454cdf9caa3185219d116bd2a6e6354552 ]

This commit adds support for APOGEE duet FireWire, launched 2007, already
discontinued. This model uses Oxford Semiconductor FW971 as its
communication engine. Below is information on Configuration ROM of this
unit. The unit supports some AV/C commands defined by Audio subunit
specification and vendor dependent commands.

$ ./hinawa-config-rom-printer /dev/fw1
{ 'bus-info': { 'adj': False,
                'bmc': False,
                'chip_ID': 42949742248,
                'cmc': False,
                'cyc_clk_acc': 255,
                'generation': 0,
                'imc': False,
                'isc': True,
                'link_spd': 3,
                'max_ROM': 0,
                'max_rec': 64,
                'name': '1394',
                'node_vendor_ID': 987,
                'pmc': False},
  'root-directory': [ ['VENDOR', 987],
                      ['DESCRIPTOR', 'Apogee Electronics'],
                      ['MODEL', 122333],
                      ['DESCRIPTOR', 'Duet'],
                      [ 'NODE_CAPABILITIES',
                        { 'addressing': {'64': True, 'fix': True, 'prv': False},
                          'misc': {'int': False, 'ms': False, 'spt': True},
                          'state': { 'atn': False,
                                     'ded': False,
                                     'drq': True,
                                     'elo': False,
                                     'init': False,
                                     'lst': True,
                                     'off': False},
                          'testing': {'bas': False, 'ext': False}}],
                      [ 'UNIT',
                        [ ['SPECIFIER_ID', 41005],
                          ['VERSION', 65537],
                          ['MODEL', 122333],
                          ['DESCRIPTOR', 'Duet']]]]}

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/firewire/Kconfig
sound/firewire/oxfw/oxfw.c

index ab894ed1ff6717a8acde6581fef9842dbb8d5c35..8557e54d26598b5eef988351bd784cbc3e63f7ae 100644 (file)
@@ -40,6 +40,7 @@ config SND_OXFW
           * Mackie(Loud) U.420/U.420d
           * TASCAM FireOne
           * Stanton Controllers & Systems 1 Deck/Mixer
+          * APOGEE duet FireWire
 
          To compile this driver as a module, choose M here: the module
          will be called snd-oxfw.
index 696b6cf3500361e85db5dce67c86d2c86590d490..b0395c4209abad630d707f6dcf244dfbc9ceb437 100644 (file)
@@ -20,6 +20,7 @@
 #define VENDOR_LACIE           0x00d04b
 #define VENDOR_TASCAM          0x00022e
 #define OUI_STANTON            0x001260
+#define OUI_APOGEE             0x0003db
 
 #define MODEL_SATELLITE                0x00200f
 
@@ -441,6 +442,13 @@ static const struct ieee1394_device_id oxfw_id_table[] = {
                .vendor_id      = OUI_STANTON,
                .model_id       = 0x002000,
        },
+       // APOGEE, duet FireWire
+       {
+               .match_flags    = IEEE1394_MATCH_VENDOR_ID |
+                                 IEEE1394_MATCH_MODEL_ID,
+               .vendor_id      = OUI_APOGEE,
+               .model_id       = 0x01dddd,
+       },
        { }
 };
 MODULE_DEVICE_TABLE(ieee1394, oxfw_id_table);