From: Jeff S. <je...@us...> - 2002-08-14 20:59:56
|
Update of /cvsroot/blob/blob/include/blob/proc In directory usw-pr-cvs1:/tmp/cvs-serv22760 Added Files: pxa.h Log Message: Added support for PXA processors, Lubbock and PXA IDP machines --- NEW FILE: pxa.h --- /* * proc/pxa.h - processor specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef BLOB_PXA_PROC_H #define BLOB_PXA_PROC_H /* * Intel PXA internal I/O mappings: * * 0x40000000 - 0x41ffffff <--> 0xf8000000 - 0xf9ffffff * 0x44000000 - 0x45ffffff <--> 0xfa000000 - 0xfbffffff * 0x48000000 - 0x49ffffff <--> 0xfc000000 - 0xfdffffff */ #define io_p2v(x) ( ((x) | 0xbe000000) ^ (~((x) >> 1) & 0x06000000) ) #define io_v2p( x ) ( ((x) & 0x41ffffff) ^ ( ((x) & 0x06000000) << 1) ) #ifndef __ASSEMBLY__ # define __REG(x) (*((volatile u32 *)io_p2v(x))) # define __REG2(x,y) \ ( __builtin_constant_p(y) ? (__REG((x) + (y))) \ : (*(volatile u32 *)((u32)&__REG(x) + (y))) ) # define __PREG(x) (io_v2p((u32)&(x))) #else # define __REG(x) io_p2v(x) # define __PREG(x) io_v2p(x) #endif #define __ASM_ARCH_HARDWARE_H #include <asm-arm/arch-pxa/pxa-regs.h> /* memory start and end */ /* are these values proc or arch specific? */ #define MEMORY_START (0xa0000000) #define MEMORY_END (0xc0000000) /********************************************************************** * Memory Config Register Indices * based on 0xA0000000 */ #define MDCNFG_OFFSET 0x0 #define MDREFR_OFFSET 0x4 #define MSC0_OFFSET 0x8 #define MSC1_OFFSET 0xC #define MSC2_OFFSET 0x10 #define MECR_OFFSET 0x14 #define SXLCR_OFFSET 0x18 #define SXCNFG_OFFSET 0x1C #define FLYCNFG_OFFSET 0x20 #define SXMRS_OFFSET 0x24 #define MCMEM0_OFFSET 0x28 #define MCMEM1_OFFSET 0x2C #define MCATT0_OFFSET 0x30 #define MCATT1_OFFSET 0x34 #define MCIO0_OFFSET 0x38 #define MCIO1_OFFSET 0x3C #define MDMRS_OFFSET 0x40 #define MDCNFG_DE0 (1 << 0) #define MDCNFG_DE1 (1 << 1) #define MDCNFG_DE2 (1 << 16) #define MDCNFG_DE3 (1 << 17) #define MDCNFG_DWID0_32B (0 << 3) #endif |