URL
                    https://opencores.org/ocsvn/openrisc/openrisc/trunk
                
             
            
            
Show entire file |
Details |
Blame |
View Log
   
    
      
         | Rev 246 | 
         Rev 467 | 
      
    
    
      
        | Line 31... | 
        Line 31... | 
      
      
        {
  | 
        {
  | 
      
      
                int divisor;
  | 
                int divisor;
  | 
      
      
                float float_divisor;
  | 
                float float_divisor;
  | 
      
      
         
  | 
         
  | 
      
      
                /* Reset receiver and transmiter */
  | 
                /* Reset receiver and transmiter */
  | 
      
      
                REG8(UART_BASE + UART_FCR) = UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT | UART_FCR_TRIGGER_4;
  | 
                REG8(UART_BASE + UART_FCR) = UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR
  | 
      
      
           | 
                        | UART_FCR_CLEAR_XMIT | UART_FCR_TRIGGER_4;
  | 
      
      
         
  | 
         
  | 
      
      
                /* Disable all interrupts */
  | 
                /* Disable all interrupts */
  | 
      
      
                REG8(UART_BASE + UART_IER) = 0x00;
  | 
                REG8(UART_BASE + UART_IER) = 0x00;
  | 
      
      
         
  | 
         
  | 
      
      
                /* Set 8 bit char, 1 stop bit, no parity */
  | 
                /* Set 8 bit char, 1 stop bit, no parity */
  | 
      
      
                REG8(UART_BASE + UART_LCR) = UART_LCR_WLEN8 & ~(UART_LCR_STOP | UART_LCR_PARITY);
  | 
                REG8(UART_BASE + UART_LCR) = UART_LCR_WLEN8 & ~(UART_LCR_STOP |
  | 
      
      
           | 
                                                                UART_LCR_PARITY);
  | 
      
      
         
  | 
         
  | 
      
      
                /* Set baud rate */
  | 
                /* Set baud rate */
  | 
      
      
                float_divisor = (float) IN_CLK/(16 * UART_BAUD_RATE);
  | 
                float_divisor = (float) IN_CLK/(16 * UART_BAUD_RATE);
  | 
      
      
                float_divisor += 0.50f; // Ensure round up
  | 
                float_divisor += 0.50f; // Ensure round up
  | 
      
      
                divisor = (int) float_divisor;
  | 
                divisor = (int) float_divisor;
  | 
      
    
   
 
 
         
                
        
            
            
        
        
             
    
        © copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.