Impulse 7804e User Manual

Page 16

Advertising
background image

©Sealevel Systems, Inc.
SL9219 - 06/2011

7804e Manual

16

Memory at ed800000 (32-bit, non-prefetchable) [size=128]
I/O ports at a000 [size=128]
I/O ports at 9800 [size=64]

The <IRQ_NUMBER> can easily be extracted from the output of the lspci command. Next to
each device is listed the assigned IRQ. This is one of the two pieces of information we need!

The next piece of information can be extracted from the PCI Regions listed in the lspci
output. Each PCI device is a little different and a certain amount of thinking must be done
to determine which region(s) are mapped to the devices UARTs.

Most Sealevel devices with 4 or less ports use individual PCI regions to map each UART's
8 IO registers. So look for IO regions that have sizes of 8. There should be X number of
size 8 regions (where X is the number of UARTS on the device).

Many newer devices and 16 port devices use one large PCI region to map all of a devices
UARTs IO registers. So look for IO regions that have sizes of the product of the number
of UARTs and 8.

This information is usually contained within the device manual, but sometimes it is not.
If you are unable to determine the correct IO space, please contact Sealevel's Technical
Support for aid.

Once you know which region(s) correspond to which UARTs, you are interested in the
<IO_ADDRESS>. This is a 4-digit hexadecimal number.

Now that all the necessary information has been gathered, it is time to use the setserial
utility to attach a device to the 8250 driver. Each UART must be assigned, one at a time,
using setserial.

# setserial /dev/ttyS# port <IO_ADDRESS> irq <IRQ_NUMBER> baud_base

X

The baud_base parameter is very, very important. Without a value > 0, the setserial
command will fail. The proper baud_base is dependent on the particular piece of
hardware being used. The product manual should be consulted to identifiy the proper
baud_base.

The /dev/ttyS# (where # is an integer) must correspond to an existing device file. If there
aren't enough device files, they can be created with the following command. The <MAJOR>
is determined by the 8250 driver, and the <MINOR> is the next incremental integer. ($ ls -al
/dev/ttyS#-1 to see what they should be)

# mknod /dev/ttyS# c <MAJOR> <MINOR>


This method requires kernel sources (NOT HEADERS). These can usually be obtained
through the distribution's package management system. Alternatively the vanilla kernel
sources can be downloaded from

kernel

.org. Recompiling the Linux kernel goes beyond

the scope of this document, and may be different depending on the distribution used.
Consult the distribution's documentation concerning module building.

Advertising