OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_68/] [or1ksim/] [peripheral/] [16450.c] - Diff between revs 1392 and 1394

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 1392 Rev 1394
Line 577... Line 577...
   space.  */
   space.  */
void uart_reset(void *dat)
void uart_reset(void *dat)
{
{
  struct dev_16450 *uart = dat;
  struct dev_16450 *uart = dat;
 
 
  if (uart->channel_str && uart->channel_str[0]) { /* Try to create stream. */
  if(uart->vapi_id) {
 
    vapi_install_handler(uart->vapi_id, uart_vapi_read, dat);
 
  } else if (uart->channel_str && uart->channel_str[0]) { /* Try to create stream. */
    if(uart->channel)
    if(uart->channel)
      channel_close(uart->channel);
      channel_close(uart->channel);
    else
    else
      uart->channel = channel_init(uart->channel_str);
      uart->channel = channel_init(uart->channel_str);
    if(channel_open(uart->channel) < 0) {
    if(channel_open(uart->channel) < 0) {
Line 620... Line 622...
  uart->iregs.loopback = 0;
  uart->iregs.loopback = 0;
 
 
  memset(uart->regs.txbuf, 0, sizeof(uart->regs.txbuf));
  memset(uart->regs.txbuf, 0, sizeof(uart->regs.txbuf));
  memset(uart->regs.rxbuf, 0, sizeof(uart->regs.rxbuf));
  memset(uart->regs.rxbuf, 0, sizeof(uart->regs.rxbuf));
 
 
  uart->regs.lcr = UART_LCR_RESET;
 
  uart->regs.dll = 0;
  uart->regs.dll = 0;
  uart->regs.dlh = 0;
  uart->regs.dlh = 0;
  uart->regs.ier = 0;
  uart->regs.ier = 0;
  uart->regs.iir = 0;
  uart->regs.iir = 0;
  uart->regs.fcr = 0;
  uart->regs.fcr = 0;
Line 751... Line 752...
 
 
void uart_sec_end(void *dat)
void uart_sec_end(void *dat)
{
{
  struct dev_16450 *uart = dat;
  struct dev_16450 *uart = dat;
 
 
  if(uart->vapi_id)
 
    vapi_install_handler(uart->vapi_id, uart_vapi_read, dat);
 
  register_memoryarea(uart->baseaddr, UART_ADDR_SPACE, 1, 0, uart_read_byte,
  register_memoryarea(uart->baseaddr, UART_ADDR_SPACE, 1, 0, uart_read_byte,
                      uart_write_byte, dat);
                      uart_write_byte, dat);
  reg_sim_reset(uart_reset, dat);
  reg_sim_reset(uart_reset, dat);
  reg_sim_stat(uart_status, dat);
  reg_sim_stat(uart_status, dat);
}
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.