|  | @@ -155,3 +155,123 @@ static inline void dma_cache_maintenance( unsigned long paddr,
 | 
	
		
			
				|  |  |  /*
 | 
	
		
			
				|  |  |  ** Shifter
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  | +#define ST_LOW  0
 | 
	
		
			
				|  |  | +#define ST_MID  1
 | 
	
		
			
				|  |  | +#define ST_HIGH 2
 | 
	
		
			
				|  |  | +#define TT_LOW  7
 | 
	
		
			
				|  |  | +#define TT_MID  4
 | 
	
		
			
				|  |  | +#define TT_HIGH 6
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define SHF_BAS (0xffff8200)
 | 
	
		
			
				|  |  | +struct SHIFTER
 | 
	
		
			
				|  |  | + {
 | 
	
		
			
				|  |  | +	u_char pad1;
 | 
	
		
			
				|  |  | +	u_char bas_hi;
 | 
	
		
			
				|  |  | +	u_char pad2;
 | 
	
		
			
				|  |  | +	u_char bas_md;
 | 
	
		
			
				|  |  | +	u_char pad3;
 | 
	
		
			
				|  |  | +	u_char volatile vcounthi;
 | 
	
		
			
				|  |  | +	u_char pad4;
 | 
	
		
			
				|  |  | +	u_char volatile vcountmid;
 | 
	
		
			
				|  |  | +	u_char pad5;
 | 
	
		
			
				|  |  | +	u_char volatile vcountlow;
 | 
	
		
			
				|  |  | +	u_char volatile syncmode;
 | 
	
		
			
				|  |  | +	u_char pad6;
 | 
	
		
			
				|  |  | +	u_char pad7;
 | 
	
		
			
				|  |  | +	u_char bas_lo;
 | 
	
		
			
				|  |  | + };
 | 
	
		
			
				|  |  | +# define shifter ((*(volatile struct SHIFTER *)SHF_BAS))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define SHF_FBAS (0xffff820e)
 | 
	
		
			
				|  |  | +struct SHIFTER_F030
 | 
	
		
			
				|  |  | + {
 | 
	
		
			
				|  |  | +  u_short off_next;
 | 
	
		
			
				|  |  | +  u_short scn_width;
 | 
	
		
			
				|  |  | + };
 | 
	
		
			
				|  |  | +# define shifter_f030 ((*(volatile struct SHIFTER_F030 *)SHF_FBAS))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define	SHF_TBAS (0xffff8200)
 | 
	
		
			
				|  |  | +struct SHIFTER_TT {
 | 
	
		
			
				|  |  | +	u_char	char_dummy0;
 | 
	
		
			
				|  |  | +	u_char	bas_hi;			/* video mem base addr, high and mid byte */
 | 
	
		
			
				|  |  | +	u_char	char_dummy1;
 | 
	
		
			
				|  |  | +	u_char	bas_md;
 | 
	
		
			
				|  |  | +	u_char	char_dummy2;
 | 
	
		
			
				|  |  | +	u_char	vcount_hi;		/* pointer to currently displayed byte */
 | 
	
		
			
				|  |  | +	u_char	char_dummy3;
 | 
	
		
			
				|  |  | +	u_char	vcount_md;
 | 
	
		
			
				|  |  | +	u_char	char_dummy4;
 | 
	
		
			
				|  |  | +	u_char	vcount_lo;
 | 
	
		
			
				|  |  | +	u_short	st_sync;		/* ST compatible sync mode register, unused */
 | 
	
		
			
				|  |  | +	u_char	char_dummy5;
 | 
	
		
			
				|  |  | +	u_char	bas_lo;			/* video mem addr, low byte */
 | 
	
		
			
				|  |  | +	u_char	char_dummy6[2+3*16];
 | 
	
		
			
				|  |  | +	/* $ffff8240: */
 | 
	
		
			
				|  |  | +	u_short	color_reg[16];	/* 16 color registers */
 | 
	
		
			
				|  |  | +	u_char	st_shiftmode;	/* ST compatible shift mode register, unused */
 | 
	
		
			
				|  |  | +	u_char  char_dummy7;
 | 
	
		
			
				|  |  | +	u_short tt_shiftmode;	/* TT shift mode register */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +#define	shifter_tt	((*(volatile struct SHIFTER_TT *)SHF_TBAS))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* values for shifter_tt->tt_shiftmode */
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_STLOW		0x0000
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_STMID		0x0100
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_STHIGH		0x0200
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_TTLOW		0x0700
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_TTMID		0x0400
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_TTHIGH		0x0600
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_MODEMASK	0x0700
 | 
	
		
			
				|  |  | +#define TT_SHIFTER_NUMMODE	0x0008
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_PALETTE_MASK	0x000f
 | 
	
		
			
				|  |  | +#define	TT_SHIFTER_GRAYMODE		0x1000
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* 256 TT palette registers */
 | 
	
		
			
				|  |  | +#define	TT_PALETTE_BASE	(0xffff8400)
 | 
	
		
			
				|  |  | +#define	tt_palette	((volatile u_short *)TT_PALETTE_BASE)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define	TT_PALETTE_RED_MASK		0x0f00
 | 
	
		
			
				|  |  | +#define	TT_PALETTE_GREEN_MASK	0x00f0
 | 
	
		
			
				|  |  | +#define	TT_PALETTE_BLUE_MASK	0x000f
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | +** Falcon030 VIDEL Video Controller
 | 
	
		
			
				|  |  | +** for description see File 'linux\tools\atari\hardware.txt
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define f030_col ((u_long *)		0xffff9800)
 | 
	
		
			
				|  |  | +#define f030_xreg ((u_short*)		0xffff8282)
 | 
	
		
			
				|  |  | +#define f030_yreg ((u_short*)		0xffff82a2)
 | 
	
		
			
				|  |  | +#define f030_creg ((u_short*)		0xffff82c0)
 | 
	
		
			
				|  |  | +#define f030_sreg ((u_short*)		0xffff8260)
 | 
	
		
			
				|  |  | +#define f030_mreg ((u_short*)		0xffff820a)
 | 
	
		
			
				|  |  | +#define f030_linewidth ((u_short*)      0xffff820e)
 | 
	
		
			
				|  |  | +#define f030_hscroll ((u_char*)		0xffff8265)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define VIDEL_BAS (0xffff8260)
 | 
	
		
			
				|  |  | +struct VIDEL {
 | 
	
		
			
				|  |  | +	u_short st_shift;
 | 
	
		
			
				|  |  | +	u_short pad1;
 | 
	
		
			
				|  |  | +	u_char  xoffset_s;
 | 
	
		
			
				|  |  | +	u_char  xoffset;
 | 
	
		
			
				|  |  | +	u_short f_shift;
 | 
	
		
			
				|  |  | +	u_char  pad2[0x1a];
 | 
	
		
			
				|  |  | +	u_short hht;
 | 
	
		
			
				|  |  | +	u_short hbb;
 | 
	
		
			
				|  |  | +	u_short hbe;
 | 
	
		
			
				|  |  | +	u_short hdb;
 | 
	
		
			
				|  |  | +	u_short hde;
 | 
	
		
			
				|  |  | +	u_short hss;
 | 
	
		
			
				|  |  | +	u_char  pad3[0x14];
 | 
	
		
			
				|  |  | +	u_short vft;
 | 
	
		
			
				|  |  | +	u_short vbb;
 | 
	
		
			
				|  |  | +	u_short vbe;
 | 
	
		
			
				|  |  | +	u_short vdb;
 | 
	
		
			
				|  |  | +	u_short vde;
 | 
	
		
			
				|  |  | +	u_short vss;
 | 
	
		
			
				|  |  | +	u_char  pad4[0x12];
 | 
	
		
			
				|  |  | +	u_short control;
 | 
	
		
			
				|  |  | +	u_short mode;
 | 
	
		
			
				|  |  | +};
 |