#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/version.h>
#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/list.h>
#include <linux/ioport.h>
#include <linux/serial.h>
#include <linux/interrupt.h>
#include <linux/string.h>
#include <linux/spinlock.h>
#include <linux/mtd/mtd.h>
#include <linux/crypto.h>
#include <asm/uaccess.h>
#include "axis_hardware.h"
Include dependency graph for serial_io.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | text_to_int |
| element in array that supports integer to string and string to integer lookup More... | |
Defines | |
| #define | ROUTE_TO_RS232 0 |
| #define | ROUTE_TO_TTL 1 |
| #define | ROUTE_TO_CCTALK 2 |
| #define | ROUTE_TO_RS485 3 |
| #define | UART_ENABLE 4 |
| #define | FPGA_UART_1_SHIFT 0 |
| #define | FPGA_UART_2_SHIFT 3 |
| #define | FPGA_UART_3_SHIFT 6 |
| #define | FPGA_UART_4_SHIFT 9 |
| #define | UART1_DEFAULT ((ROUTE_TO_RS232|UART_ENABLE)<<FPGA_UART_1_SHIFT) |
| #define | UART2_DEFAULT ((ROUTE_TO_CCTALK|UART_ENABLE)<<FPGA_UART_2_SHIFT) |
| #define | UART3_DEFAULT ((ROUTE_TO_RS232|UART_ENABLE)<<FPGA_UART_3_SHIFT) |
| #define | UART4_DEFAULT ((ROUTE_TO_RS485|UART_ENABLE)<<FPGA_UART_4_SHIFT) |
| #define | RS232_A_ENABLE_OFFSET 16 |
| #define | TTL_A_ENABLE_OFFSET 18 |
| #define | CCTALK_A_ENABLE_OFFSET 20 |
| #define | RS485_A_ENABLE_OFFSET 22 |
| #define | RS232_B_ENABLE_OFFSET 17 |
| #define | TTL_B_ENABLE_OFFSET 19 |
| #define | CCTALK_B_ENABLE_OFFSET 21 |
| #define | RS485_B_ENABLE_OFFSET 23 |
| #define | UARTA_ENABLE_DEFAULT ((1<<RS232_A_ENABLE_OFFSET)|(0<<TTL_A_ENABLE_OFFSET)|(1<<CCTALK_A_ENABLE_OFFSET)|(0<<RS485_A_ENABLE_OFFSET)) |
| #define | UARTB_ENABLE_DEFAULT ((1<<RS232_B_ENABLE_OFFSET)|(0<<TTL_B_ENABLE_OFFSET)|(0<<CCTALK_B_ENABLE_OFFSET)|(1<<RS485_B_ENABLE_OFFSET)) |
| #define | UART_ROUTING_DEFAULT (UART1_DEFAULT|UART2_DEFAULT|UART3_DEFAULT|UART4_DEFAULT|UARTA_ENABLE_DEFAULT|UARTB_ENABLE_DEFAULT) |
| #define | MAX_VALID_ROUTE_VALUE (ROUTE_TO_RS485) |
| #define | NUMBER_OF_ROUTABLE_UARTS 4 |
| #define | NUMBER_OF_SERIAL_OUTPUTS (sizeof(serial_output_enable_table)/sizeof(serial_output_enable_table[0])) |
| #define | SMART_CARD_RESET (1<<12) |
| #define | SMART_CARD_CLOCK_ENABLE (1<<13) |
Functions | |
| void | create_proc_smart_card_entries (struct axis_pci_device_entry *device) |
| Creates a smart card releated /proc file system. | |
| void | delete_proc_smart_card_entries (struct axis_pci_device_entry *device) |
| removes smart card related entries from axis /proc filesystem | |
| void | create_proc_serial_entries (struct axis_pci_device_entry *device) |
| Create /proc entries assoicated with serial routing. | |
| void | delete_proc_serial_entries (struct axis_pci_device_entry *device) |
| Remove serial routing /proc entries. | |
| void | disable_uarts (struct axis_pci_device_entry *device) |
| Cleanup code for 16550's. | |
| void | enable_uarts (struct axis_pci_device_entry *device) |
| register Axis 16550's with kernel serial module | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create /proc entries assoicated with serial routing.
Called by the PCI probe function creates a directory full of entries to allow queries and reconfiguration of the serial port routing |
Here is the call graph for this function:

|
|
Creates a smart card releated /proc file system.
Creates a smart card releated /proc file system |
Here is the call graph for this function:

|
|
Remove serial routing /proc entries.
Remove all the entries in the /proc file system related to serial routing |
|
|
removes smart card related entries from axis /proc filesystem
removes smart card related entries from axis /proc filesystem |
|
|
Cleanup code for 16550's.
Tell the serial subsystem that we are about to unload so ask it to return control of the 16550's |
Here is the call graph for this function:

|
|
register Axis 16550's with kernel serial module
Enable uart interrupts setup the PCI region (1) map a chip select and then register the uarts with the kernel serial driver |
Here is the call graph for this function:

1.3.6