/** * \file * * * * \author Daniele Basile * * \brief Low-level serial module for ARM (interface). */ #include /* BV() */ #include /* uint32_t */ typedef uint16_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 SCI Control Register. */ #define SERRF_PARITYERROR BV(8) /**< Parity error */ #define SERRF_FRAMEERROR BV(9) /**< Stop bit missing */ #define SERRF_NOISEERROR BV(10) /**< Noise error */ #define SERRF_RXSROVERRUN BV(11) /**< Rx shift register overrun */ /** * \name Serial hw numbers * * \{ */ enum { // \todo since we now support "fake" multiplexed serials, this should be moved to hw.h SER_UART0, SER_PUNTALI, SER_BARCODE, SER_CNT /**< Number of serial ports */ }; /*\}*/