* Rewritten for new CAN queues by Pavel Pisa - OCERA team member
* email:pisa@cmp.felk.cvut.cz
* This software is released under the GPL-License.
- * Version lincan-0.2 9 Jul 2003
+ * Version lincan-0.3 17 Jun 2004
*/
#define __NO_VERSION__
{
int i=0;
u16 flags;
- DEBUGMSG("(c%d)calling c_can_enable_configuration(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_enable_configuration(...)\n", pchip->chip_idx);
/*
DEBUGMSG("Trying disable_irq(...) : ");
//disable IRQ
int i=0;
u16 flags;
- DEBUGMSG("(c%d)calling c_can_disable_configuration(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_disable_configuration(...)\n", pchip->chip_idx);
//read Control Register
flags=c_can_read_reg_w(pchip, CCCR);
int c_can_chip_config(struct chip_t *pchip)
{
- DEBUGMSG("(c%d)calling c_can_chip_config(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_chip_config(...)\n", pchip->chip_idx);
// Validate pointer
if ( NULL == pchip ) return -1;
unsigned short tempCR = 0;
- DEBUGMSG("(c%d)calling c_can_baud_rate(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_baud_rate(...)\n", pchip->chip_idx);
if (c_can_enable_configuration(pchip))
return -ENODEV;
unsigned short readMaskCM;
unsigned short writeMaskCM;
- DEBUGMSG("(c%dm%d)calling c_can_mask(...)\n", pmsgobj->hostchip->chip_nr, pmsgobj->object);
+ DEBUGMSG("(c%dm%d)calling c_can_mask(...)\n", pmsgobj->hostchip->chip_idx, pmsgobj->object);
readMaskCM = IFXCM_CNTRL | IFXCM_ARB | IFXCM_MASK;
writeMaskCM = IFXCM_CNTRL | IFXCM_ARB | IFXCM_MASK | IFXCM_WRRD;
char *boolstring = "false";
if (useflag) boolstring = "true";
#endif
- DEBUGMSG("(c%dm%d)calling c_can_use_mask(...)\n", pmsgobj->hostchip->chip_nr, pmsgobj->object);
+ DEBUGMSG("(c%dm%d)calling c_can_use_mask(...)\n", pmsgobj->hostchip->chip_idx, pmsgobj->object);
readMaskCM = IFXCM_CNTRL | IFXCM_ARB;
writeMaskCM = IFXCM_CNTRL | IFXCM_ARB | IFXCM_WRRD;;
unsigned short maskCM = IFXCM_ARB;
- DEBUGMSG("(c%d)calling c_can_clear_objects(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_clear_objects(...)\n", pchip->chip_idx);
spin_lock( &c_can_if1lock );
spin_lock( &c_can_if2lock );
{
u16 tempreg;
- DEBUGMSG("(c%d)calling c_can_config_irqs(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_config_irqs(...)\n", pchip->chip_idx);
/*
CANMSG("c_can_config_irqs not implemented\n");
unsigned short mcreg = 0;
u32 id=pmsgobj->rx_preconfig_id;
- DEBUGMSG("(c%dm%d)calling c_can_pre_read_config(...)\n", pmsgobj->hostchip->chip_nr, pmsgobj->object);
+ DEBUGMSG("(c%dm%d)calling c_can_pre_read_config(...)\n", pmsgobj->hostchip->chip_idx, pmsgobj->object);
spin_lock( &c_can_if1lock );
unsigned short dataB1 = 0;
unsigned short dataB2 = 0;
- DEBUGMSG("(c%dm%d)calling c_can_send_msg(...)\n", pmsgobj->hostchip->chip_nr, pmsgobj->object);
+ DEBUGMSG("(c%dm%d)calling c_can_send_msg(...)\n", pmsgobj->hostchip->chip_idx, pmsgobj->object);
spin_lock( &c_can_if2lock );
//unsigned short writeMaskCM = IFXCM_CNTRL | IFXCM_ARB | IFXCM_WRRD;
unsigned short mcreg = 0;
- DEBUGMSG("(c%dm%d)calling c_can_remote_request(...)\n", pmsgobj->hostchip->chip_nr, pmsgobj->object);
+ DEBUGMSG("(c%dm%d)calling c_can_remote_request(...)\n", pmsgobj->hostchip->chip_idx, pmsgobj->object);
//Remote request is only available when the message object is in receiving mode
if (!can_msgobj_test_fl(pmsgobj,RX_MODE))
{
unsigned short tempCR = 0;
- DEBUGMSG("(c%d)calling c_can_set_btregs(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_set_btregs(...)\n", pchip->chip_idx);
// Validate pointer
if ( NULL == pchip ) return -1;
{
u16 flags = 0;
- DEBUGMSG("(c%d)calling c_can_start_chip(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_start_chip(...)\n", pchip->chip_idx);
// Validate pointer
if ( NULL == pchip )
{
u16 flags = 0;
- DEBUGMSG("(c%d)calling c_can_stop_chip(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_stop_chip(...)\n", pchip->chip_idx);
// Validate pointer
if ( NULL == pchip )
{
unsigned long tempstat = 0;
- DEBUGMSG("(c%d)calling c_can_check_tx_stat(...)\n", pchip->chip_nr);
+ DEBUGMSG("(c%d)calling c_can_check_tx_stat(...)\n", pchip->chip_idx);
// Validate pointer
if ( NULL == pchip ) return -1;
return 0;
}
-/*int c_can_register(struct chip_t *pchip)
+int c_can_fill_chipspecops(struct chip_t *chip)
{
- DEBUGMSG("(c%d)call c_can_register\n", pchip->chip_nr);
-
- // Validate pointer
- if ( NULL == pchip ) return -1;
-
- pchip->chip_config = c_can_chip_config;
- pchip->set_baud_rate = c_can_baud_rate;
- pchip->set_mask = c_can_mask;
- pchip->set_use_mask = c_can_use_mask;
- //pchip->set_message15_mask = c_can_extended_mask;
- pchip->clear_objects = c_can_clear_objects;
- pchip->config_irqs = c_can_config_irqs;
- pchip->pre_read_config = c_can_pre_read_config;
- //pchip->pre_write_config = c_can_pre_write_config;
- pchip->send_msg = c_can_send_msg;
- pchip->check_tx_stat = c_can_check_tx_stat;
- pchip->remote_request = c_can_remote_request;
- pchip->enable_configuration = c_can_enable_configuration;
- pchip->disable_configuration = c_can_disable_configuration;
- pchip->set_btregs = c_can_set_btregs;
- pchip->start_chip = c_can_start_chip;
- pchip->stop_chip = c_can_stop_chip;
- pchip->register_dump = c_can_registerdump;
-
- DEBUGMSG("-> ok\n");
- return 0;
+ chip->chip_type="c_can";
+ chip->max_objects = 32;
+ c_can_register(chip->chipspecops);
+ return 0;
}
-*/