IrDA configurator for laptops with ALI1533 bridge (LPC47N227 SuperIO), smc-ircc and not initializing BIOS (tested on Toshiba Satellite 1800-514, Toshiba Satellite 5100 and Toshiba Tecra 9100) to be used with Linux kernel.
Toshiba Satellite 1800 laptops are provided with a SMCS LPC47N227 SuperIO chip which is IrDA SIR/FIR capable. The chip is connected through an ALI1533 PCI-ISA bridge. The IrDA subsystem of the SuperIO chip is supported by the smc-ircc Linux kernel module. Unfortunately the BIOS neither configurates the SuperIO chip IrDA subsystem (SIR port, FIR port, dma, irq, IrDA mode, power) nor sets the PCI-ISA bridge to decode any usable port. Linux kernel is thus prevented to detect the second UART making impossible to use it in SIR mode. For the same reason, the FIR mode smc-ircc is able to detect the SuperIO chip but, once found the IrDA subsystem unconfigured, fails to install.
tosh1800-smcinit sets SIR and FIR ioport addresses, DMA and IRQ of the SuperIO chip IrDA subsystem then powers on the second UART. It also configures the PCI-ISA bridge to decode SIR and FIR ports. All this configuration work should be rather done into the kernel but it was more practical and safe to make a small testing tool of it. It can be probably extended to include configuration kludges for other similar SuperIO and ISA bridge combination.
Testing was carried on a Toshiba Satellite 1800-514 with Linux kernel 2.4.17. I hope this work could be helpful, it was quite funny to do it however.
- -a, --skip-decoding-cfg
Skip ISA bridge decoding configuration.
- -b, --skip-smc-ircc-cfg
Skip SMC-IRCC configuration.
- -v, --vendor=VALUE
Look for the specified ISA bridge PCI vendor ID
- -x, --device=VALUE
Look for the specified ISA bridge PCI device ID
- -c, --cfgbase=VALUE
Set SMC-IRCC IO cfgbase address. Usual value can be 0x2e.
- -s, --sirbase=VALUE
Set SMC-IRCC IO sirbase address. Usual value can be 0x2e8.
- -f, --firbase=VALUE
Set SMC-IRCC IO firbase address. Usual value can be 0x2f8.
- -m, --dma=VALUE
Set SMC-IRCC DMA channel. Usual value can be 3.
- -i, --irq=VALUE
Set SMC-IRCC IRQ. Usual value can be 7.
- -p, --print
Print ISA bridge configuration.
- -V, --version
Show program version.
- -h, --help
Show program options.
This program was made by Daniele Peri <firstname.lastname@example.org>
SMSC for the downloadable datasheets
Paul Hampson for its Linux IrDA mailing list messages.
Manual page written by Claudiu Costin <email@example.com>. Documentation based on original README by Daniele Peri.
http://lancelot.csai.unipa.it/~peri/ Daniele Peri's home page,
http://irda.sourceforge.net/smcinit/ the SMCINIT package home page.