RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Data Fields
sc16is752_context Struct Reference

SC16IS752 device context. More...

#include <sc16is752.h>

Data Fields

rtems_termios_device_context base
 
int(* write_reg )(sc16is752_context *ctx, uint8_t addr, const uint8_t *data, size_t len)
 Writes a register.
 
int(* read_reg )(sc16is752_context *ctx, uint8_t addr, uint8_t *data, size_t len)
 Reads a register.
 
int(* read_2_reg )(sc16is752_context *ctx, uint8_t addr_0, uint8_t addr_1, uint8_t data[2])
 Reads two registers.
 
bool(* first_open )(sc16is752_context *ctx)
 First open.
 
void(* last_close )(sc16is752_context *ctx)
 Last close.
 
bool(* install_irq )(sc16is752_context *ctx)
 Shall install the interrupt handler.
 
void(* remove_irq )(sc16is752_context *ctx)
 Shall remove the interrupt handler.
 
sc16is752_mode mode
 Device mode.
 
uint32_t input_frequency
 Input frequency in Hertz (dependent on crystal, see XTAL1 and XTAL2 pins).
 
rtems_termios_ttytty
 Corresponding Termios structure.
 
uint8_t ier
 Shadow Interrupt Enable Register (IER).
 
uint8_t tx_in_progress
 Characters placed into transmit FIFO.
 
uint8_t tx_fifo_free
 Count of free characters in the transmit FIFO.
 
uint8_t lcr
 Shadow Line Control Register (LCR).
 
uint8_t efcr
 Shadow Extra Features Control Register (EFCR).
 

Detailed Description

SC16IS752 device context.

Field Documentation

◆ efcr

uint8_t sc16is752_context::efcr

Shadow Extra Features Control Register (EFCR).

Internal variable.

◆ first_open

bool(* sc16is752_context::first_open) (sc16is752_context *ctx)

First open.

Internal handler.

◆ ier

uint8_t sc16is752_context::ier

Shadow Interrupt Enable Register (IER).

Internal variable.

◆ input_frequency

uint32_t sc16is752_context::input_frequency

Input frequency in Hertz (dependent on crystal, see XTAL1 and XTAL2 pins).

Must be initialized by the user before the device creation.

◆ install_irq

bool(* sc16is752_context::install_irq) (sc16is752_context *ctx)

Shall install the interrupt handler.

Must be initialized by the user before the device creation.

◆ last_close

void(* sc16is752_context::last_close) (sc16is752_context *ctx)

Last close.

Internal handler.

◆ lcr

uint8_t sc16is752_context::lcr

Shadow Line Control Register (LCR).

Internal variable.

◆ mode

sc16is752_mode sc16is752_context::mode

Device mode.

Must be initialized by the user before the device creation.

◆ read_2_reg

int(* sc16is752_context::read_2_reg) (sc16is752_context *ctx, uint8_t addr_0, uint8_t addr_1, uint8_t data[2])

Reads two registers.

Internal handler.

◆ read_reg

int(* sc16is752_context::read_reg) (sc16is752_context *ctx, uint8_t addr, uint8_t *data, size_t len)

Reads a register.

Internal handler.

◆ remove_irq

void(* sc16is752_context::remove_irq) (sc16is752_context *ctx)

Shall remove the interrupt handler.

Must be initialized by the user before the device creation.

◆ tty

rtems_termios_tty* sc16is752_context::tty

Corresponding Termios structure.

Internal variable.

◆ tx_fifo_free

uint8_t sc16is752_context::tx_fifo_free

Count of free characters in the transmit FIFO.

Internal variable.

◆ tx_in_progress

uint8_t sc16is752_context::tx_in_progress

Characters placed into transmit FIFO.

Internal variable.

◆ write_reg

int(* sc16is752_context::write_reg) (sc16is752_context *ctx, uint8_t addr, const uint8_t *data, size_t len)

Writes a register.

Internal handler.


The documentation for this struct was generated from the following file: