* io-memory. In case you reserved more memory, don't forget to free it here.
*/
int ssv_release_io(struct candevice_t *candev)
* io-memory. In case you reserved more memory, don't forget to free it here.
*/
int ssv_release_io(struct candevice_t *candev)
DEBUGMSG("Resetting ssv hardware ...\n");
ssv_write_register(1,ssvcan_base+iCPU);
DEBUGMSG("Resetting ssv hardware ...\n");
ssv_write_register(1,ssvcan_base+iCPU);
* CAN chip. In case of the sja1000 there's only one message object but on the
* i82527 chip there are 15.
* The code below is for a i82527 chip and initializes the object base addresses
* CAN chip. In case of the sja1000 there's only one message object but on the
* i82527 chip there are 15.
* The code below is for a i82527 chip and initializes the object base addresses
* object. In case of the sja1000 obj_base_addr is taken the same as the chips
* base address.
* Unless the hardware uses a segmented memory map, flags can be set zero.
* object. In case of the sja1000 obj_base_addr is taken the same as the chips
* base address.
* Unless the hardware uses a segmented memory map, flags can be set zero.
/* the ssv card has two registers, the address register at 0x0
and the data register at 0x01 */
/* the ssv card has two registers, the address register at 0x0
and the data register at 0x01 */
and the data on the eight MSB bits in one time */
if((address-ssvcan_base)<0x100)
can_outw(address-ssvcan_base + (256 * data), ssvcan_base);
and the data on the eight MSB bits in one time */
if((address-ssvcan_base)<0x100)
can_outw(address-ssvcan_base + (256 * data), ssvcan_base);
unsigned ssv_read_register(can_ioptr_t address)
{
/* this is the same thing that the function write_register.
unsigned ssv_read_register(can_ioptr_t address)
{
/* this is the same thing that the function write_register.