X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/4cf24de229090b1ab6279570a564d224e13dd706..7209282221428b9af9551b40ecd545495716463e:/lincan/include/i82527.h diff --git a/lincan/include/i82527.h b/lincan/include/i82527.h index 14df44e..1747396 100644 --- a/lincan/include/i82527.h +++ b/lincan/include/i82527.h @@ -1,34 +1,41 @@ /* i82527.h * Header file for the Linux CAN-bus driver. * Written by Arnaud Westenberg email:arnaud@wanadoo.nl + * 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 0.7 6 Aug 2001 + * Version lincan-0.3 17 Jun 2004 */ -int i82527_enable_configuration(struct chip_t *chip); -int i82527_disable_configuration(struct chip_t *chip); -int i82527_chip_config(struct chip_t *chip); -int i82527_baud_rate(struct chip_t *chip, int rate, int clock, int sjw, +int i82527_enable_configuration(struct canchip_t *chip); +int i82527_disable_configuration(struct canchip_t *chip); +int i82527_chip_config(struct canchip_t *chip); +int i82527_baud_rate(struct canchip_t *chip, int rate, int clock, int sjw, int sampl_pt, int flags); -int i82527_standard_mask(struct chip_t *chip, unsigned short code, +int i82527_standard_mask(struct canchip_t *chip, unsigned short code, unsigned short mask); -int i82527_extended_mask(struct chip_t *chip, unsigned long code, +int i82527_extended_mask(struct canchip_t *chip, unsigned long code, unsigned long mask); -int i82527_message15_mask(struct chip_t *chip, unsigned long code, +int i82527_message15_mask(struct canchip_t *chip, unsigned long code, unsigned long mask); -int i82527_clear_objects(struct chip_t *chip); -int i82527_config_irqs(struct chip_t *chip, short irqs); -int i82527_pre_read_config(struct chip_t *chip, struct msgobj_t *obj); -int i82527_pre_write_config(struct chip_t *chip, struct msgobj_t *obj, +int i82527_clear_objects(struct canchip_t *chip); +int i82527_config_irqs(struct canchip_t *chip, short irqs); +int i82527_pre_read_config(struct canchip_t *chip, struct msgobj_t *obj); +int i82527_pre_write_config(struct canchip_t *chip, struct msgobj_t *obj, struct canmsg_t *msg); -int i82527_send_msg(struct chip_t *chip, struct msgobj_t *obj, +int i82527_send_msg(struct canchip_t *chip, struct msgobj_t *obj, struct canmsg_t *msg); -int i82527_remote_request(struct chip_t *chip, struct msgobj_t *obj); -int i82527_set_btregs(struct chip_t *chip, unsigned short btr0, +int i82527_remote_request(struct canchip_t *chip, struct msgobj_t *obj); +int i82527_set_btregs(struct canchip_t *chip, unsigned short btr0, unsigned short btr1); -int i82527_start_chip(struct chip_t *chip); -int i82527_stop_chip(struct chip_t *chip); -int i82527_check_tx_stat(struct chip_t *chip); +int i82527_start_chip(struct canchip_t *chip); +int i82527_stop_chip(struct canchip_t *chip); +int i82527_check_tx_stat(struct canchip_t *chip); +int i82527_irq_handler(int irq, struct canchip_t *chip); +int i82527_fill_chipspecops(struct canchip_t *chip); + + +#define MSG_OFFSET(object) ((object)*0x10) #define iCTL 0x00 // Control Register #define iSTAT 0x01 // Status Register @@ -165,3 +172,6 @@ enum i82527_iMSGCFG { MCFG_XTD = 1<<2, // Extended Identifier MCFG_DIR = 1<<3 // Direction is Transmit }; + +void i82527_seg_write_reg(const struct canchip_t *chip, unsigned char data, unsigned address); +unsigned i82527_seg_read_reg(const struct canchip_t *chip, unsigned address);