generic.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * Carsten Langgaard, carstenl@mips.com
  3.  * Copyright (C) 2000 MIPS Technologies, Inc.  All rights reserved.
  4.  *
  5.  * ########################################################################
  6.  *
  7.  *  This program is free software; you can distribute it and/or modify it
  8.  *  under the terms of the GNU General Public License (Version 2) as
  9.  *  published by the Free Software Foundation.
  10.  *
  11.  *  This program is distributed in the hope it will be useful, but WITHOUT
  12.  *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13.  *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14.  *  for more details.
  15.  *
  16.  *  You should have received a copy of the GNU General Public License along
  17.  *  with this program; if not, write to the Free Software Foundation, Inc.,
  18.  *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
  19.  *
  20.  * ########################################################################
  21.  *
  22.  * Defines of the MIPS boards specific address-MAP, registers, etc.
  23.  *
  24.  */
  25. #ifndef _MIPS_GENERIC_H
  26. #define _MIPS_GENERIC_H
  27. #include <asm/addrspace.h>
  28. #include <asm/byteorder.h>
  29. /*
  30.  * Display register base.
  31.  */
  32. #define ASCII_DISPLAY_WORD_BASE    (KSEG1ADDR(0x1f000410))
  33. #define ASCII_DISPLAY_POS_BASE     (KSEG1ADDR(0x1f000418))
  34. /*
  35.  * Yamon Prom print address.
  36.  */
  37. #define YAMON_PROM_PRINT_ADDR      (KSEG1ADDR(0x1fc00504))
  38. /*
  39.  * Reset register.
  40.  */
  41. #define SOFTRES_REG       (KSEG1ADDR(0x1f000500))
  42. #define GORESET           0x42
  43. /*
  44.  * Galileo GT64120 system controller register base.
  45.  */
  46. #define MIPS_GT_BASE    (KSEG1ADDR(0x1be00000))
  47. /*
  48.  * Because of the way the internal register works on the Galileo chip,
  49.  * we need to swap the bytes when running bigendian.
  50.  */
  51. #define GT_WRITE(ofs, data)  
  52.              *(volatile u32 *)(MIPS_GT_BASE+ofs) = cpu_to_le32(data)
  53. #define GT_READ(ofs, data)   
  54.              data = le32_to_cpu(*(volatile u32 *)(MIPS_GT_BASE+ofs))
  55. #define GT_PCI_WRITE(ofs, data)  
  56. *(volatile u32 *)(MIPS_GT_BASE+ofs) = data
  57. #define GT_PCI_READ(ofs, data)   
  58. data = *(volatile u32 *)(MIPS_GT_BASE+ofs)
  59. #endif  /* !(_MIPS_GENERIC_H) */