~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to drivers/staging/tty/ip2/ip2.h

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*******************************************************************************
 
2
*
 
3
*   (c) 1998 by Computone Corporation
 
4
*
 
5
********************************************************************************
 
6
*
 
7
*
 
8
*   PACKAGE:     Linux tty Device Driver for IntelliPort II family of multiport
 
9
*                serial I/O controllers.
 
10
*
 
11
*   DESCRIPTION: Driver constants for configuration and tuning
 
12
*
 
13
*   NOTES:
 
14
*
 
15
*******************************************************************************/
 
16
#ifndef IP2_H
 
17
#define IP2_H
 
18
 
 
19
#include "ip2types.h"
 
20
#include "i2cmd.h"
 
21
 
 
22
/*************/
 
23
/* Constants */
 
24
/*************/
 
25
 
 
26
/* Device major numbers - since version 2.0.26. */
 
27
#define IP2_TTY_MAJOR      71
 
28
#define IP2_CALLOUT_MAJOR  72
 
29
#define IP2_IPL_MAJOR      73
 
30
 
 
31
/* Board configuration array.
 
32
 * This array defines the hardware irq and address for up to IP2_MAX_BOARDS
 
33
 * (4 supported per ip2_types.h) ISA board addresses and irqs MUST be specified,
 
34
 * PCI and EISA boards are probed for and automagicly configed
 
35
 * iff the addresses are set to 1 and 2 respectivily.
 
36
 *    0x0100 - 0x03f0 == ISA
 
37
 *               1        == PCI
 
38
 *               2        == EISA
 
39
 *               0        == (skip this board)
 
40
 * This array defines the hardware addresses for them. Special 
 
41
 * addresses are EISA and PCI which go sniffing for boards. 
 
42
 
 
43
 * In a multiboard system the position in the array determines which port
 
44
 * devices are assigned to each board: 
 
45
 *              board 0 is assigned ttyF0.. to ttyF63, 
 
46
 *              board 1 is assigned ttyF64  to ttyF127,
 
47
 *              board 2 is assigned ttyF128 to ttyF191,
 
48
 *              board 3 is assigned ttyF192 to ttyF255. 
 
49
 *
 
50
 * In PCI and EISA bus systems each range is mapped to card in 
 
51
 * monotonically increasing slot number order, ISA position is as specified
 
52
 * here.
 
53
 
 
54
 * If the irqs are ALL set to 0,0,0,0 all boards operate in 
 
55
 * polled mode. For interrupt operation ISA boards require that the IRQ be 
 
56
 * specified, while PCI and EISA boards any nonzero entry 
 
57
 * will enable interrupts using the BIOS configured irq for the board. 
 
58
 * An invalid irq entry will default to polled mode for that card and print
 
59
 * console warning.
 
60
 
 
61
 * When the driver is loaded as a module these setting can be overridden on the 
 
62
 * modprobe command line or on an option line in /etc/modprobe.conf.
 
63
 * If the driver is built-in the configuration must be 
 
64
 * set here for ISA cards and address set to 1 and 2 for PCI and EISA.
 
65
 *
 
66
 * Here is an example that shows most if not all possibe combinations:
 
67
 
 
68
 *static ip2config_t ip2config =
 
69
 *{
 
70
 *      {11,1,0,0},             // irqs
 
71
 *      {                               // Addresses
 
72
 *              0x0308,         // Board 0, ttyF0   - ttyF63// ISA card at io=0x308, irq=11
 
73
 *              0x0001,         // Board 1, ttyF64  - ttyF127//PCI card configured by BIOS
 
74
 *              0x0000,         // Board 2, ttyF128 - ttyF191// Slot skipped
 
75
 *              0x0002          // Board 3, ttyF192 - ttyF255//EISA card configured by BIOS
 
76
 *                                                                                               // but polled not irq driven
 
77
 *      }
 
78
 *};
 
79
 */
 
80
 
 
81
 /* this structure is zeroed out because the suggested method is to configure
 
82
  * the driver as a module, set up the parameters with an options line in
 
83
  * /etc/modprobe.conf and load with modprobe or kmod, the kernel
 
84
  * module loader
 
85
  */
 
86
 
 
87
 /* This structure is NOW always initialized when the driver is initialized.
 
88
  * Compiled in defaults MUST be added to the io and irq arrays in
 
89
  * ip2.c.  Those values are configurable from insmod parameters in the
 
90
  * case of modules or from command line parameters (ip2=io,irq) when
 
91
  * compiled in.
 
92
  */
 
93
 
 
94
static ip2config_t ip2config =
 
95
{
 
96
        {0,0,0,0},              // irqs
 
97
        {                               // Addresses
 
98
        /* Do NOT set compile time defaults HERE!  Use the arrays in
 
99
                ip2.c!  These WILL be overwritten!  =mhw= */
 
100
                0x0000,         // Board 0, ttyF0   - ttyF63
 
101
                0x0000,         // Board 1, ttyF64  - ttyF127
 
102
                0x0000,         // Board 2, ttyF128 - ttyF191
 
103
                0x0000          // Board 3, ttyF192 - ttyF255
 
104
        }
 
105
};
 
106
 
 
107
#endif