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 );
|