1. 28 3月, 2017 2 次提交
    • T
      ALSA: firewire-motu: add support for MOTU 828mk2 as a model with protocol version 2 · 949613e3
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      949613e3
    • T
      ALSA: firewire-motu: add skeleton for Mark of the unicorn (MOTU) FireWire series · 6c3cef48
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6c3cef48
  2. 03 1月, 2017 1 次提交
    • T
      ALSA: oxfw: add support for Mackie Onyx 1640i · 03abd33a
      Takashi Sakamoto 提交于
      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: NSeth O'Bannion <saobannion@gmail.com>
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      03abd33a
  3. 28 3月, 2016 1 次提交
  4. 22 12月, 2015 1 次提交
    • T
      ALSA: oxfw: obsolete scs1x module · 9e2004f9
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9e2004f9
  5. 08 11月, 2015 1 次提交
  6. 03 10月, 2015 2 次提交
    • T
      ALSA: firewire-tascam: add hwdep interface · e5e0c3dd
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e5e0c3dd
    • T
      ALSA: firewire-tascam: add skeleton for TASCAM FireWire series · c0949b27
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c0949b27
  7. 30 9月, 2015 2 次提交
  8. 15 6月, 2015 1 次提交
  9. 24 5月, 2015 1 次提交
    • T
      ALSA: bebob: add Digidesign Mbox 2 Pro support · 146a5e3c
      Takashi Sakamoto 提交于
      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/DigiDesignMboxPro2Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      146a5e3c
  10. 10 12月, 2014 3 次提交
  11. 30 11月, 2014 2 次提交
  12. 28 7月, 2014 1 次提交
  13. 30 5月, 2014 1 次提交
  14. 26 5月, 2014 14 次提交
    • T
      ALSA: bebob: Add support for M-Audio special Firewire series · 3149ac48
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3149ac48
    • T
      ALSA: bebob: Add support for M-Audio usual Firewire series · 9076c22d
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      9076c22d
    • T
      ALSA: bebob: Add support for Focusrite Saffire/SaffirePro series · 25784ec2
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      25784ec2
    • T
      ALSA: bebob: Add support for Yamaha GO series · 8ac98a35
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      8ac98a35
    • T
      ALSA: bebob: Add support for Terratec PHASE, EWS series and Aureon · 326b9cac
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      326b9cac
    • T
      ALSA: bebob: Add hwdep interface · 618eabea
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      618eabea
    • T
      ALSA: bebob: Add PCM interface · fbbebd2c
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fbbebd2c
    • T
      ALSA: bebob: Add MIDI interface · 248b7802
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      248b7802
    • T
      ALSA: bebob: Add skelton for BeBoB based devices · fd6f4b0d
      Takashi Sakamoto 提交于
      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: NDavid Henningsson <david.henningsson@canonical.com>
      Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fd6f4b0d
    • T
      ALSA: fireworks: Add hwdep interface · 594ddced
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      594ddced
    • T
      ALSA: fireworks: Add PCM interface · aa02bb6e
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      aa02bb6e
    • T
      ALSA: fireworks: Add MIDI interface · a63d3ff1
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      a63d3ff1
    • T
      ALSA: fireworks: Add transaction and some commands · bde8a8f2
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      bde8a8f2
    • T
      ALSA: fireworks: Add skelton for Fireworks based devices · b5b04336
      Takashi Sakamoto 提交于
      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: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b5b04336
  15. 21 10月, 2013 1 次提交
  16. 18 10月, 2013 1 次提交
    • C
      ALSA: add DICE driver · 82fbb4f7
      Clemens Ladisch 提交于
      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: NClemens Ladisch <clemens@ladisch.de>
      82fbb4f7
  17. 12 11月, 2012 1 次提交
  18. 11 5月, 2011 2 次提交
  19. 15 3月, 2011 1 次提交