File nut/dev/usartsc16is752.c


Included Files


Preprocessor definitions

#define MYPRINT( fmt, ... )

#define US_OVRE 0x00000020

#define ASCII_XON 0x11

#define ASCII_XOFF 0x13

#define XON_PENDING 0x10

#define XOFF_PENDING 0x20

#define XOFF_SENT 0x40

#define XOFF_RCVD 0x80


Local Variables

rx_errors
static ureg_t rx_errors
Used in: Sc16is752UsartRxReady()  

flow_control
static uint_fast8_t flow_control

Used in: Sc16is752UsartGetFlowControl()  

irqEvents
Incoming interrupt events

static HANDLE irqEvents[2]

Used in: Sc16is752UsartInterrupt()  
  Sc16is752UsartInterruptProcessing()  

deviceList
static NUTDEVICE* deviceList[2][2]

Used in: Sc16is752UsartInit()  
  Sc16is752UsartProcessChannelInterrupt()  

regselState
static regselstate_t regselState[2][2]

Used in: selectDefaultRegisterSet()  
  selectEnhancedRegisterSet()  
  selectRegisterSet()  
  selectSpecialRegisterSet()  
  switchEnhancedFunctions()  
  switchTcrTlrSelect()  

i2caddr
static uint8_t i2caddr[2]

Used in: Sc16is752RegRawRead()  
  Sc16is752RegRawWrite()  

Global Function Sc16is752RegRead()

int Sc16is752RegRead ( uint8_t dev, uint8_t ch, uint8_t reg, uint8_t* val )
Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRawRead() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartInit() nut/dev/usartsc16is752.c
  Sc16is752UsartInterruptProcessing() nut/dev/usartsc16is752.c
  Sc16is752UsartRxReady() nut/dev/usartsc16is752.c
  Sc16is752UsartTxReady() nut/dev/usartsc16is752.c
  Sc16is752UsartTxStart() nut/dev/usartsc16is752.c
  setBaudrate() nut/dev/usartsc16is752.c

Global Function Sc16is752RegWrite()

int Sc16is752RegWrite ( uint8_t dev, uint8_t ch, uint8_t reg, uint8_t val )
Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRawWrite() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartInit() nut/dev/usartsc16is752.c
  Sc16is752UsartTxReady() nut/dev/usartsc16is752.c
  Sc16is752UsartTxStart() nut/dev/usartsc16is752.c
  setBaudrate() nut/dev/usartsc16is752.c

Global Function Sc16is752UsartDeinit()

int Sc16is752UsartDeinit ( uint8_t dev, uint8_t ch, IRQ_HANDLER* irq )
Prototyped in: nut/include/dev/usartsc16is752.h
Calls: NutRegisterIrqHandler() nut/dev/ihndlr.c
Called by: Sc16is752UsartDeinit_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartDisable()

void Sc16is752UsartDisable ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartSetSpeed() nut/dev/usartsc16is752.c

Global Function Sc16is752UsartEnable()

void Sc16is752UsartEnable ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartSetSpeed() nut/dev/usartsc16is752.c

Global Function Sc16is752UsartGetClockMode()

uint8_t Sc16is752UsartGetClockMode ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartGetClockMode_() nut/dev/usart3sc16is752.c
  Sc16is752UsartSetClockMode() nut/dev/usartsc16is752.c

Global Function Sc16is752UsartGetDataBits()

uint8_t Sc16is752UsartGetDataBits ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartGetDataBits_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartGetFlowControl()

uint32_t Sc16is752UsartGetFlowControl ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartGetFlowControl_() nut/dev/usart3sc16is752.c
  Sc16is752UsartSetFlowControl() nut/dev/usartsc16is752.c
References Variables: flow_control nut/dev/usartsc16is752.c

Global Function Sc16is752UsartGetParity()

uint8_t Sc16is752UsartGetParity ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartGetParity_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartGetSpeed()

uint32_t Sc16is752UsartGetSpeed ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartGetSpeed_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartGetStatus()

uint32_t Sc16is752UsartGetStatus ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartGetStatus_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartGetStopBits()

uint8_t Sc16is752UsartGetStopBits ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartGetStopBits_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartInit()

int Sc16is752UsartInit ( uint8_t dev, uint8_t ch, NUTDEVICE* nutDev, IRQ_HANDLER* irq )
Prototyped in: nut/include/dev/usartsc16is752.h
Calls: NutIrqEnable() nut/dev/ihndlr.c
  NutIrqSetMode() nut/dev/ihndlr.c
  NutRegisterIrqHandler() nut/dev/ihndlr.c
  NutThreadCreate() nut/arch/cm3/os/context.c
  Sc16is752RegRead() nut/dev/usartsc16is752.c
  Sc16is752RegWrite() nut/dev/usartsc16is752.c
  setBaudrate() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartInit_() nut/dev/usart3sc16is752.c
