18c2ecf20Sopenharmony_ci=======================================
28c2ecf20Sopenharmony_ciSoftware Interface ALSA-DSP MADI Driver 
38c2ecf20Sopenharmony_ci=======================================
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci(translated from German, so no good English ;-), 
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci2004 - winfried ritsch
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciFull functionality has been added to the driver. Since some of
118c2ecf20Sopenharmony_cithe Controls and startup-options  are ALSA-Standard and only the
128c2ecf20Sopenharmony_cispecial Controls are described and discussed below.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciHardware functionality
168c2ecf20Sopenharmony_ci======================
178c2ecf20Sopenharmony_ci   
188c2ecf20Sopenharmony_ciAudio transmission
198c2ecf20Sopenharmony_ci------------------
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci* number of channels --  depends on transmission mode
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci		The number of channels chosen is from 1..Nmax. The reason to
248c2ecf20Sopenharmony_ci		use for a lower number of channels is only resource allocation,
258c2ecf20Sopenharmony_ci		since unused DMA channels are disabled and less memory is
268c2ecf20Sopenharmony_ci		allocated. So also the throughput of the PCI system can be
278c2ecf20Sopenharmony_ci		scaled. (Only important for low performance boards).
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci* Single Speed -- 1..64 channels 
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci.. note::
328c2ecf20Sopenharmony_ci		 (Note: Choosing the 56channel mode for transmission or as
338c2ecf20Sopenharmony_ci		 receiver, only 56 are transmitted/received over the MADI, but
348c2ecf20Sopenharmony_ci		 all 64 channels are available for the mixer, so channel count
358c2ecf20Sopenharmony_ci		 for the driver)
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci* Double Speed -- 1..32 channels
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci.. note::
408c2ecf20Sopenharmony_ci		 Note: Choosing the 56-channel mode for
418c2ecf20Sopenharmony_ci		 transmission/receive-mode , only 28 are transmitted/received
428c2ecf20Sopenharmony_ci		 over the MADI, but all 32 channels are available for the mixer,
438c2ecf20Sopenharmony_ci		 so channel count for the driver
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci* Quad Speed -- 1..16 channels 
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci.. note::
498c2ecf20Sopenharmony_ci		 Choosing the 56-channel mode for
508c2ecf20Sopenharmony_ci		 transmission/receive-mode , only 14 are transmitted/received
518c2ecf20Sopenharmony_ci		 over the MADI, but all 16 channels are available for the mixer,
528c2ecf20Sopenharmony_ci		 so channel count for the driver
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci* Format -- signed 32 Bit Little Endian (SNDRV_PCM_FMTBIT_S32_LE)
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci* Sample Rates --
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci       Single Speed -- 32000, 44100, 48000
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci       Double Speed -- 64000, 88200, 96000 (untested)
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci       Quad Speed -- 128000, 176400, 192000 (untested)
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci* access-mode -- MMAP (memory mapped), Not interleaved (PCM_NON-INTERLEAVED)
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci* buffer-sizes -- 64,128,256,512,1024,2048,8192 Samples
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci* fragments -- 2
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci* Hardware-pointer -- 2 Modi
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci		 The Card supports the readout of the actual Buffer-pointer,
748c2ecf20Sopenharmony_ci		 where DMA reads/writes. Since of the bulk mode of PCI it is only
758c2ecf20Sopenharmony_ci		 64 Byte accurate. SO it is not really usable for the
768c2ecf20Sopenharmony_ci		 ALSA-mid-level functions (here the buffer-ID gives a better
778c2ecf20Sopenharmony_ci		 result), but if MMAP is used by the application. Therefore it
788c2ecf20Sopenharmony_ci		 can be configured at load-time with the parameter
798c2ecf20Sopenharmony_ci		 precise-pointer.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci.. hint::
838c2ecf20Sopenharmony_ci		 (Hint: Experimenting I found that the pointer is maximum 64 to
848c2ecf20Sopenharmony_ci		 large never to small. So if you subtract 64 you always have a
858c2ecf20Sopenharmony_ci		 safe pointer for writing, which is used on this mode inside
868c2ecf20Sopenharmony_ci		 ALSA. In theory now you can get now a latency as low as 16
878c2ecf20Sopenharmony_ci		 Samples, which is a quarter of the interrupt possibilities.)
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci   * Precise Pointer -- off
908c2ecf20Sopenharmony_ci					interrupt used for pointer-calculation
918c2ecf20Sopenharmony_ci				
928c2ecf20Sopenharmony_ci   * Precise Pointer -- on
938c2ecf20Sopenharmony_ci					hardware pointer used.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciController
968c2ecf20Sopenharmony_ci----------
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciSince DSP-MADI-Mixer has 8152 Fader, it does not make sense to
998c2ecf20Sopenharmony_ciuse the standard mixer-controls, since this would break most of
1008c2ecf20Sopenharmony_ci(especially graphic) ALSA-Mixer GUIs. So Mixer control has be
1018c2ecf20Sopenharmony_ciprovided by a 2-dimensional controller using the
1028c2ecf20Sopenharmony_cihwdep-interface. 
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciAlso all 128+256 Peak and RMS-Meter can be accessed via the
1058c2ecf20Sopenharmony_cihwdep-interface. Since it could be a performance problem always
1068c2ecf20Sopenharmony_cicopying and converting Peak and RMS-Levels even if you just need
1078c2ecf20Sopenharmony_cione, I decided to export the hardware structure, so that of
1088c2ecf20Sopenharmony_cineeded some driver-guru can implement a memory-mapping of mixer
1098c2ecf20Sopenharmony_cior peak-meters over ioctl, or also to do only copying and no
1108c2ecf20Sopenharmony_ciconversion. A test-application shows the usage of the controller.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci* Latency Controls --- not implemented !!!
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci.. note::
1158c2ecf20Sopenharmony_ci	   Note: Within the windows-driver the latency is accessible of a
1168c2ecf20Sopenharmony_ci	   control-panel, but buffer-sizes are controlled with ALSA from
1178c2ecf20Sopenharmony_ci	   hwparams-calls and should not be changed in run-state, I did not
1188c2ecf20Sopenharmony_ci	   implement it here.
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci* System Clock -- suspended !!!!
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci  * Name -- "System Clock Mode"
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci  * Access -- Read Write
1268c2ecf20Sopenharmony_ci    
1278c2ecf20Sopenharmony_ci  * Values -- "Master" "Slave"
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci.. note::
1308c2ecf20Sopenharmony_ci		  !!!! This is a hardware-function but is in conflict with the
1318c2ecf20Sopenharmony_ci		  Clock-source controller, which is a kind of ALSA-standard. I
1328c2ecf20Sopenharmony_ci		  makes sense to set the card to a special mode (master at some
1338c2ecf20Sopenharmony_ci		  frequency or slave), since even not using an Audio-application
1348c2ecf20Sopenharmony_ci		  a studio should have working synchronisations setup. So use
1358c2ecf20Sopenharmony_ci		  Clock-source-controller instead !!!!
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci* Clock Source  
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci  * Name -- "Sample Clock Source"
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci  * Access -- Read Write
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci  * Values -- "AutoSync", "Internal 32.0 kHz", "Internal 44.1 kHz",
1448c2ecf20Sopenharmony_ci    "Internal 48.0 kHz", "Internal 64.0 kHz", "Internal 88.2 kHz",
1458c2ecf20Sopenharmony_ci    "Internal 96.0 kHz"
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci		 Choose between Master at a specific Frequency and so also the
1488c2ecf20Sopenharmony_ci		 Speed-mode or Slave (Autosync). Also see  "Preferred Sync Ref"
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci.. warning::
1518c2ecf20Sopenharmony_ci       !!!! This is no pure hardware function but was implemented by
1528c2ecf20Sopenharmony_ci       ALSA by some ALSA-drivers before, so I use it also. !!!
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci* Preferred Sync Ref
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci  * Name -- "Preferred Sync Reference"
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci  * Access -- Read Write
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ci  * Values -- "Word" "MADI"
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci		 Within the Auto-sync-Mode the preferred Sync Source can be
1658c2ecf20Sopenharmony_ci		 chosen. If it is not available another is used if possible.
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci.. note::
1688c2ecf20Sopenharmony_ci		 Note: Since MADI has a much higher bit-rate than word-clock, the
1698c2ecf20Sopenharmony_ci		 card should synchronise better in MADI Mode. But since the
1708c2ecf20Sopenharmony_ci		 RME-PLL is very good, there are almost no problems with
1718c2ecf20Sopenharmony_ci		 word-clock too. I never found a difference.
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci* TX 64 channel
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci  * Name -- "TX 64 channels mode"
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci  * Access -- Read Write
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ci  * Values -- 0 1
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci		 Using 64-channel-modus (1) or 56-channel-modus for
1838c2ecf20Sopenharmony_ci		 MADI-transmission (0).
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci.. note::
1878c2ecf20Sopenharmony_ci		 Note: This control is for output only. Input-mode is detected
1888c2ecf20Sopenharmony_ci		 automatically from hardware sending MADI.
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci* Clear TMS
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci  * Name -- "Clear Track Marker"
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ci  * Access -- Read Write
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ci  * Values -- 0 1
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci		 Don't use to lower 5 Audio-bits on AES as additional Bits.
2018c2ecf20Sopenharmony_ci        
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci* Safe Mode oder Auto Input
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci  * Name -- "Safe Mode"
2068c2ecf20Sopenharmony_ci
2078c2ecf20Sopenharmony_ci  * Access -- Read Write
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ci  * Values -- 0 1 (default on)
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ci		 If on (1), then if either the optical or coaxial connection
2128c2ecf20Sopenharmony_ci		 has a failure, there is a takeover to the working one, with no
2138c2ecf20Sopenharmony_ci		 sample failure. Its only useful if you use the second as a
2148c2ecf20Sopenharmony_ci		 backup connection.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci* Input
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci  * Name -- "Input Select"
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci  * Access -- Read Write
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci  * Values -- optical coaxial
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ci		 Choosing the Input, optical or coaxial. If Safe-mode is active,
2268c2ecf20Sopenharmony_ci		 this is the preferred Input.
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ciMixer
2298c2ecf20Sopenharmony_ci-----
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ci* Mixer
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci  * Name -- "Mixer"
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci  * Access -- Read Write
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ci  * Values - <channel-number 0-127> <Value 0-65535>
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci
2408c2ecf20Sopenharmony_ci		 Here as a first value the channel-index is taken to get/set the
2418c2ecf20Sopenharmony_ci		 corresponding mixer channel, where 0-63 are the input to output
2428c2ecf20Sopenharmony_ci		 fader and 64-127 the playback to outputs fader. Value 0
2438c2ecf20Sopenharmony_ci		 is channel muted 0 and 32768 an amplification of  1.
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ci* Chn 1-64
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ci       fast mixer for the ALSA-mixer utils. The diagonal of the
2488c2ecf20Sopenharmony_ci       mixer-matrix is implemented from playback to output.
2498c2ecf20Sopenharmony_ci       
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ci* Line Out
2528c2ecf20Sopenharmony_ci
2538c2ecf20Sopenharmony_ci  * Name  -- "Line Out"
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ci  * Access -- Read Write
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ci  * Values -- 0 1
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci		 Switching on and off the analog out, which has nothing to do
2608c2ecf20Sopenharmony_ci		 with mixing or routing. the analog outs reflects channel 63,64.
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ci
2638c2ecf20Sopenharmony_ciInformation (only read access)
2648c2ecf20Sopenharmony_ci------------------------------
2658c2ecf20Sopenharmony_ci 
2668c2ecf20Sopenharmony_ci* Sample Rate
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ci  * Name -- "System Sample Rate"
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ci  * Access -- Read-only
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ci		 getting the sample rate.
2738c2ecf20Sopenharmony_ci
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ci* External Rate measured
2768c2ecf20Sopenharmony_ci
2778c2ecf20Sopenharmony_ci  * Name -- "External Rate"
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ci  * Access -- Read only
2808c2ecf20Sopenharmony_ci
2818c2ecf20Sopenharmony_ci
2828c2ecf20Sopenharmony_ci		 Should be "Autosync Rate", but Name used is
2838c2ecf20Sopenharmony_ci		 ALSA-Scheme. External Sample frequency liked used on Autosync is
2848c2ecf20Sopenharmony_ci		 reported.
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ci* MADI Sync Status
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ci  * Name -- "MADI Sync Lock Status"
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ci  * Access -- Read
2928c2ecf20Sopenharmony_ci
2938c2ecf20Sopenharmony_ci  * Values -- 0,1,2
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ci       MADI-Input is 0=Unlocked, 1=Locked, or 2=Synced.
2968c2ecf20Sopenharmony_ci
2978c2ecf20Sopenharmony_ci
2988c2ecf20Sopenharmony_ci* Word Clock Sync Status
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ci  * Name -- "Word Clock Lock Status"
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ci  * Access -- Read
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ci  * Values -- 0,1,2
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ci       Word Clock Input is 0=Unlocked, 1=Locked, or 2=Synced.
3078c2ecf20Sopenharmony_ci
3088c2ecf20Sopenharmony_ci* AutoSync
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_ci  * Name -- "AutoSync Reference"
3118c2ecf20Sopenharmony_ci
3128c2ecf20Sopenharmony_ci  * Access -- Read
3138c2ecf20Sopenharmony_ci
3148c2ecf20Sopenharmony_ci  * Values -- "WordClock", "MADI", "None"
3158c2ecf20Sopenharmony_ci
3168c2ecf20Sopenharmony_ci		 Sync-Reference is either "WordClock", "MADI" or none.
3178c2ecf20Sopenharmony_ci
3188c2ecf20Sopenharmony_ci* RX 64ch --- noch nicht implementiert
3198c2ecf20Sopenharmony_ci
3208c2ecf20Sopenharmony_ci       MADI-Receiver is in 64 channel mode oder 56 channel mode.
3218c2ecf20Sopenharmony_ci
3228c2ecf20Sopenharmony_ci
3238c2ecf20Sopenharmony_ci* AB_inp   --- not tested 
3248c2ecf20Sopenharmony_ci
3258c2ecf20Sopenharmony_ci		 Used input for Auto-Input.
3268c2ecf20Sopenharmony_ci
3278c2ecf20Sopenharmony_ci
3288c2ecf20Sopenharmony_ci* actual Buffer Position --- not implemented
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci	   !!! this is a ALSA internal function, so no control is used !!!
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ci
3348c2ecf20Sopenharmony_ciCalling Parameter
3358c2ecf20Sopenharmony_ci=================
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ci* index int array (min = 1, max = 8) 
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ci     Index value for RME HDSPM interface. card-index within ALSA
3408c2ecf20Sopenharmony_ci
3418c2ecf20Sopenharmony_ci     note: ALSA-standard
3428c2ecf20Sopenharmony_ci
3438c2ecf20Sopenharmony_ci* id string array (min = 1, max = 8) 
3448c2ecf20Sopenharmony_ci
3458c2ecf20Sopenharmony_ci     ID string for RME HDSPM interface.
3468c2ecf20Sopenharmony_ci
3478c2ecf20Sopenharmony_ci     note: ALSA-standard
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ci* enable int array (min = 1, max = 8)
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ci     Enable/disable specific HDSPM sound-cards.
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ci     note: ALSA-standard
3548c2ecf20Sopenharmony_ci
3558c2ecf20Sopenharmony_ci* precise_ptr int array (min = 1, max = 8)
3568c2ecf20Sopenharmony_ci
3578c2ecf20Sopenharmony_ci     Enable precise pointer, or disable.
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ci.. note::
3608c2ecf20Sopenharmony_ci     note: Use only when the application supports this (which is a special case).
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ci* line_outs_monitor int array (min = 1, max = 8)
3638c2ecf20Sopenharmony_ci
3648c2ecf20Sopenharmony_ci     Send playback streams to analog outs by default.
3658c2ecf20Sopenharmony_ci
3668c2ecf20Sopenharmony_ci.. note::
3678c2ecf20Sopenharmony_ci	  note: each playback channel is mixed to the same numbered output
3688c2ecf20Sopenharmony_ci	  channel (routed). This is against the ALSA-convention, where all
3698c2ecf20Sopenharmony_ci	  channels have to be muted on after loading the driver, but was
3708c2ecf20Sopenharmony_ci	  used before on other cards, so i historically use it again)
3718c2ecf20Sopenharmony_ci
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ci
3748c2ecf20Sopenharmony_ci* enable_monitor int array (min = 1, max = 8)
3758c2ecf20Sopenharmony_ci
3768c2ecf20Sopenharmony_ci     Enable Analog Out on Channel 63/64 by default.
3778c2ecf20Sopenharmony_ci
3788c2ecf20Sopenharmony_ci.. note ::
3798c2ecf20Sopenharmony_ci      note: here the analog output is enabled (but not routed).
380