pplus.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * arch/ppc/platforms/pplus.h
  3. *
  4. * Definitions for Motorola MCG Falcon/Raven & HAWK North Bridge & Memory ctlr.
  5. *
  6. * Author: Mark A. Greerinclude/asm-ppc/hawk.h
  7. * mgreer@mvista.com
  8. *
  9. * Modified by Randy Vinson (rvinson@mvista.com)
  10. *
  11. * 2001-2004 (c) MontaVista, Software, Inc. This file is licensed under
  12. * the terms of the GNU General Public License version 2. This program
  13. * is licensed "as is" without any warranty of any kind, whether express
  14. * or implied.
  15. */
  16. #ifndef __PPC_PPLUS_H
  17. #define __PPC_PPLUS_H
  18. #include <asm/io.h>
  19. /*
  20. * Due to limiations imposed by legacy hardware (primaryily IDE controllers),
  21. * the PPLUS boards operate using a PReP address map.
  22. *
  23. * From Processor (physical) -> PCI:
  24. * PCI Mem Space: 0xc0000000 - 0xfe000000 -> 0x00000000 - 0x3e000000 (768 MB)
  25. * PCI I/O Space: 0x80000000 - 0x90000000 -> 0x00000000 - 0x10000000 (256 MB)
  26. * Note: Must skip 0xfe000000-0xfe400000 for CONFIG_HIGHMEM/PKMAP area
  27. *
  28. * From PCI -> Processor (physical):
  29. * System Memory: 0x80000000 -> 0x00000000
  30. */
  31. #define PPLUS_ISA_MEM_BASE PREP_ISA_MEM_BASE
  32. #define PPLUS_ISA_IO_BASE PREP_ISA_IO_BASE
  33. /* PCI Memory space mapping info */
  34. #define PPLUS_PCI_MEM_SIZE 0x30000000U
  35. #define PPLUS_PROC_PCI_MEM_START PPLUS_ISA_MEM_BASE
  36. #define PPLUS_PROC_PCI_MEM_END (PPLUS_PROC_PCI_MEM_START + \
  37. PPLUS_PCI_MEM_SIZE - 1)
  38. #define PPLUS_PCI_MEM_START 0x00000000U
  39. #define PPLUS_PCI_MEM_END (PPLUS_PCI_MEM_START + \
  40. PPLUS_PCI_MEM_SIZE - 1)
  41. /* PCI I/O space mapping info */
  42. #define PPLUS_PCI_IO_SIZE 0x10000000U
  43. #define PPLUS_PROC_PCI_IO_START PPLUS_ISA_IO_BASE
  44. #define PPLUS_PROC_PCI_IO_END (PPLUS_PROC_PCI_IO_START + \
  45. PPLUS_PCI_IO_SIZE - 1)
  46. #define PPLUS_PCI_IO_START 0x00000000U
  47. #define PPLUS_PCI_IO_END (PPLUS_PCI_IO_START + \
  48. PPLUS_PCI_IO_SIZE - 1)
  49. /* System memory mapping info */
  50. #define PPLUS_PCI_DRAM_OFFSET PREP_PCI_DRAM_OFFSET
  51. #define PPLUS_PCI_PHY_MEM_OFFSET (PPLUS_ISA_MEM_BASE-PPLUS_PCI_MEM_START)
  52. /* Define base addresses for important sets of registers */
  53. #define PPLUS_HAWK_SMC_BASE 0xfef80000U
  54. #define PPLUS_HAWK_PPC_REG_BASE 0xfeff0000U
  55. #define PPLUS_SYS_CONFIG_REG 0xfef80400U
  56. #define PPLUS_L2_CONTROL_REG 0x8000081cU
  57. #define PPLUS_VGA_MEM_BASE 0xf0000000U
  58. #endif /* __PPC_PPLUS_H */