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

Subversion Repositories or1k

[/] [or1k/] [tags/] [stable_0_2_0_rc3/] [or1ksim/] [peripheral/] [gpio.c] - Diff between revs 1359 and 1366

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

Rev 1359 Rev 1366
Line 35... Line 35...
#include "vapi.h"
#include "vapi.h"
#include "debug.h"
#include "debug.h"
 
 
static struct gpio_device gpios[MAX_GPIOS];
static struct gpio_device gpios[MAX_GPIOS];
 
 
static void gpio_vapi_read( unsigned long id, unsigned long data );
static void gpio_vapi_read( unsigned long id, unsigned long data, void *dat );
static uint32_t gpio_read32( oraddr_t addr, void *dat );
static uint32_t gpio_read32( oraddr_t addr, void *dat );
static void gpio_write32( oraddr_t addr, uint32_t value, void *dat );
static void gpio_write32( oraddr_t addr, uint32_t value, void *dat );
 
 
static void gpio_external_clock( unsigned long value );
static void gpio_external_clock( unsigned long value );
static void gpio_device_clock( struct gpio_device *gpio );
static void gpio_device_clock( struct gpio_device *gpio );
Line 71... Line 71...
      register_memoryarea( gpio->baseaddr, GPIO_ADDR_SPACE, 4, 0, gpio_read32, gpio_write32, NULL );
      register_memoryarea( gpio->baseaddr, GPIO_ADDR_SPACE, 4, 0, gpio_read32, gpio_write32, NULL );
 
 
      /* Possibly connect to VAPI */
      /* Possibly connect to VAPI */
      if ( config.gpios[i].base_vapi_id ) {
      if ( config.gpios[i].base_vapi_id ) {
        gpio->base_vapi_id = config.gpios[i].base_vapi_id;
        gpio->base_vapi_id = config.gpios[i].base_vapi_id;
        vapi_install_multi_handler( gpio->base_vapi_id, GPIO_NUM_VAPI_IDS, gpio_vapi_read );
        vapi_install_multi_handler( gpio->base_vapi_id, GPIO_NUM_VAPI_IDS, gpio_vapi_read, NULL );
      }
      }
    }
    }
  }
  }
}
}
 
 
Line 187... Line 187...
  }
  }
}
}
 
 
 
 
/* Input from "outside world" */
/* Input from "outside world" */
void gpio_vapi_read( unsigned long id, unsigned long data )
void gpio_vapi_read( unsigned long id, unsigned long data, void *dat )
{
{
  unsigned which;
  unsigned which;
  struct gpio_device *gpio = gpio_find_vapi_device( id, &which );
  struct gpio_device *gpio = gpio_find_vapi_device( id, &which );
 
 
  debug( 5, "GPIO: id %08lx, data %08lx\n", id, data );
  debug( 5, "GPIO: id %08lx, data %08lx\n", id, data );

powered by: WebSVN 2.1.0

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