Included support for directly mapped SJA1000 into PCI mem region 0.
authorPavel Pisa <pisa@cmp.felk.cvut.cz>
Sun, 15 Sep 2013 19:03:17 +0000 (21:03 +0200)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Sun, 15 Sep 2013 19:03:17 +0000 (21:03 +0200)
SJA1000 mapped into memory BAR0 is used by experimental
SJA1000 CAN controller emulator for QEMU implemented
by Jin Yang in the frame of GSoC 2013 slot for RTEMS
CAN related work. The RTEMS maintainers identified
lack of broad available test environment as main
problem and decided to denote one RTEMS GSoC 2013
to be for QEMU enhancement.

More information about QEMU setup with CAN for Linux
host system and Linux and RTEMS quest systems can
be found on RTEMS Wiki

  http://wiki.rtems.org/wiki/index.php/Qemu_simulations

Experimental version of QEMU 1.4.2 with SJA1000 hardware
emulation is available from Jin Yang's GitHub project

  https://github.com/Jin-Yang/QEMU-1.4.2

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
lincan/README
lincan/src/Makefile.omk
lincan/src/Makefile.std
lincan/src/boardlist.c

index 2933e39..dcb7b94 100644 (file)
@@ -250,6 +250,7 @@ The hw argument can be one of:
 - gensja1000io for many sja1000 I/O mapped cards (PCAN-PC/104 for example).
 - gensja1000mm for ISA memory mapped sja1000 CAN cards
   (for pikronisa card used by PiKRON Ltd. the clockfreq=24000 has to be specified)
+- pcisja1000mm for SJA1000 directly mapped into PCI mem region 0
 - pimx1 for MX1_DIS1 extension board for PiMX1 ARM based BCC
 - msmcan for MICROSPACE IO space indexed i82527
 - unican for Unicontrols PCAN card
index 155dee4..6bc651a 100644 (file)
@@ -1,5 +1,5 @@
 lincan_cards_NAMES = pip pccan smartcan nsi cc_can104 ems_cpcpci \
-               pc_i03 pcm3680 aim104 m437 pcccan ssv bfadcan gensja1000io gensja1000mm eb8245 \
+               pc_i03 pcm3680 aim104 m437 pcccan ssv bfadcan gensja1000io gensja1000mm pcisja1000mm eb8245 \
                kv_pcican msmcan oscar adlink7841 pcan_pci esdpci200 unican virtual template
 
 lincan_morecards_NAMES = esdpci266 hms30c7202_can ns_dev_can ipci165 pimx1 tscan1 ts7kv nsi_canpci sh7760 mpc5200
index 49c4956..900cf91 100644 (file)
@@ -63,7 +63,8 @@ endif
 
 SUPPORTED_CARDS = pip pccan smartcan nsi cc_can104 \
                  pc_i03 pcm3680 aim104 m437 pcccan ssv \
-                 bfadcan gensja1000mm gensja1000io kv_pcican msmcan virtual template \
+                 bfadcan gensja1000mm gensja1000io pcisja1000mm \
+                 kv_pcican msmcan virtual template \
                  unican unican_cl2 ems_cpcpci adlink7841 oscar \
                  pcan_pci esdpci200
 #                hms30c7202_can c_can c_can_irq tscan1
index 7623ea3..8cc67a0 100644 (file)
@@ -57,6 +57,7 @@ extern int ssv_register(struct hwspecops_t *hwspecops);
 extern int bfadcan_register(struct hwspecops_t *hwspecops);
 extern int gensja1000mm_register(struct hwspecops_t *hwspecops);
 extern int gensja1000io_register(struct hwspecops_t *hwspecops);
+extern int pcisja1000mm_register(struct hwspecops_t *hwspecops);
 extern int pimx1_register(struct hwspecops_t *hwspecops);
 extern int msmcan_register(struct hwspecops_t *hwspecops);
 extern int unican_register(struct hwspecops_t *hwspecops);
@@ -146,6 +147,9 @@ const struct boardtype_t can_boardtypes[]={
     #ifdef CONFIG_OC_LINCAN_CARD_gensja1000io
        {"gensja1000io", gensja1000io_register, 1},
     #endif
+    #ifdef CONFIG_OC_LINCAN_CARD_pcisja1000mm
+       {"pcisja1000mm", pcisja1000mm_register, 0},
+    #endif
     #ifdef CONFIG_OC_LINCAN_CARD_pimx1
        {"pimx1", pimx1_register, 0},
     #endif