Changeset 9789

Show
Ignore:
Timestamp:
10/13/08 20:07:19
Author:
eb
Message:

new tx and rx mux registers

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gnuradio/trunk/usrp2/firmware/lib/memory_map.h

    r9779 r9789  
    379379  volatile uint32_t     clear_state;    // clears out state machine, fifos, 
    380380                                        //   NOT freq, scale, interp 
     381  /*! 
     382   * \brief output mux configuration. 
     383   * 
     384   * <pre> 
     385   *     3                   2                   1                        
     386   *   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
     387   *  +-------------------------------+-------+-------+-------+-------+ 
     388   *  |                                               | DAC1  |  DAC0 | 
     389   *  +-------------------------------+-------+-------+-------+-------+ 
     390   *  
     391   *  There are N DUCs (1 now) with complex inputs and outputs. 
     392   *  There are two DACs. 
     393   *  
     394   *  Each 4-bit DACx field specifies the source for the DAC 
     395   *  Each subfield is coded like this:  
     396   *  
     397   *     3 2 1 0 
     398   *    +-------+ 
     399   *    |   N   | 
     400   *    +-------+ 
     401   *  
     402   *  N specifies which DUC output is connected to this DAC. 
     403   *  
     404   *   N   which interp output 
     405   *  ---  ------------------- 
     406   *   0   DUC 0 I 
     407   *   1   DUC 0 Q 
     408   *   2   DUC 1 I 
     409   *   3   DUC 1 Q 
     410   * 
     411   * The default value is 0x10 
     412   * </pre> 
     413   */ 
     414  volatile uint32_t     tx_mux; 
     415 
    381416} dsp_tx_regs_t; 
    382417   
     
    402437  volatile uint32_t     dcoffset_q;     // Bit 31 high sets fixed offset mode, using lower 14 bits 
    403438  volatile uint32_t     adc_mux;        // 4 bits -- lowest 2 for adc_i, next for adc_q 
     439 
     440  /*! 
     441   * \brief input mux configuration. 
     442   * 
     443   * This determines which ADC (or constant zero) is connected to  
     444   * each DDC input.  There are N DDCs (1 now).  Each has two inputs. 
     445   * 
     446   * <pre> 
     447   * Mux value: 
     448   * 
     449   *    3                   2                   1                        
     450   *  1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
     451   * +-------+-------+-------+-------+-------+-------+-------+-------+ 
     452   * |                                               |Q1 |I1 |Q0 |I0 | 
     453   * +-------+-------+-------+-------+-------+-------+-------+-------+ 
     454   * 
     455   * Each 2-bit I field is either 00 (A/D A), 01 (A/D B) or 1X (const zero) 
     456   * Each 2-bit Q field is either 00 (A/D A), 01 (A/D B) or 1X (const zero) 
     457   * 
     458   * The default value is 0x44444444 
     459   * </pre> 
     460   */ 
     461  volatile uint32_t     rx_mux; 
    404462 
    405463} dsp_rx_regs_t; 
  • gnuradio/trunk/usrp2/firmware/lib/u2_init.c

    r9780 r9789  
    8787  ad9777_write_reg(12, 0); 
    8888   
     89  // Initial values for tx and rx mux registers 
     90  dsp_tx_regs->tx_mux = 0x10; 
     91  dsp_rx_regs->rx_mux = 0x44444444; 
     92 
    8993  // Set up serdes 
    9094  output_regs->serdes_ctrl = (SERDES_ENABLE | SERDES_RXEN);