Naming rationalization.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15673 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
d39e30fc10
commit
e0d0d5bee1
|
@ -31,9 +31,9 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static vio_gpio_inst_t gpio_inst1 = {
|
||||
.n = 1U,
|
||||
.ports = {
|
||||
[0] = {
|
||||
.n = 1U,
|
||||
.units = {
|
||||
[0] = {
|
||||
.permissions = VIO_GPIO_PERM_WRITE,
|
||||
.port = GPIOA,
|
||||
.mask = 1U,
|
||||
|
@ -43,15 +43,19 @@ static vio_gpio_inst_t gpio_inst1 = {
|
|||
};
|
||||
|
||||
static vio_gpio_inst_t gpio_inst2 = {
|
||||
.n = 0U
|
||||
.n = 0U
|
||||
};
|
||||
|
||||
static vio_conf_t vio_config1 = {
|
||||
.gpios = &gpio_inst1
|
||||
.gpios = &gpio_inst1,
|
||||
.uarts = NULL,
|
||||
.uartconfs = NULL
|
||||
};
|
||||
|
||||
static vio_conf_t vio_config2 = {
|
||||
.gpios = &gpio_inst2
|
||||
.gpios = &gpio_inst2,
|
||||
.uarts = NULL,
|
||||
.uartconfs = NULL
|
||||
};
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -57,51 +57,51 @@ void sb_api_vio_gpio(struct port_extctx *ectxp) {
|
|||
sb_class_t *sbp = (sb_class_t *)chThdGetSelfX()->ctx.syscall.p;
|
||||
uint32_t sub = (unsigned)ectxp->r0;
|
||||
uint32_t vport = (unsigned)ectxp->r1;
|
||||
const vio_port_t *vportp;
|
||||
const vio_gpio_unit_t *unitp;
|
||||
ectxp->r0 = 0U;
|
||||
|
||||
if (vport >= sbp->config->vioconf->gpios->n) {
|
||||
return;
|
||||
}
|
||||
|
||||
vportp = &sbp->config->vioconf->gpios->ports[vport];
|
||||
unitp = &sbp->config->vioconf->gpios->units[vport];
|
||||
|
||||
switch (sub) {
|
||||
case SB_VGPIO_WRITE:
|
||||
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2);
|
||||
if ((unitp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
palWriteGroup(unitp->port, unitp->mask, unitp->offset, ectxp->r2);
|
||||
}
|
||||
break;
|
||||
case SB_VGPIO_SET:
|
||||
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
uint32_t val = palReadGroup(vportp->port, vportp->mask, vportp->offset);
|
||||
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2 | val);
|
||||
if ((unitp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
uint32_t val = palReadGroup(unitp->port, unitp->mask, unitp->offset);
|
||||
palWriteGroup(unitp->port, unitp->mask, unitp->offset, ectxp->r2 | val);
|
||||
}
|
||||
break;
|
||||
case SB_VGPIO_CLEAR:
|
||||
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
uint32_t val = palReadGroup(vportp->port, vportp->mask, vportp->offset);
|
||||
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2 & ~val);
|
||||
if ((unitp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
uint32_t val = palReadGroup(unitp->port, unitp->mask, unitp->offset);
|
||||
palWriteGroup(unitp->port, unitp->mask, unitp->offset, ectxp->r2 & ~val);
|
||||
}
|
||||
break;
|
||||
case SB_VGPIO_TOGGLE:
|
||||
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
uint32_t val = palReadGroup(vportp->port, vportp->mask, vportp->offset);
|
||||
palWriteGroup(vportp->port, vportp->mask, vportp->offset, ectxp->r2 ^ val);
|
||||
if ((unitp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
uint32_t val = palReadGroup(unitp->port, unitp->mask, unitp->offset);
|
||||
palWriteGroup(unitp->port, unitp->mask, unitp->offset, ectxp->r2 ^ val);
|
||||
}
|
||||
break;
|
||||
case SB_VGPIO_READLATCH:
|
||||
if ((vportp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
ectxp->r0 = palReadGroupLatch(vportp->port, vportp->mask, vportp->offset);
|
||||
if ((unitp->permissions & VIO_GPIO_PERM_WRITE) != 0U) {
|
||||
ectxp->r0 = palReadGroupLatch(unitp->port, unitp->mask, unitp->offset);
|
||||
}
|
||||
break;
|
||||
case SB_VGPIO_READ:
|
||||
if ((vportp->permissions & VIO_GPIO_PERM_READ) != 0U) {
|
||||
ectxp->r0 = palReadGroup(vportp->port, vportp->mask, vportp->offset);
|
||||
if ((unitp->permissions & VIO_GPIO_PERM_READ) != 0U) {
|
||||
ectxp->r0 = palReadGroup(unitp->port, unitp->mask, unitp->offset);
|
||||
}
|
||||
break;
|
||||
case SB_VGPIO_SETMODE:
|
||||
if ((vportp->permissions & VIO_GPIO_PERM_SETMODE) != 0U) {
|
||||
if ((unitp->permissions & VIO_GPIO_PERM_SETMODE) != 0U) {
|
||||
/* TODO */
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -61,21 +61,21 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Type of a VIO GPIO configuration structure.
|
||||
* @brief Type of a VIO GPIO unit representation.
|
||||
*/
|
||||
typedef struct vio_port {
|
||||
typedef struct vio_gpio_unit {
|
||||
uint32_t permissions;
|
||||
ioportid_t port;
|
||||
ioportmask_t mask;
|
||||
uint32_t offset;
|
||||
} vio_port_t;
|
||||
} vio_gpio_unit_t;
|
||||
|
||||
/**
|
||||
* @brief Type of a VIO GPIOs configuration structure.
|
||||
*/
|
||||
typedef struct vio_gpio_inst {
|
||||
uint32_t n;
|
||||
vio_port_t ports[];
|
||||
vio_gpio_unit_t units[];
|
||||
} vio_gpio_inst_t;
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -64,7 +64,7 @@ typedef struct vio_uart_inst {
|
|||
*/
|
||||
typedef struct vio_uart_conf {
|
||||
uint32_t n;
|
||||
// vio_port_conf_t uarts[];
|
||||
// vio_port_conf_t cfgs[];
|
||||
} vio_uart_conf_t;
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
Loading…
Reference in New Issue