X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fser.h;h=1054f4fdd3ec16abce8f59888840d0e26d2e0374;hb=4be63e9bf292129a3d9771025528d254646180fe;hp=ceb275fcf4f79dc1705391b909679a83a6002cf7;hpb=9ba9dcf2a59a952609e19154e11de3e2478cbf42;p=bertos.git diff --git a/drv/ser.h b/drv/ser.h index ceb275fc..1054f4fd 100644 --- a/drv/ser.h +++ b/drv/ser.h @@ -156,6 +156,23 @@ /** \name Serial Error/status flags. */ /*\{*/ +#if CPU_ARM + typedef uint32_t serstatus_t; + + /* Software errors */ + #define SERRF_RXFIFOOVERRUN BV(0) /**< Rx FIFO buffer overrun */ + #define SERRF_RXTIMEOUT BV(1) /**< Receive timeout */ + #define SERRF_TXTIMEOUT BV(2) /**< Transmit timeout */ + + /* + * Hardware errors. + * These flags map directly to the ARM USART Channel Status Register (US_CSR). + */ + #define SERRF_RXSROVERRUN BV(5) /**< Rx shift register overrun */ + #define SERRF_FRAMEERROR BV(6) /**< Stop bit missing */ + #define SERRF_PARITYERROR BV(7) /**< Parity error */ + #define SERRF_NOISEERROR 0 /**< Unsupported */ + #if CPU_AVR typedef uint8_t serstatus_t; @@ -249,6 +266,10 @@ */ enum { +#if CPU_ARM_AT91 + SER_UART0, + SER_UART1, + SER_SPI, #if CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA1281 SER_UART0, SER_UART1,