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.
ppisa [Tue, 17 Feb 2004 23:37:21 +0000 (23:37 +0000)]
Small changes to fix GCC-2.95.3 compilation and strict headers separation.
The GCC option -nostdinc is used to ensure that default user-space includes
are not mistakenly read by RT-Linux or Linux kernel targets compilation.
The standard headers as "string.h" are allowed by addition of
$(LINUX_DIR)/include/linux path.
ppisa [Fri, 23 Jan 2004 04:18:30 +0000 (04:18 +0000)]
Added missing indication CAN_ENDSF_MEM_RTL for RTL pool malloc.
This fixes serious bug in RTL LinCAN mode.
Some more small updates added.
The call canque_notify_bothends(edge,CANQUEUE_NOTIFY_NOUSR)
invoked without locks hold now.
ppisa [Fri, 23 Jan 2004 04:10:51 +0000 (04:10 +0000)]
Added missing indication CAN_ENDSF_MEM_RTL for RTL pool malloc.
This fixes serious bug in RTL LinCAN mode.
Some more small updates added.
The call canque_notify_bothends(edge,CANQUEUE_NOTIFY_NOUSR)
invoked without locks hold now.
ppisa [Sun, 18 Jan 2004 22:40:32 +0000 (22:40 +0000)]
Rearranged setup to better support cards with irq count differing from chip count.
Checked compilation with 2.2.19 kernel. Functionality with 2.2.x not checked.
ppisa [Sun, 4 Jan 2004 15:53:14 +0000 (15:53 +0000)]
Added RT-Linux version of sendburst and readburst utilities.
It worked on the first try with previously committed LinCAN RTL changes :-).
Corrected one forgotten line in ioctl_rtl.c => filters work from RT-linux
same way as from Linux user-space applications.
ppisa [Sun, 4 Jan 2004 00:09:32 +0000 (00:09 +0000)]
Added full RT-Linux POSIX interface to LinCAN driver, needs preparation of RT tests.
Linux-only and RT-Linux chip thread based version passed Linux users-pace
tests on PCM3680 and PiKRON ISA cards.
Fundamental design flaws found in rtl_posixio.c concerning concurrent open
and/or close processing. There is even bug if open fails reaction.
The fiels private_data should be added to structure rtl_file.