summaryrefslogtreecommitdiffstats
path: root/cpukit/dev/include/dev/serial/sc16is752.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/dev/include/dev/serial/sc16is752.h')
-rw-r--r--cpukit/dev/include/dev/serial/sc16is752.h262
1 files changed, 0 insertions, 262 deletions
diff --git a/cpukit/dev/include/dev/serial/sc16is752.h b/cpukit/dev/include/dev/serial/sc16is752.h
deleted file mode 100644
index 7e5b47aaa2..0000000000
--- a/cpukit/dev/include/dev/serial/sc16is752.h
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <info@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _DEV_SERIAL_SC16IS752_H
-#define _DEV_SERIAL_SC16IS752_H
-
-#include <sys/ioccom.h>
-
-#include <rtems/termiostypes.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup SC16IS752 SC16IS752 Serial Device Driver
- *
- * @ingroup TermiostypesSupport
- */
-
-typedef enum {
- SC16IS752_MODE_RS232,
- SC16IS752_MODE_RS485
-} sc16is752_mode;
-
-typedef struct sc16is752_context sc16is752_context;
-
-/**
- * @brief SC16IS752 device context.
- */
-struct sc16is752_context {
- rtems_termios_device_context base;
-
- /**
- * @brief Writes a register.
- *
- * Internal handler.
- */
- int (*write_reg)(
- sc16is752_context *ctx,
- uint8_t addr,
- const uint8_t *data,
- size_t len
- );
-
- /**
- * @brief Reads a register.
- *
- * Internal handler.
- */
- int (*read_reg)(
- sc16is752_context *ctx,
- uint8_t addr,
- uint8_t *data,
- size_t len
- );
-
- /**
- * @brief Reads two registers.
- *
- * Internal handler.
- */
- int (*read_2_reg)(
- sc16is752_context *ctx,
- uint8_t addr_0,
- uint8_t addr_1,
- uint8_t data[2]
- );
-
- /**
- * @brief First open.
- *
- * Internal handler.
- */
- bool (*first_open)(sc16is752_context *ctx);
-
- /**
- * @brief Last close.
- *
- * Internal handler.
- */
- void (*last_close)(sc16is752_context *ctx);
-
- /**
- * @brief Shall install the interrupt handler.
- *
- * Must be initialized by the user before the device creation.
- */
- bool (*install_irq)(sc16is752_context *ctx);
-
- /**
- * @brief Shall remove the interrupt handler.
- *
- * Must be initialized by the user before the device creation.
- */
- void (*remove_irq)(sc16is752_context *ctx);
-
- /**
- * @brief Device mode.
- *
- * Must be initialized by the user before the device creation.
- */
- sc16is752_mode mode;
-
- /**
- * @brief Input frequency in Hertz (dependent on crystal, see XTAL1 and XTAL2
- * pins).
- *
- * Must be initialized by the user before the device creation.
- */
- uint32_t input_frequency;
-
- /**
- * @brief Corresponding Termios structure.
- *
- * Internal variable.
- */
- rtems_termios_tty *tty;
-
- /**
- * @brief Shadow Interrupt Enable Register (IER).
- *
- * Internal variable.
- */
- uint8_t ier;
-
- /**
- * @brief Characters placed into transmit FIFO.
- *
- * Internal variable.
- */
- uint8_t tx_in_progress;
-
- /**
- * @brief Count of free characters in the transmit FIFO.
- *
- * Internal variable.
- */
- uint8_t tx_fifo_free;
-
- /**
- * @brief Shadow Line Control Register (LCR).
- *
- * Internal variable.
- */
- uint8_t lcr;
-
- /**
- * @brief Shadow Extra Features Control Register (EFCR).
- *
- * Internal variable.
- */
- uint8_t efcr;
-};
-
-/**
- * @brief SC16IS752 SPI context.
- */
-typedef struct {
- sc16is752_context base;
-
- /**
- * @brief The SPI bus device file descriptor.
- *
- * Internal variable.
- */
- int fd;
-
- /**
- * @brief The SPI device chip select.
- *
- * Must be initialized by the user before the call to sc16is752_spi_create().
- */
- uint8_t cs;
-
- /**
- * @brief The SPI bus speed in Hertz.
- *
- * Must be initialized by the user before the call to sc16is752_spi_create().
- */
- uint32_t speed_hz;
-
- /**
- * @brief The SPI bus device path.
- *
- * Must be initialized by the user before the call to sc16is752_spi_create().
- */
- const char *spi_path;
-} sc16is752_spi_context;
-
-/**
- * @brief SC16IS752 I2C context.
- */
-typedef struct {
- sc16is752_context base;
-
- /**
- * @brief The I2C bus device file descriptor.
- *
- * Internal variable.
- */
- int fd;
-
- /**
- * @brief The I2C bus device path.
- *
- * Must be initialized before the call to sc16is752_i2c_create().
- */
- const char *bus_path;
-} sc16is752_i2c_context;
-
-const rtems_termios_device_handler sc16is752_termios_handler;
-
-/**
- * @brief The interrupt handler for receive and transmit operations.
- *
- * @param[in] arg The device context.
- */
-void sc16is752_interrupt_handler(void *arg);
-
-/**
- * @brief Creates an SPI connected SC16IS752 device.
- *
- * @param[in] ctx The SPI SC16IS752 device context.
- * @param[in] device_path The device file path for the new device.
- *
- * @retval RTEMS_SUCCESSFUL Successful operation.
- * @retval other See rtems_termios_device_install().
- */
-rtems_status_code sc16is752_spi_create(
- sc16is752_spi_context *ctx,
- const char *device_path
-);
-
-/**
- * @brief Enables the sleep mode if non-zero, otherwise disables it.
- *
- * The sleep mode is disabled by default.
- */
-#define SC16IS752_SET_SLEEP_MODE _IOW('d', 0, int)
-
-/**
- * @brief Returns non-zero in case the sleep mode is enabled, otherwise zero.
- */
-#define SC16IS752_GET_SLEEP_MODE _IOR('d', 0, int)
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _DEV_SERIAL_SC16IS752_H */