| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 
							- /*
 
-  * SA-1101.h
 
-  *
 
-  * Copyright (c) Peter Danielsson 1999
 
-  *
 
-  * Definition of constants related to the sa1101
 
-  * support chip for the sa1100
 
-  *
 
-  */
 
- /* Be sure that virtual mapping is defined right */
 
- #ifndef __ASM_ARCH_HARDWARE_H
 
- #error You must include hardware.h not SA-1101.h
 
- #endif
 
- #ifndef SA1101_BASE
 
- #error You must define SA-1101 physical base address
 
- #endif
 
- #ifndef LANGUAGE
 
- # ifdef __ASSEMBLY__
 
- #  define LANGUAGE Assembly
 
- # else
 
- #  define LANGUAGE C
 
- # endif
 
- #endif
 
- /*
 
-  * We have mapped the sa1101 depending on the value of SA1101_BASE.
 
-  * It then appears from 0xf4000000.
 
-  */
 
- #define SA1101_p2v( x )         ((x) - SA1101_BASE + 0xf4000000)
 
- #define SA1101_v2p( x )         ((x) - 0xf4000000  + SA1101_BASE)
 
- #ifndef SA1101_p2v
 
- #define SA1101_p2v(PhAdd)  (PhAdd)
 
- #endif
 
- #include <mach/bitfield.h>
 
- #define C               0
 
- #define Assembly        1
 
- /*
 
-  * Memory map
 
-  */
 
- #define __SHMEM_CONTROL0	0x00000000
 
- #define __SYSTEM_CONTROL1	0x00000400
 
- #define __ARBITER		0x00020000
 
- #define __SYSTEM_CONTROL2	0x00040000
 
- #define __SYSTEM_CONTROL3	0x00060000
 
- #define __PARALLEL_PORT		0x00080000
 
- #define __VIDMEM_CONTROL	0x00100000
 
- #define __UPDATE_FIFO		0x00120000
 
- #define __SHMEM_CONTROL1	0x00140000
 
- #define __INTERRUPT_CONTROL	0x00160000
 
- #define __USB_CONTROL		0x00180000
 
- #define __TRACK_INTERFACE	0x001a0000
 
- #define __MOUSE_INTERFACE	0x001b0000
 
- #define __KEYPAD_INTERFACE	0x001c0000
 
- #define __PCMCIA_INTERFACE	0x001e0000
 
- #define	__VGA_CONTROL		0x00200000
 
- #define __GPIO_INTERFACE	0x00300000
 
- /*
 
-  * Macro that calculates real address for registers in the SA-1101
 
-  */
 
- #define _SA1101( x )    ((x) + SA1101_BASE)
 
- /*
 
-  * Interface and shared memory controller registers
 
-  *
 
-  * Registers
 
-  *	SKCR		SA-1101 control register (read/write)
 
-  *	SMCR		Shared Memory Controller Register
 
-  *	SNPR		Snoop Register
 
-  */
 
- #define _SKCR		_SA1101( 0x00000000 ) /* SA-1101 Control Reg. */
 
- #define _SMCR		_SA1101( 0x00140000 ) /* Shared Mem. Control Reg. */
 
- #define _SNPR		_SA1101( 0x00140400 ) /* Snoop Reg. */
 
- #if LANGUAGE == C
 
- #define SKCR		(*((volatile Word *) SA1101_p2v (_SKCR)))
 
- #define SMCR		(*((volatile Word *) SA1101_p2v (_SMCR)))
 
- #define SNPR		(*((volatile Word *) SA1101_p2v (_SNPR)))
 
- #define SKCR_PLLEn	  0x0001	  /* Enable On-Chip PLL */
 
- #define SKCR_BCLKEn	  0x0002	  /* Enables BCLK */
 
- #define SKCR_Sleep	  0x0004	  /* Sleep Mode */
 
- #define SKCR_IRefEn	  0x0008	  /* DAC Iref input enable */
 
- #define SKCR_VCOON	  0x0010	  /* VCO bias */
 
- #define SKCR_ScanTestEn	  0x0020	  /* Enables scan test */
 
- #define SKCR_ClockTestEn  0x0040	  /* Enables clock test */
 
- #define SMCR_DCAC	  Fld(2,0)	  /* Number of column address bits */
 
- #define SMCR_DRAC	  Fld(2,2)	  /* Number of row address bits */
 
- #define SMCR_ArbiterBias  0x0008	  /* favor video or USB */
 
- #define SMCR_TopVidMem	  Fld(4,5)	  /* Top 4 bits of vidmem addr. */
 
- #define SMCR_ColAdrBits( x )		  /* col. addr bits 8..11 */ \
 
- 	(( (x) - 8 ) << FShft (SMCR_DCAC))
 
- #define SMCR_RowAdrBits( x )		  /* row addr bits 9..12 */\
 
- 	(( (x) - 9 ) << FShft (SMCR_DRAC))
 
- #define SNPR_VFBstart	  Fld(12,0)	/* Video frame buffer addr */
 
- #define SNPR_VFBsize	  Fld(11,12)	/* Video frame buffer size */
 
- #define SNPR_WholeBank	  (1 << 23)	/* Whole bank bit */
 
- #define SNPR_BankSelect	  Fld(2,27)	/* Bank select */
 
- #define SNPR_SnoopEn	  (1 << 31)	/* Enable snoop operation */
 
- #define SNPR_Set_VFBsize( x )   /* set frame buffer size (in kb) */ \
 
- 	( (x) << FShft (SNPR_VFBsize))
 
- #define SNPR_Select_Bank(x)     /* select bank 0 or 1 */  \
 
- 	(( (x) + 1 ) << FShft (SNPR_BankSelect ))
 
- #endif /* LANGUAGE == C */
 
- /*
 
-  * Video Memory Controller
 
-  *
 
-  * Registers
 
-  *    VMCCR	Configuration register
 
-  *    VMCAR	VMC address register
 
-  *    VMCDR	VMC data register
 
-  *
 
-  */
 
 
  |