errorled.c 444 Bytes
#include <R4300.h>
#include <bcp.h>
#include <os_bb.h>

void
osBbSetErrorLed(u32 value)
{
    u32 mask = IO_READ(PI_GPIO_REG);
    mask &= ~PI_GPIO_ERROR_BIT;
    mask &= ~(PI_GPIO_ERROR_BIT << PI_GPIO_ENABLE_SHIFT);
    IO_WRITE(PI_GPIO_REG, mask | (value==0 ? PI_GPIO_ERROR_BIT : 0) |
			  (PI_GPIO_ERROR_BIT << PI_GPIO_ENABLE_SHIFT));
}

u32
osBbGetErrorLed(void)
{
    u32 v = IO_READ(PI_GPIO_REG);
    return (v&PI_GPIO_ERROR_BIT) != 0;
}