Files
mips/src/libsys/gpio.c
T
jens a655e1c5d9 - use build in data types
git-svn-id: http://moon:8086/svn/mips@35 a8ebac50-d88d-4704-bea3-6648445a41b3
2015-05-28 19:19:01 +00:00

29 lines
760 B
C

#include "libsys.h"
#include "gpio.h"
// ---------------------------------------------------------
uint32_t gpio_init(gpio_if_t *pGPIO, uint32_t base_addr)
{
pGPIO->pBase = (uint32_t*)base_addr;
return 0;
}
uint32_t gpio_clean(gpio_if_t *pGPIO)
{
return 0;
}
uint32_t gpio_write(gpio_if_t *pGPIO, uint32_t mask, uint32_t shift, uint32_t offset, uint32_t value)
{
*(pGPIO->pBase + offset) = (*(pGPIO->pBase + offset) & ~(mask << shift)) | ((value & mask) << shift);
return 0;
}
uint32_t gpio_read(gpio_if_t *pGPIO, uint32_t mask, uint32_t shift, uint32_t offset, uint32_t *pValue)
{
*pValue = (*(pGPIO->pBase + offset) & (mask << shift)) >> shift;
return 0;
}
// ---------------------------------------------------------