ppisa [Thu, 3 Feb 2005 16:18:55 +0000 (16:18 +0000)]
Changes, which should enable to handle more VME Unican cards under RT-Linux.
Solution is not fully clean and it is not consistent with RT-Linux
way to handle regular ISA and PCI interrupts. The deeper analysis is
required, how to use this approach with regular Linux. May it be, that Linux 2.6.x
with latest IRQ threads and mutexes instead of spin-lock patches from Ingo
Molnar could profit from this in future too.
ppisa [Thu, 3 Feb 2005 15:38:46 +0000 (15:38 +0000)]
Added CAN chip specific irq_accept routine for fast interrupt acknowledge.
Required to prepare space for solution of problem with multiple VME Unican
cards used with RT-Linux enabled LinCAN driver.
ppisa [Fri, 21 Jan 2005 23:41:05 +0000 (23:41 +0000)]
Changed baudrate calculation to consider DSC selection.
This affects only PIPx cards, because only these use
crystal <10MHz (8 MHz in the case) and i82527 chip.
ppisa [Thu, 25 Nov 2004 21:45:00 +0000 (21:45 +0000)]
Separated normal read and RTR assisted read transfer.
I have that long time on in my mind. RTR based transfer
in in its own IOCTL, where it belongs. This simplified
normal read and made ABI more POSIX compliant.
RTR code should be rewritten to be really functional.
We are starting new development period now.
ppisa [Thu, 11 Nov 2004 18:21:49 +0000 (19:21 +0100)]
Added script to build LinCAN project independent of OCERA tree.
The code represented in this repository is in directory is based
on the LinCAN (ocera/components/comm/can/lincan directory) component
from OCERA (IST-2001 35102) project. Original project documentation
can be found there
http://www.ocera.org/download/components/WP7/index.html
http://sourceforge.net/projects/ocera/
http://ocera.cvs.sourceforge.net/ocera/ocera/components/comm/can/
Can related components CVS repository can be accessed by
cvs -d:pserver:anonymous@ocera.cvs.sourceforge.net:/cvsroot/ocera login
cvs -z3 -d:pserver:anonymous@ocera.cvs.sourceforge.net:/cvsroot/ocera co ocera/components/comm/can
The original code depend on OCERA make system. The minimal set of OMK <http://rtime.felk.cvut.cz/omk/>
rules has been introduced in the previous changeset to make this project independent
of full OCERA repository.
The scrip "build-lincan.sh" prepares "lincan-build/native" directory and links
OMK rules and unmodified LinCAN directory there. Then it builds native version
of the driver for current running kernel. Resulting driver can be found
in directory
lincan-build/native/_compiled/modules
Utilities binaries are located in directories listed bellow
lincan-build/native/_compiled/bin
lincan-build/native/_compiled/bin-utils
ppisa [Thu, 11 Nov 2004 18:20:35 +0000 (19:20 +0100)]
Introduced basic set of OMK rules for Linux userspace and modules build.
The OMK makesystem has been designed in frame of OCERA project
and its development continues at Czech Technical University, FEE, DCE <http://dce.felk.cvut.cz>.
The OMK project homepage and documentation location <http://rtime.felk.cvut.cz/omk/>
Changed SJA1000 chip IRQ handling to loop until all requests are served
This is not proven to be required for Linux kernel,
but it can be possible source of problems for ISA based cards
under RT-Linux.
Added support for oscar CAN interface.
It is SJA1000 based card connected to ARM LH7A400 SoC.
Support contributed by Michael Moedt xemc _AT_ yahoo _DOT_ com
Committed Fanda Vacek work on major upgrade of CANopen framework
CanMonitor updated and communication protocol changed
to binary version. Automatic serialization and deserialization
code generation added.
CAN monitor daemon updated to support new binary protocol as well.
Enhanced CANopen device to connect with hardware through
hardware supporting shared libraries. Mapping is done
according to HDS (Handle Description) files.
EMS CPC-PCI fix correcting poorly undocumented PITA2 IRQ behavior.
This workaround compiles only for 2.6.x kernels now and correct
fix compatible with 2.4 requires driver wide changes.
That is why CPC-PCI is not enabled by default.
CPC-PCI second chip IRQ corrected. Message timestamp code added.
The timestamp code has some time overhead. If it is problem,
it can be disabled in the main.h file.
Some problems fixup in RTR read mode in read system-call.
This mode is there for compatibility reasons with old driver
version and should be moved to its own IOCTL.
ppisa [Thu, 24 Jun 2004 13:10:44 +0000 (13:10 +0000)]
Correction of spinlock acquire order.
BUGFIX of possible deadlock on real SMP systems in the
canqueue functions. Significantly faster implementation
of canque_edge_decref() implemented for systems
defining CAN_HAVE_ARCH_CMPXCHG.
ppisa [Thu, 17 Jun 2004 17:28:24 +0000 (17:28 +0000)]
Changed filling of the chip specific operations.
This enables simpler fine tuning for specific boards
which needs modified functions.
ENS CPC-PCI requires special interrupt handling for example.
ppisa [Sun, 6 Jun 2004 10:17:11 +0000 (10:17 +0000)]
Changed data size from byte to unsigned for write_register indirect call
This is required for the support of the cards connected to the wider
bus architecture. This should not have negative impact, because
char has been propagated to int by C call convention anyway.
The global inline canobj_write_reg function has been left intact
(byte only), because it could better optimize for static call case.
Added support for Unicontrols PCAN cards series and baudrate setting.
PCAN support has been tested on PCAN104 card for Linux only
and Linux/RT-Linux driver compilation mode. There are many
unimplemented features still.
ppisa [Thu, 18 Mar 2004 02:26:42 +0000 (02:26 +0000)]
Corrected typo in Kconfig (OC_LINCAN_CARD_bfad -> OC_LINCAN_CARD_bfadcan)
and leaved out LinCAN sources "can_quertl.c" and "can_devrtl.c"
from standard Linux compilation mode without RT-Linux support.
ppisa [Wed, 3 Mar 2004 00:37:25 +0000 (00:37 +0000)]
Added individual Kconfig for CAN and ORTE components.
Work is based on the proposal and initial version done by Pierre.
The option names has been preserved from the previous Kconfig version.
This means, that compilation should work correctly with actual Kconfig
and with new one after upper level Kconfig changes.
IRQ manipulation changed to spin-locks for rest of boards
to support better RT-Linux.
ppisa [Sat, 21 Feb 2004 21:23:47 +0000 (21:23 +0000)]
Change to CAN_MSG_VERSION_2 and elimination of linux/*.h headers from user space apps.
Layout of canmsg_t changed to CAN_MSG_VERSION_2, which is compatible
with PORT GmbH <http://www.port.de/> can4linux-3.1 implementation.
The driver and utilities can be compiled with old version,
if definition of CAN_MSG_VERSION_2 is commented out in
lincan/include/canmsg.h and canvca/libvca/canmsg.h headers.
The change from __u8 .. __u32 types to standard compliant u_int8_t .. u_int32_t
types has been required to eliminate linux/*.h files. This can make
problems to ancient Linux distributions and some workaround could
be necessary.
ppisa [Fri, 20 Feb 2004 03:48:58 +0000 (03:48 +0000)]
OMK makefiles updated to support OCERA Qconf tool.
The new rule (default-config) added to generate
"config.omk-default" file. This file can be used as is
or can be edited and saved into "config.omk" file.
If "config.omk" exists, it is preferred over "config.omk-default"
file.