1. 05 Apr, 2017 3 commits
    • Takashi Sakamoto's avatar
      ALSA: fireface: add support for Fireface 400 · 76fdb3a9
      Takashi Sakamoto authored
      
      
      Fireface 400 is a second model of RME Fireface series, released in 2006.
      This commit adds support for this model.
      
      This model supports 8 analog channels, 2 S/PDIF channels and 8 ADAT
      channels in both of tx/rx packet. The number of ADAT channels differs
      depending on each mode of sampling transmission frequency.
      
      $ python2 linux-firewire-utils/src/crpp < /sys/bus/firewire/devices/fw1/config_rom
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  04107768  bus_info_length 4, crc_length 16, crc 30568 (should be 61311)
      404  31333934  bus_name "1394"
      408  20009002  irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 9 (1024)
      40c  000a3501  company_id 000a35     |
      410  1bd0862a  device_id 011bd0862a  | EUI-64 000a35011bd0862a
      
                     root directory
                     -----------------------------------------------------------------
      414  000485ec  directory_length 4, crc 34284
      418  03000a35  vendor
      41c  0c0083c0  node capabilities per IEEE 1394
      420  8d000006  --> eui-64 leaf at 438
      424  d1000001  --> unit directory at 428
      
                     unit directory at 428
                     -----------------------------------------------------------------
      428  000314c4  directory_length 3, crc 5316
      42c  12000a35  specifier id
      430  13000002  version
      434  17101800  model
      
                     eui-64 leaf at 438
                     -----------------------------------------------------------------
      438  000261a8  leaf_length 2, crc 25000
      43c  000a3501  company_id 000a35     |
      440  1bd0862a  device_id 011bd0862a  | EUI-64 000a35011bd0862a
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      76fdb3a9
    • Takashi Sakamoto's avatar
      ALSA: fireface: add hwdep interface · f656edd5
      Takashi Sakamoto authored
      
      
      This commit adds hwdep interface so as the other drivers for audio and
      music units on IEEE 1394 have.
      
      This interface is designed for mixer/control applications. By using this
      interface, an application can get information about firewire node, can
      lock/unlock kernel streaming and can get notification at starting/stopping
      kernel streaming.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f656edd5
    • Takashi Sakamoto's avatar
      ALSA: fireface: add skeleton for RME Fireface series · 17c4e5ea
      Takashi Sakamoto authored
      
      
      This commit adds a new driver for RME Fireface series. This commit just
      creates/removes card instance according to IEEE 1394 bus event. More
      functions will be added in following commits.
      
      Three types of firmware have released by RME GmbH; for Fireface 400, for
      Fireface 800 and for UCX/802/UFX. It's reasonable that these models use
      different protocol for communication. Currently, I've investigated
      Fireface 400 and nothing others.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      17c4e5ea
  2. 28 Mar, 2017 3 commits
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add support for MOTU 828mk3 (FireWire/Hybrid) as a model... · 5992e300
      Takashi Sakamoto authored
      
      ALSA: firewire-motu: add support for MOTU 828mk3 (FireWire/Hybrid) as a model with protocol version 3
      
      MOTU 828mk3 (FireWire/Hybrid) is one of third generation in MOTU FireWire
      series, produced in 2008/2014. This model consists of three chips for
      functionality on IEEE 1394 bus:
      
       * TI TSB41AB2 (Physical layer for IEEE 1394 bus)
       * Xilinx Spartan-3E FPGA Family (Link layer for IEEE 1394 bus, packet
         processing and data block processing layer)
       * TI TMS320C6722 (Digital signal processing)
      
      This commit adds a support for this model, with its unique protocol as
      version 3. This protocol has some additional features to protocol
      version 2.
      
       * Support several optical interfaces.
       * Support a data chunk for return of reverb effect.
       * Have a quirk of tx packets.
       * Support heartbeat asynchronous transaction.
      
      In this protocol, series of transferred packets has some quirks. Below
      fields in CIP headers of the packets are out of IEC 61883-1:
       - SID (source node id): always 0x0d
       - DBS (data block size): always 0x04
       - DBC (data block counter): always 0x00
       - EOH (End of header): always 0x00
      
      Below is an actual sample of transferred packets.
      
      quads CIP1       CIP2
      520   0x0D040400 0x22FFFFFF
        8   0x0D040400 0x22FFFFFF
      520   0x0D040400 0x22FFFFFF
      520   0x0D040400 0x22FFFFFF
        8   0x0D040400 0x22FFFFFF
      
      Status of clock is configured by write transactions to 0x'ffff'f000'0b14,
      as well as version 2, while meanings of fields are different from the
      former protocols. Modes of optical interfaces are configured by write
      transactions to 0x'ffff'f000'0c94.
      
      Drivers can register its address to receive heatbeat transactions from the
      unit. 0x'ffff'f000'0b0c is for the higher part and 0x'ffff'f000'0b10 is
      for the lower part. Nevertheless, this feature is not useless for this
      driver and this commit omits it.
      
      Each data block consists of two parts in a point of the number of included
      data chunks. In both of 'fixed' and 'differed' parts, the number of
      included data blocks are a multiple of 4, thus depending on models there's
      some empty data chunks. For example, 828mk3 includes one pair of empty
      data chunks in its fixed part. When optical interface is configured to
      S/PDIF, 828mk3 includes one pair of empty data chunks in its differed part.
      To reduce consumption of CPU cycles with additional conditions/loops, this
      commit just exposes these empty chunks to user space as PCM channels.
      
      Additionally, 828mk3 has a non-negligible overhead to change its sampling
      transfer frequency. When softwares send asynchronous transaction to
      perform it, LED on the unit starts to blink. In a worst case, it continues
      blink during several seconds; e.g. 10 seconds. When stopping blinking,
      the unit seems to be prepared for the requested sampling transfer
      frequency. To wait for the preparation, this commit forces the driver
      to call task scheduler and applications sleeps for 4 seconds.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      5992e300
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add support for MOTU 828mk2 as a model with protocol version 2 · 949613e3
      Takashi Sakamoto authored
      
      
      MOTU 828mk2 is one of second generation in MOTU FireWire series, produced in
      2003. This model consists of four chips:
       * TI TSB41AB2 (Physical layer for IEEE 1394 bus)
       * PDI 1394L40BE (Link layer for IEEE 1394 bus and packet processing layer)
       * ALTERA ACEX 1K EP1K30 Series FPGA (Data block processing layer)
       * TI TMS320VC5402 (Digital signal processing)
      
      This commit adds a support for this model, with its unique protocol as
      version 2. The features of this protocol are:
      
       * Support data chunks for status and control messages for both
         directions.
       * Support a pair of MIDI input/output.
       * Support a data chunk for mic/instrument independent of analog line in.
       * Support a data chunk for playback return.
       * Support independent data chunks for S/PDIF of both optical/coaxial
         interfaces.
       * Support independent data chunks for each of main out and phone out.
      
      Status of clock is configured by write transactions to 0x'ffff'f000'0b14.
      Modes of optical interfaces are configured by write transactions to
      0x'ffff'f000'0c04.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      949613e3
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add skeleton for Mark of the unicorn (MOTU) FireWire series · 6c3cef48
      Takashi Sakamoto authored
      
      
      This commit adds an new driver for MOTU FireWire series. In this commit,
      this driver just creates/removes card instance according to bus event.
      More functionalities will be added in following commits.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6c3cef48
  3. 03 Jan, 2017 1 commit
    • Takashi Sakamoto's avatar
      ALSA: oxfw: add support for Mackie Onyx 1640i · 03abd33a
      Takashi Sakamoto authored
      As of kernel 4.10,  ALSA OXFW driver has no entry for Onyx 1640i produced
      by Mackie (Loud Technologies). This commit supplement it.
      
      I note that there're two models produced by Mackie (Loud Technologies),
      which have the same name 'Onyx 1640i'. The former model based on OXFW970,
      the latter model based on Dice. This is probably due to low quality of
      communication of OXFW series.
      
      Additionally, the tester reports his or her experiences to get unexpected
      result at higher sampling transmission frequency as 88.2/96.0 kHz. We
      didn't have further investigation yet[0].
      
      $ ./linux-firewire-utils/src/crpp < config_rom
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  042525ce  bus_info_length 4, crc_length 37, crc 9678
      404  31333934  bus_name "1394"
      408  20ff5003  irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 5 (64)
      40c  000ff205  company_id 000ff2     |
      410  00000fcf  device_id 0500000fcf  | EUI-64 000ff20500000fcf
      
                     root directory
                     -----------------------------------------------------------------
      414  0006c1b7  directory_length 6, crc 49591
      418  03000ff2  vendor
      41c  8100000a  --> descriptor leaf at 444
      420  17001640  model
      424  81000011  --> descriptor leaf at 468
      428  0c0083c0  node capabilities per IEEE 1394
      42c  d1000001  --> unit directory at 430
      
                     unit directory at 430
                     -----------------------------------------------------------------
      430  00040b97  directory_length 4, crc 2967
      434  1200a02d  specifier id: 1394 TA
      438  13010001  version: AV/C
      43c  17001640  model
      440  81000010  --> descriptor leaf at 480
      
                     descriptor leaf at 444
                     -----------------------------------------------------------------
      444  0008a886  leaf_length 8, crc 43142
      448  00000000  textual descriptor
      44c  00000000  minimal ASCII
      450  4c6f7564  "Loud"
      454  20546563  " Tec"
      458  686e6f6c  "hnol"
      45c  6f676965  "ogie"
      460  7320496e  "s In"
      464  632e0000  "c."
      
                     descriptor leaf at 468
                     -----------------------------------------------------------------
      468  00059fcf  leaf_length 5, crc 40911
      46c  00000000  textual descriptor
      470  00000000  minimal ASCII
      474  4f6e7978  "Onyx"
      478  20313634  " 164"
      47c  30690000  "0i"
      
                     descriptor leaf at 480
                     -----------------------------------------------------------------
      480  00059fcf  leaf_length 5, crc 40911
      484  00000000  textual descriptor
      488  00000000  minimal ASCII
      48c  4f6e7978  "Onyx"
      490  20313634  " 164"
      494  30690000  "0i"
      
      [0]: [FFADO-user] Mackie 1640i issues (finer details)
      https://sourceforge.net/p/ffado/mailman/message/35229260/
      
      Tested-by: default avatarSeth O'Bannion <saobannion@gmail.com>
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      03abd33a
  4. 28 Mar, 2016 1 commit
  5. 22 Dec, 2015 1 commit
    • Takashi Sakamoto's avatar
      ALSA: oxfw: obsolete scs1x module · 9e2004f9
      Takashi Sakamoto authored
      
      
      Now ALSA oxfw driver gains functionalities which scs1x module has.
      
      This commit obsoletes the scs1x module, and adds a line of MODULE_ALIAS
      to load oxfw module instead of scs1x module.
      
      In scs1x module, the name of 'shortname' field is fixed as 'SCS1x'. This
      field is used to name MIDI ports for both of SCS.1m and SCS.1d. This is
      not good because typically some SCS.1m and SCS.1d are used in the same
      system. It's better to distinguish them according to name of the ports.
      This commit applies model name in config ROM to the 'shortname'.
      
      For the name of 'driver' and 'longname', this commit uses the same way
      applied to the other models. This change may not bring disadvantages to
      users because userspace applications use ALSA rawmidi or seq interface
      and these interfaces are not influenced by them directly.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9e2004f9
  6. 08 Nov, 2015 1 commit
  7. 02 Oct, 2015 2 commits
    • Takashi Sakamoto's avatar
      ALSA: firewire-tascam: add hwdep interface · e5e0c3dd
      Takashi Sakamoto authored
      
      
      This commit adds hwdep interface so as the other IEEE 1394 sound devices
      has.
      
      This interface is designed for mixer/control applications. By using this
      interface, an application can get information about firewire node, can
      lock/unlock kernel streaming and can get notification at starting/stopping
      kernel streaming.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e5e0c3dd
    • Takashi Sakamoto's avatar
      ALSA: firewire-tascam: add skeleton for TASCAM FireWire series · c0949b27
      Takashi Sakamoto authored
      This commit adds a new driver for TASCAM FireWire series. In this commit,
      this driver just creates/removes card instance according to bus event.
      More functionalities will be added in following commits.
      
      TASCAM FireWire series consists of:
       * PDI 1394P23 for IEEE 1394 PHY layer
       * PDI 1394L40 for IEEE 1394 LINK layer and IEC 61883 interface
       * XILINX XC9536XL
       * XILINX Spartan-II XC2S100
       * ATMEL AT91M42800A
      
      Ilya Zimnovich had investigated TASCAM FireWire series in 2011, and
      discover some features of his FW-1804. You can see a part of his research
      in FFADO project.
      http://subversion.ffado.org/wiki/Tascam
      
      
      
      A part of my work are based on Ilya's investigation, while this series
      doesn't support the FW-1804, because of a lack of config ROM
      information and its protocol detail, especially for PCM channels.
      
      I observed that FW-1884 and FW-1082 don't work properly with 1394 OHCI
      controller based on VT6315. The controller can actually communicate packets
      to these models, while these models generate no sounds. It may be due to
      the PHY/LINK layer issues. Using 1394 OHCI controller produced by the other
      vendors such as Texas Instruments may work. Or adding another node on the
      bus.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c0949b27
  8. 30 Sep, 2015 2 commits
  9. 15 Jun, 2015 1 commit
  10. 24 May, 2015 1 commit
    • Takashi Sakamoto's avatar
      ALSA: bebob: add Digidesign Mbox 2 Pro support · 146a5e3c
      Takashi Sakamoto authored
      This device is based on DM1000E, and BeBoB version 1 firmware is
      installed.
      
      $ cat /proc/asound/cards
       0 [Pro            ]: BeBoB - Mbox 2 Pro
                            DIGIDESIGN Mbox 2 Pro (id:1, rev:1),
      		      GUID 00a07e0100a90000 at fw1.0, S400
      
      $ cat /proc/asound/Pro/firewire/firmware
      Manufacturer:	bridgeCo
      Protocol Ver:	1
      Build Ver:		0
      GUID:		0x00A07E0100A90000
      Model ID:		0x01
      Model Rev:		1
      Firmware Date:	20071031
      Firmware Time:	034402
      Firmware ID:	0xA9
      Firmware Ver:	16777215
      Base Addr:		0x20080000
      Max Size:		1572864
      Loader Date:	20051207
      Loader Time:	205554
      
      With this patch, ALSA BeBoB driver can start packet streaming to/from
      this model, while as a default, internal multiplexer of this model is
      not initialized and generates no sound even if the driver transfers
      any packets with PCM samples. To hear any sounds from this model,
      userspace applications should be developed to set parameters to the
      internal multiplexer. You can see raw information in FFADO website:
      http://subversion.ffado.org/wiki/AvcModels/DigiDesignMboxPro2
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      146a5e3c
  11. 10 Dec, 2014 3 commits
  12. 29 Nov, 2014 2 commits
  13. 28 Jul, 2014 1 commit
  14. 30 May, 2014 1 commit
  15. 26 May, 2014 14 commits
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add support for M-Audio special Firewire series · 3149ac48
      Takashi Sakamoto authored
      
      
      This commit allows this driver to support some models which M-Audio produces
      with DM1000 but its firmware is special. They are:
       - Firewire 1814
       - ProjectMix I/O
      
      They have heavily customized firmware. The usual operations can't be applied to
      them. For this reason, this commit adds a model specific member to 'struct
      snd_bebob' and some model specific functions. Some parameters are write-only so
      this commit also adds control interface for applications to set them.
      
      M-Audio special firmware quirks:
       - Just after powering on, they wait to download firmware. This state is
         changed when receiving cue. Then bus reset is generated and the device is
         recognized as a different model with the uploaded firmware.
       - They don't respond against BridgeCo AV/C extension commands. So drivers
         can't get their stream formations and so on.
       - They do not start to transmit packets only by establishing connection but
         also by receiving SIGNAL FORMAT command.
       - After booting up, they often fail to send response against driver's request
         due to mismatch of gap_count.
      
      This module don't support to upload firmware.
      
      Tested-by: Darren Anderson <darrena092@gmail.com> (ProjectMix I/O)
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3149ac48
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add support for M-Audio usual Firewire series · 9076c22d
      Takashi Sakamoto authored
      
      
      This commit allows this driver to support some models which M-Audio produces
      with DM1000/DM1000E with usual firmware. They are:
       - Firewire 410
       - Firewire AudioPhile
       - Firewire Solo
       - Ozonic
       - NRV10
       - FirewireLightBridge
      
      According to a person who worked in BridgeCo, some models are produced with
      'Pre-BeBoB'. This means that these products were released before BeBoB was
      officially produced, and later BeBoB specification was formed. So these models
      have some quirks.
      
      M-Audio usual firmware quirks:
       - Just after powering on, 'Firewire 410' waits to download firmware. This
         state is changed when receiving cue. Then bus reset is generated and the
         device is recognized as a different model with the uploaded firmware.
       - 'Firewire Audiophile' also waits to download firmware but its
         vendor id/model id is the same as the one after loading firmware.
       - The information of channel mapping for MIDI conformant data channel is
         invalid against BridgeCo specification.
      
      This commit adds some codes for these quirks but don't support to upload
      firmware.
      
      This commit also adds specific operations to get metering information. The
      metering information also includes status of clock synchronization if the model
      supports to switch source of clock.
      
      The specification of FirewireLightBridge is unknown. So in this time, normal
      operations are applied for this model.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9076c22d
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add support for Focusrite Saffire/SaffirePro series · 25784ec2
      Takashi Sakamoto authored
      
      
      This commit allows this driver to support all of models which Focusrite
      produces with DM1000/BeBoB. They are:
       - Saffire
       - Saffire LE
       - SaffirePro 10 I/O
       - SaffirePro 26 I/O
      
      This commit adds Focusrite specific operations:
      1. Get source of clock
      2. Get/Set sampling frequency
      3. Get metering information
      
      The driver uses these functionalities to read/write specific address by async
      transaction.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      25784ec2
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add support for Yamaha GO series · 8ac98a35
      Takashi Sakamoto authored
      
      
      This commit allows this driver to support all of models which Yamaha produced
      with DM1000/BeBoB. They are:
       - GO44
       - GO46
      
      This commit adds Yamaha specific operations. To get source of clock, AV/C Audio
      Subunit command is used.
      
      I note that their appearances are similar to some models of TerraTec; 'Go44' is
      similar to 'PHASE 24 FW' and 'GO46' is similar to 'PHASE X24 FW'. But their
      combination of Audio/Music subunits is a bit different.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8ac98a35
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add support for Terratec PHASE, EWS series and Aureon · 326b9cac
      Takashi Sakamoto authored
      
      
      This commit allows this driver to support all of models which Terratec produced
      with DM1000/BeBoB. They are:
       - PHASE 24 FW
       - PHASE X24 FW
       - PHASE 88 Rack FW
       - EWS MIC2
       - EWS MIC4
       - Aureon 7.1 Firewire
      
      For Phase series, this commit adds a Terratec specific operation. To get source
      of clock. AV/C Audio Subunit command is used.
      
      For EWS series and Aureon, this module uses normal operations.
      
      Tested-by: Maximilian Engelhardt <maxi@daemonizer.de> (PHASE 24 FW)
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      326b9cac
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add hwdep interface · 618eabea
      Takashi Sakamoto authored
      
      
      This interface is designed for mixer/control application. By using hwdep
      interface, the application can get information about firewire node, can
      lock/unlock kernel streaming and can get notification at starting/stopping
      kernel streaming.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      618eabea
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add PCM interface · fbbebd2c
      Takashi Sakamoto authored
      
      
      This commit adds a functionality to capture/playback PCM samples.
      
      When AMDTP stream is already running for PCM or the source of clock is not
      internal, available sampling rate is limited at current one.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fbbebd2c
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add MIDI interface · 248b7802
      Takashi Sakamoto authored
      
      
      This commit adds a functionality to capture/playback MIDI messages.
      
      When no AMDTP streams are running, this module starts AMDTP stream at current
      sampling rate for MIDI substream.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      248b7802
    • Takashi Sakamoto's avatar
      ALSA: bebob: Add skelton for BeBoB based devices · fd6f4b0d
      Takashi Sakamoto authored
      
      
      This commit adds a new driver for BeBoB based devices with no specific
      operations. Currently this driver just create/remove card instance according
      to callbacks.
      
      BeBoB is 'BridgeCo enhanced Breakout Box'. This is installed to firewire
      devices with DM1000/DM1100/DM1500 chipset. It gives common way for host
      system to handle BeBoB based devices.
      
      Current supported devices:
       - Edirol FA-66/FA-101
       - PreSonus FIREBOX/FIREPOD/FP10/Inspire1394
       - BridgeCo RDAudio1/Audio5
       - Mackie Onyx 1220/1620/1640 (Firewire I/O Card)
       - Mackie d.2 (Firewire Option)
       - Stanton FinalScratch 2 (ScratchAmp)
       - Tascam IF-FW DM
       - Behringer XENIX UFX 1204/1604
       - Behringer Digital Mixer X32 series (X-UF Card)
       - Apogee Rosetta 200/Rosetta 400 (X-FireWire card)
       - Apogee DA-16X/AD-16X/DD-16X (X-FireWire card)
       - Apogee Ensemble
       - ESI Quotafire610
       - AcousticReality eARMasterOne
       - CME MatrixKFW
       - Phonix Helix Board 12 MkII/18 MkII/24 MkII
       - Phonic Helix Board 12 Universal/18 Universal/24 Universal
       - Lynx Aurora 8/16 (LT-FW)
       - ICON FireXon
       - PrismSound Orpheus/ADA-8XR
      
      Devices possible to be supported if identifying IDs:
       - Apogee Mini-Me Firewire/Mini-DAC Firewire
       - Behringer F-Control Audio 610/1616
       - Cakewalk Sonar Power Studio 66
       - CME UF400e
       - ESI Quotafire XL
       - Infrasonic DewX/Windy6
       - Mackie Digital X Bus x.200/400
       - Phonic Helix Board 12/18/24
       - Phonic FireFly 202/302
       - Rolf Spuler Firewire Guitar
      Tested-by: default avatarDavid Henningsson <david.henningsson@canonical.com>
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fd6f4b0d
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add hwdep interface · 594ddced
      Takashi Sakamoto authored
      
      
      This interface is designed for mixer/control application. To use hwdep
      interface, the application can get information about firewire node, can
      lock/unlock kernel streaming and can get notification at starting/stopping
      kernel streaming.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      594ddced
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add PCM interface · aa02bb6e
      Takashi Sakamoto authored
      
      
      This commit adds a functionality to capture/playback PCM samples.
      
      When AMDTP stream is already running for PCM or the source of clock is not
      internal, available sampling rate is limited at current one.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      aa02bb6e
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add MIDI interface · a63d3ff1
      Takashi Sakamoto authored
      
      
      This commit adds a functionality to capture/playback MIDI messages.
      
      When no AMDTP streams are running, this driver starts AMDTP stream for MIDI
      stream at current sampling rate.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a63d3ff1
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add transaction and some commands · bde8a8f2
      Takashi Sakamoto authored
      
      
      Fireworks uses own command and response. This commit adds functionality to
      transact and adds some commands required for sound card instance and kernel
      streaming.
      
      There are two ways to deliver substance of this transaction:
      1.AV/C vendor dependent command for command/response
      2.Async transaction to specific addresses for command/response
      
      By way 1, I confirm AudioFire12 cannot correctly response to some commands with
      firmware version 5.0 or later. This is also confirmed by FFADO. So this driver
      implement way 2.
      
      The address for response gives an issue. When this driver allocate own callback
      function into the address, then no one can allocate its own callback function.
      This situation is not good for applications in user-land. This issue is solved
      in later commit.
      
      I note there is a command to change the address for response if the device
      supports. But this driver uses default value. So users should not execute this
      command as long as hoping this driver works correctly.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      bde8a8f2
    • Takashi Sakamoto's avatar
      ALSA: fireworks: Add skelton for Fireworks based devices · b5b04336
      Takashi Sakamoto authored
      
      
      This commit adds a new driver for devices based on Fireworks. This driver
      just creates/removes card instance according to callbacks.
      
      Fireworks is a board module which Echo Audio produced. This module
      consists of three chipsets:
       - Communication chipset for IEEE1394 PHY/Link and IEC 61883-1/6
       - DSP or/and FPGA for signal processing
       - Flash Memory to store firmwares
      
      Current supported devices:
       - Mackie Onyx 400F/1200F
       - Echo AudioFire12/8(until 2009 July)
       - Echo AudioFire2/4/Pre8/8(since 2009 July)
       - Echo Fireworks 8/HDMI
       - Gibson Robot Interface pack/GoldTop
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b5b04336
  16. 20 Oct, 2013 1 commit
  17. 17 Oct, 2013 1 commit
    • Clemens Ladisch's avatar
      ALSA: add DICE driver · 82fbb4f7
      Clemens Ladisch authored
      
      
      As a start point for further development, this is an incomplete driver
      for DICE devices:
      - only playback (so no clock source except the bus clock)
      - only 44.1 kHz
      - no MIDI
      - recovery after bus reset is slow
      - hwdep device is created, but not actually implemented
      
      Contains compilation fixes by Stefan Richter.
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      82fbb4f7
  18. 12 Nov, 2012 1 commit