Changeset 1542

Show
Ignore:
Timestamp:
04/23/09 16:33:11 (14 years ago)
Author:
jwoithe
Message:

RME: more register definitions

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/src/rme/fireface_def.h

    r1540 r1542  
    4949 
    5050/* General register definitions */ 
    51 #define RME_FF400_CONF_REG           (RME_FF400_CMD_BUFFER + RME_FF_CONF1_OFS) 
    52 #define RME_FF800_CONF_REG           (RME_FF800_CMD_BUFFER + RME_FF_CONF1_OFS) 
    53  
    54 #define RME_FF400_STREAM_START_REG   (RME_FF400_CMD_BUFFER + 0x001c)  
    55 #define RME_FF800_STREAM_START_REG  0x200000028LL 
    56 #define RME_FF400_STREAM_END_REG     (RME_FF400_CMD_BUFFER + 0x0004)  // 4 quadlets wide 
     51#define RME_FF400_CONF_REG          (RME_FF400_CMD_BUFFER + RME_FF_CONF1_OFS) 
     52#define RME_FF800_CONF_REG          (RME_FF800_CMD_BUFFER + RME_FF_CONF1_OFS) 
     53 
     54#define RME_FF400_STREAM_SRATE      (RME_FF400_CMD_BUFFER) 
     55#define RME_FF400_STREAM_CONF0      (RME_FF400_CMD_BUFFER+4) 
     56#define RME_FF400_STREAM_CONF1      (RME_FF400_CMD_BUFFER+8) 
     57#define RME_FF800_STREAM_SRATE      0x20000001c 
     58#define RME_FF800_STREAM_CONF0      (0x20000001c+4) 
     59#define RME_FF800_STREAM_CONF1      (0x20000001c+8) 
     60#define RME_FF400_STREAM_START_REG0 (RME_FF400_CMD_BUFFER + 0x001c)  
     61#define RME_FF800_STREAM_START_REG0 0x200000028LL 
     62#define RME_FF400_STREAM_END_REG    (RME_FF400_CMD_BUFFER + 0x0004)  // 4 quadlets wide 
    5763#define RME_FF800_STREAM_END_REG    0x200000034LL                     // 3 quadlets wide 
    5864 
     
    100106 
    101107/* Defines for components of the control registers */ 
    102 /* FIXME: flesh this out once the details of how this gets used have been  
    103  * finalised 
    104  */ 
     108// Configuration register 0 
     109#define CR0_PHANTOM_MIC0        0x00000001 
     110#define CR0_PHANTOM_MIC2        0x00000002 
     111#define CR0_SPEAKER_EMU_FPGA    0x00000004 
     112#define CR0_ILEVEL_FPGA_CTRL0   0x00000008 
     113#define CR0_ILEVEL_FPGA_CTRL1   0x00000010 
     114#define CR0_ILEVEL_FPGA_CTRL2   0x00000020 
     115#define CR0_ZEROBIT06           0x00000040 
     116#define CR0_PHANTOM_MIC1        0x00000080 
     117#define CR0_PHANTOM_MIC3        0x00000100 
     118#define CR0_ZEROBIT09           0x00000200 
     119#define CR0_INSTR_DRIVE_FPGA    0x00000400 
     120#define CRO_OLEVEL_FPGA_CTRL_0  0x00000800 
     121#define CRO_OLEVEL_FPGA_CTRL_1  0x00001000 
     122#define CRO_OLEVEL_FPGA_CTRL_2  0x00002000 
     123#define CRO_ZEROBIT14           0x00004000 
     124#define CRO_ZEROBIT15           0x00008000 
     125#define CRO_PHLEVEL_CTRL0       0x00010000 
     126#define CRO_PHLEVEL_CTRL1       0x00020000 
     127 
     128#define CR0_PHANTOM_FF400_MIC0  CR0_PHANTOM_MIC0 
     129#define CR0_PHANTOM_FF400_MIC1  CR0_PHANTOM_MIC1 
     130#define CR0_PHANTOM_FF800_MIC7  CR0_PHANTOM_MIC0 
     131#define CR0_PHANTOM_FF800_MIC8  CR0_PHANTOM_MIC1 
     132#define CR0_PHANTOM_FF800_MIC9  CR0_PHANTOM_MIC2 
     133#define CR0_PHANTOM_FF800_MIC10 CR0_PHANTOM_MIC3 
     134#define CR0_ILEVEL_FPGA_LOGAIN  CR0_ILEVEL_FPGA_CTRL0 
     135#define CR0_ILEVEL_FPGA_4dBU    CR0_ILEVEL_FPGA_CTRL1 
     136#define CR0_ILEVEL_FPGA_m10dBV  CR0_ILEVEL_FPGA_CTRL2 
     137#define CR0_OLEVEL_FPGA_HIGAIN  CRO_OLEVEL_FPGA_CTRL_0 
     138#define CR0_OLEVEL_FPGA_4dBU    CRO_OLEVEL_FPGA_CTRL_1 
     139#define CR0_OLEVEL_FPGA_m10dBV  CRO_OLEVEL_FPGA_CTRL_2 
     140#define CR0_PHLEVEL_4dBU        0 
     141#define CRO_PHLEVEL_m10dBV      CRO_PHLEVEL_CTRL0 
     142#define CRO_PHLEVEL_HIGAIN      CRO_PHLEVEL_CTRL1 
     143 
     144// Configuration register 1 
     145#define CR1_ILEVEL_CPLD_CTRL0   0x00000001 
     146#define CR1_ILEVEL_CPLD_CTRL1   0x00000002 
     147#define CR1_INPUT0_REAR         0x00000004 
     148#define CR1_OLEVEL_CPLD_CTRL0   0x00000008 
     149#define CR1_OLEVEL_CPLD_CTRL1   0x00000010 
     150#define CR1_INPUT1_FRONT        0x00000020 
     151#define CR1_INPUT1_REAR         0x00000040 
     152#define CR1_INPUT2_FRONT        0x00000080 
     153#define CR1_INPUT2_REAR         0x00000100 
     154#define CR1_INSTR_DRIVE         0x00000200 
     155#define CR1_ZEROBIT10           0x00000400 
     156#define CR1_INPUT0_FRONT        0x00000800 
     157 
     158#define CR1_ILEVEL_CPLD_LOGAIN  0 
     159#define CR1_ILEVEL_CPLD_4dBU    CR1_ILEVEL_CPLD_CTRL1 
     160#define CR1_ILEVEL_CPLD_m10dBV  (CR1_ILEVEL_CPLD_CTRL0 | CR1_ILEVEL_CPLD_CTRL1) 
     161#define CR1_OLEVEL_CPLD_m10dBV  CR1_OLEVEL_CPLD_CTRL0 
     162#define CR1_OLEVEL_CPLD_HIGAIN  CR1_OLEVEL_CPLD_CTRL1 
     163#define CR1_OLEVEL_CPLD_4dBU    (CR1_OLEVEL_CPLD_CTRL0 | CR1_OLEVEL_CPLD_CTRL1) 
     164#define CR1_FF800_INPUT1_FRONT  CR1_INPUT0_FRONT 
     165#define CR1_FF800_INPUT1_REAR   CR1_INPUT0_REAR 
     166#define CR1_FF800_INPUT7_FRONT  CR1_INPUT1_FRONT 
     167#define CR1_FF800_INPUT7_REAR   CR1_INPUT1_REAR 
     168#define CR1_FF800_INPUT8_FRONT  CR1_INPUT2_FRONT 
     169#define CR1_FF800_INPUT8_REAR   CR1_INPUT2_REAR 
     170 
     171// Configuration register 2 
    105172#define CR2_CLOCKMODE_MASTER    0x00000000 
    106173#define CR2_CLOCKMODE_AUTOSYNC  0x00000001