diff options
Diffstat (limited to 'Source/DirectFB/gfxdrivers/cle266/mmio.h')
-rwxr-xr-x | Source/DirectFB/gfxdrivers/cle266/mmio.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Source/DirectFB/gfxdrivers/cle266/mmio.h b/Source/DirectFB/gfxdrivers/cle266/mmio.h new file mode 100755 index 0000000..757445a --- /dev/null +++ b/Source/DirectFB/gfxdrivers/cle266/mmio.h @@ -0,0 +1,43 @@ +/* + Copyright (c) 2003 Andreas Robinson, All rights reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. +*/ + +#ifndef _VIA_MMIO_H +#define _VIA_MMIO_H + +#define TRACE_ENTER() printf("Entering %s\n", __PRETTY_FUNCTION__) +#define TRACE_LEAVE() printf("Leaving %s\n", __PRETTY_FUNCTION__) + +#ifdef KERNEL + +#define VIA_OUT(hwregs, reg, val) *(volatile u32 *)((hwregs) + (reg)) = (val) +#define VIA_IN(hwregs, reg) *(volatile u32 *)((hwregs) + (reg)) +#define VGA_OUT8(hwregs, reg, val) *(volatile u8 *)((hwregs) + (reg) + 0x8000) = (val) +#define VGA_IN8(hwregs, reg) *(volatile u8 *)((hwregs) + (reg) + 0x8000) +#define RS16(val) ((u16)((s16)(val))) +#define RS12(val) (((u16)((s16)(val))) & 0xfff) + + +#else // !KERNEL + +#define VIA_OUT(hwregs, reg, val) *(volatile u32 *)((hwregs) + (reg)) = (val) +#define VIA_IN(hwregs, reg) *(volatile u32 *)((hwregs) + (reg)) +#define VGA_OUT8(hwregs, reg, val) *(volatile u8 *)((hwregs) + (reg) + 0x8000) = (val) +#define VGA_IN8(hwregs, reg) *(volatile u8 *)((hwregs) + (reg) + 0x8000) + +#define RS16(val) ((u16)((s16)(val))) +#define RS12(val) (((u16)((s16)(val))) & 0xfff) + +#endif // KERNEL + +#define VIDEO_OUT(hwregs, reg, val) VIA_OUT((hwregs)+0x200, reg, val) +#define VIDEO_IN(hwregs, reg) VIA_IN((hwregs)+0x200, reg) + +#define MAXLOOP 0xffffff + +#endif /* _VIA_MMIO_H */ |