1/* Copyright (c) 2003-2004 2 * Stefano Ceccherini <burton666@libero.it>. All rights reserved. 3 * This file is released under the MIT license 4 */ 5 6#ifndef __WB_DRIVER_H 7#define __WB_DRIVER_H 8 9// PCI Communications 10#include <PCI.h> 11 12#define IO_PORT_PCI_ACCESS true 13//#define MEMORY_MAPPED_PCI_ACCESS true 14 15#if IO_PORT_PCI_ACCESS 16# define write8(address,value) (*gPci->write_io_8)((address),(value)) 17# define write16(address,value) (*gPci->write_io_16)((address),(value)) 18# define write32(address,value) (*gPci->write_io_32)((address),(value)) 19# define read8(address) ((*gPci->read_io_8)(address)) 20# define read16(address) ((*gPci->read_io_16)(address)) 21# define read32(address) ((*gPci->read_io_32)(address)) 22#else /* MEMORY_MAPPED_PCI_ACCESS */ 23# define read8(address) (*((volatile uint8*)(address))) 24# define read16(address) (*((volatile uint16*)(address))) 25# define read32(address) (*((volatile uint32*)(address))) 26# define write8(address,data) (*((volatile uint8 *)(address)) = data) 27# define write16(address,data) (*((volatile uint16 *)(address)) = (data)) 28# define write32(address,data) (*((volatile uint32 *)(address)) = (data)) 29#endif 30 31extern pci_module_info* gPci; 32 33#endif 34