References Functions: Sc16is752UsartInterrupt() nut/dev/usartsc16is752.c
  Sc16is752UsartInterruptProcessing() nut/dev/usartsc16is752.c
References Variables: deviceList nut/dev/usartsc16is752.c

Global Function Sc16is752UsartInterruptProcessing()

void Sc16is752UsartInterruptProcessing ( void* arg )
Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRead() nut/dev/usartsc16is752.c
  Sc16is752UsartProcessChannelInterrupt() nut/dev/usartsc16is752.c
  NutEventWait(), NutThreadSetPriority()
Used in: Sc16is752UsartInit() nut/dev/usartsc16is752.c
References Variables: irqEvents nut/dev/usartsc16is752.c

Global Function Sc16is752UsartProcessChannelInterrupt()

void Sc16is752UsartProcessChannelInterrupt ( uint8_t dev, uint8_t ch, uint8_t iir )
Calls: Sc16is752UsartRxReady() nut/dev/usartsc16is752.c
  Sc16is752UsartTxReady() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartInterruptProcessing() nut/dev/usartsc16is752.c
References Variables: deviceList nut/dev/usartsc16is752.c

Global Function Sc16is752UsartRxStart()

void Sc16is752UsartRxStart ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartRxStart_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartSetClockMode()

int Sc16is752UsartSetClockMode ( uint8_t mode, uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Calls: Sc16is752UsartGetClockMode() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartSetClockMode_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartSetDataBits()

int Sc16is752UsartSetDataBits ( uint8_t bits, uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartSetDataBits_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartSetFlowControl()

int Sc16is752UsartSetFlowControl ( uint32_t flags, uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Calls: Sc16is752UsartGetFlowControl() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartSetFlowControl_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartSetParity()

int Sc16is752UsartSetParity ( uint8_t mode, uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartSetParity_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartSetSpeed()

int Sc16is752UsartSetSpeed ( uint32_t rate, uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Calls: Sc16is752UsartDisable() nut/dev/usartsc16is752.c
  Sc16is752UsartEnable() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartSetSpeed_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartSetStatus()

int Sc16is752UsartSetStatus ( uint32_t flags, uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartSetStatus_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartSetStopBits()

int Sc16is752UsartSetStopBits ( uint8_t bits, uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Called by: Sc16is752UsartSetStopBits_() nut/dev/usart3sc16is752.c

Global Function Sc16is752UsartTxStart()

void Sc16is752UsartTxStart ( uint8_t dev, uint8_t ch )
Prototyped in: nut/include/dev/usartsc16is752.h
Calls: Sc16is752RegRead() nut/dev/usartsc16is752.c
  Sc16is752RegWrite() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartTxStart_() nut/dev/usart3sc16is752.c

Global Function selectRegisterSet()

* Select the register set depending on the register address * The device can only address 16 registers directly. * The other registers are accessible indirectly only.

int selectRegisterSet ( uint8_t dev, uint8_t ch, uint8_t reg )

Prototyped in: nut/dev/usartsc16is752.c
Calls: selectDefaultRegisterSet() nut/dev/usartsc16is752.c
  selectEnhancedRegisterSet() nut/dev/usartsc16is752.c
  selectSpecialRegisterSet() nut/dev/usartsc16is752.c
  switchTcrTlrSelect() nut/dev/usartsc16is752.c
References Variables: regselState nut/dev/usartsc16is752.c

Global Function setBaudrate()

int setBaudrate ( uint8_t dev, uint8_t ch, int baud )
Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRead() nut/dev/usartsc16is752.c
  Sc16is752RegWrite() nut/dev/usartsc16is752.c
Called by: Sc16is752UsartInit() nut/dev/usartsc16is752.c

Local Function Sc16is752RegRawRead()

static int Sc16is752RegRawRead ( uint8_t dev, uint8_t ch, uint8_t reg, uint8_t* val )
Prototyped in: nut/dev/usartsc16is752.c
Calls: NutTwiMasterRegRead() nut/arch/m68k/coldfire/dev/common/mcf5_i2c.c
Called by: Sc16is752RegRead() nut/dev/usartsc16is752.c
  selectDefaultRegisterSet() nut/dev/usartsc16is752.c
  selectEnhancedRegisterSet() nut/dev/usartsc16is752.c
  selectSpecialRegisterSet() nut/dev/usartsc16is752.c
  switchEnhancedFunctions() nut/dev/usartsc16is752.c
  switchTcrTlrSelect() nut/dev/usartsc16is752.c
References Variables: i2caddr nut/dev/usartsc16is752.c

Local Function Sc16is752RegRawWrite()

static int Sc16is752RegRawWrite ( uint8_t dev, uint8_t ch, uint8_t reg, uint8_t val )
Prototyped in: nut/dev/usartsc16is752.c
Calls: NutTwiMasterTranceive() nut/dev/twibus_gpio.c
Called by: Sc16is752RegWrite() nut/dev/usartsc16is752.c
  selectDefaultRegisterSet() nut/dev/usartsc16is752.c
  selectEnhancedRegisterSet() nut/dev/usartsc16is752.c
  selectSpecialRegisterSet() nut/dev/usartsc16is752.c
  switchEnhancedFunctions() nut/dev/usartsc16is752.c
  switchTcrTlrSelect() nut/dev/usartsc16is752.c
References Variables: i2caddr nut/dev/usartsc16is752.c

Local Function Sc16is752UsartInterrupt()

static void Sc16is752UsartInterrupt ( void* arg )
Used in: Sc16is752UsartInit() nut/dev/usartsc16is752.c
References Variables: irqEvents nut/dev/usartsc16is752.c

Local Function Sc16is752UsartRxReady()

static void Sc16is752UsartRxReady ( uint8_t dev, uint8_t ch, RINGBUF* rbf )
Calls: NutSelectWakeupFromIrq() nut/crt/select.c
  Sc16is752RegRead() nut/dev/usartsc16is752.c
  NutEventPost()
Called by: Sc16is752UsartProcessChannelInterrupt() nut/dev/usartsc16is752.c
References Variables: rx_errors nut/dev/usartsc16is752.c

Local Function Sc16is752UsartTxReady()

static void Sc16is752UsartTxReady ( uint8_t dev, uint8_t ch, RINGBUF* rbf )
Calls: NutSelectWakeupFromIrq() nut/crt/select.c
  Sc16is752RegRead() nut/dev/usartsc16is752.c
  Sc16is752RegWrite() nut/dev/usartsc16is752.c
  NutEventPost(), NutMicroDelay()
Called by: Sc16is752UsartProcessChannelInterrupt() nut/dev/usartsc16is752.c

Local Function selectDefaultRegisterSet()

* Switches to Default Register Set * This operation modifies the content of the LCR register * The original content is passed as return value

static uint8_t selectDefaultRegisterSet ( uint8_t dev, uint8_t ch )

Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRawRead() nut/dev/usartsc16is752.c
  Sc16is752RegRawWrite() nut/dev/usartsc16is752.c
Called by: selectRegisterSet() nut/dev/usartsc16is752.c
References Variables: regselState nut/dev/usartsc16is752.c

Local Function selectEnhancedRegisterSet()

* Switches to Enhanced Register Set * Maps register EFR, XON1, XON2, XOFF1 and XOFF2 * This operation modifies the content of the LCR register * The original content is passed as return value

static uint8_t selectEnhancedRegisterSet ( uint8_t dev, uint8_t ch )

Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRawRead() nut/dev/usartsc16is752.c
  Sc16is752RegRawWrite() nut/dev/usartsc16is752.c
Called by: selectRegisterSet() nut/dev/usartsc16is752.c
  switchEnhancedFunctions() nut/dev/usartsc16is752.c
References Variables: regselState nut/dev/usartsc16is752.c

Local Function selectSpecialRegisterSet()

* Switches to Special Register Set * DLL and DLH are accessible ar register address 0 and 1 * This operation modifies the content of the LCR register * The original content is passed as return value

static uint8_t selectSpecialRegisterSet ( uint8_t dev, uint8_t ch )

Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRawRead() nut/dev/usartsc16is752.c
  Sc16is752RegRawWrite() nut/dev/usartsc16is752.c
Called by: selectRegisterSet() nut/dev/usartsc16is752.c
References Variables: regselState nut/dev/usartsc16is752.c

Local Function switchEnhancedFunctions()

* Turn on/off the enhanced functions bit in the EFR register * This requires temporarily selecting the enhanced register set * The original register set selection is restored via the original * content of the LCR register

static uint8_t switchEnhancedFunctions ( uint8_t dev, uint8_t ch, uint8_t flag )

Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRawRead() nut/dev/usartsc16is752.c
  Sc16is752RegRawWrite() nut/dev/usartsc16is752.c
  selectEnhancedRegisterSet() nut/dev/usartsc16is752.c
Called by: switchTcrTlrSelect() nut/dev/usartsc16is752.c
References Variables: regselState nut/dev/usartsc16is752.c

Local Function switchTcrTlrSelect()

static uint8_t switchTcrTlrSelect ( uint8_t dev, uint8_t ch, uint8_t flag )
Prototyped in: nut/dev/usartsc16is752.c
Calls: Sc16is752RegRawRead() nut/dev/usartsc16is752.c
  Sc16is752RegRawWrite() nut/dev/usartsc16is752.c
  switchEnhancedFunctions() nut/dev/usartsc16is752.c
Called by: selectRegisterSet() nut/dev/usartsc16is752.c
References Variables: regselState nut/dev/usartsc16is752.c