cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

serial-u16550.rst (4134B)


      1===================================
      2Serial UART 16450/16550 MIDI driver
      3===================================
      4
      5The adaptor module parameter allows you to select either:
      6
      7* 0 - Roland Soundcanvas support (default)
      8* 1 - Midiator MS-124T support (1)
      9* 2 - Midiator MS-124W S/A mode (2)
     10* 3 - MS-124W M/B mode support (3)
     11* 4 - Generic device with multiple input support (4)
     12
     13For the Midiator MS-124W, you must set the physical M-S and A-B
     14switches on the Midiator to match the driver mode you select.
     15
     16In Roland Soundcanvas mode, multiple ALSA raw MIDI substreams are supported
     17(midiCnD0-midiCnD15).  Whenever you write to a different substream, the driver
     18sends the nonstandard MIDI command sequence F5 NN, where NN is the substream
     19number plus 1.  Roland modules use this command to switch between different
     20"parts", so this feature lets you treat each part as a distinct raw MIDI
     21substream. The driver provides no way to send F5 00 (no selection) or to not
     22send the F5 NN command sequence at all; perhaps it ought to.
     23
     24Usage example for simple serial converter:
     25::
     26
     27	/sbin/setserial /dev/ttyS0 uart none
     28	/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=115200
     29
     30Usage example for Roland SoundCanvas with 4 MIDI ports:
     31::
     32
     33	/sbin/setserial /dev/ttyS0 uart none
     34	/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 outs=4
     35
     36In MS-124T mode, one raw MIDI substream is supported (midiCnD0); the outs
     37module parameter is automatically set to 1. The driver sends the same data to
     38all four MIDI Out connectors.  Set the A-B switch and the speed module
     39parameter to match (A=19200, B=9600).
     40
     41Usage example for MS-124T, with A-B switch in A position:
     42::
     43
     44	/sbin/setserial /dev/ttyS0 uart none
     45	/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 adaptor=1 \
     46			speed=19200
     47
     48In MS-124W S/A mode, one raw MIDI substream is supported (midiCnD0);
     49the outs module parameter is automatically set to 1. The driver sends
     50the same data to all four MIDI Out connectors at full MIDI speed.
     51
     52Usage example for S/A mode:
     53::
     54
     55	/sbin/setserial /dev/ttyS0 uart none
     56	/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 adaptor=2
     57
     58In MS-124W M/B mode, the driver supports 16 ALSA raw MIDI substreams;
     59the outs module parameter is automatically set to 16.  The substream
     60number gives a bitmask of which MIDI Out connectors the data should be
     61sent to, with midiCnD1 sending to Out 1, midiCnD2 to Out 2, midiCnD4 to
     62Out 3, and midiCnD8 to Out 4.  Thus midiCnD15 sends the data to all 4 ports.
     63As a special case, midiCnD0 also sends to all ports, since it is not useful
     64to send the data to no ports.  M/B mode has extra overhead to select the MIDI
     65Out for each byte, so the aggregate data rate across all four MIDI Outs is
     66at most one byte every 520 us, as compared with the full MIDI data rate of
     67one byte every 320 us per port.
     68
     69Usage example for M/B mode:
     70::
     71
     72	/sbin/setserial /dev/ttyS0 uart none
     73	/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 adaptor=3
     74
     75The MS-124W hardware's M/A mode is currently not supported. This mode allows
     76the MIDI Outs to act independently at double the aggregate throughput of M/B,
     77but does not allow sending the same byte simultaneously to multiple MIDI Outs. 
     78The M/A protocol requires the driver to twiddle the modem control lines under
     79timing constraints, so it would be a bit more complicated to implement than
     80the other modes.
     81
     82Midiator models other than MS-124W and MS-124T are currently not supported. 
     83Note that the suffix letter is significant; the MS-124 and MS-124B are not
     84compatible, nor are the other known models MS-101, MS-101B, MS-103, and MS-114.
     85I do have documentation (tim.mann@compaq.com) that partially covers these models,
     86but no units to experiment with.  The MS-124W support is tested with a real unit.
     87The MS-124T support is untested, but should work.
     88
     89The Generic driver supports multiple input and output substreams over a single
     90serial port.  Similar to Roland Soundcanvas mode, F5 NN is used to select the
     91appropriate input or output stream (depending on the data direction).
     92Additionally, the CTS signal is used to regulate the data flow.  The number of
     93inputs is specified by the ins parameter.