chestnut.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. /*
  2. * arch/ppc/platforms/chestnut.h
  3. *
  4. * Definitions for IBM 750FXGX Eval (Chestnut)
  5. *
  6. * Author: <source@mvista.com>
  7. *
  8. * Based on Artesyn Katana code done by Tim Montgomery <timm@artesyncp.com>
  9. * Based on code done by Rabeeh Khoury - rabeeh@galileo.co.il
  10. * Based on code done by Mark A. Greer <mgreer@mvista.com>
  11. *
  12. * <2004> (c) MontaVista Software, Inc. This file is licensed under
  13. * the terms of the GNU General Public License version 2. This program
  14. * is licensed "as is" without any warranty of any kind, whether express
  15. * or implied.
  16. */
  17. /*
  18. * This is the CPU physical memory map (windows must be at least 1MB and start
  19. * on a boundary that is a multiple of the window size):
  20. *
  21. * Seems on the IBM 750FXGX Eval board, the MV64460 Registers can be in
  22. * only 2 places per switch U17 0x14000000 or 0xf1000000 easily - chose to
  23. * implement at 0xf1000000 only at this time
  24. *
  25. * 0xfff00000-0xffffffff - 8 Flash
  26. * 0xffe00000-0xffefffff - BOOT SRAM
  27. * 0xffd00000-0xffd00004 - CPLD
  28. * 0xffc00000-0xffc0000f - UART
  29. * 0xffb00000-0xffb07fff - FRAM
  30. * 0xff840000-0xffafffff - *** HOLE ***
  31. * 0xff800000-0xff83ffff - MV64460 Integrated SRAM
  32. * 0xfe000000-0xff8fffff - *** HOLE ***
  33. * 0xfc000000-0xfdffffff - 32bit Flash
  34. * 0xf1010000-0xfbffffff - *** HOLE ***
  35. * 0xf1000000-0xf100ffff - MV64460 Registers
  36. */
  37. #ifndef __PPC_PLATFORMS_CHESTNUT_H__
  38. #define __PPC_PLATFORMS_CHESTNUT_H__
  39. #define CHESTNUT_BOOT_8BIT_BASE 0xfff00000
  40. #define CHESTNUT_BOOT_8BIT_SIZE_ACTUAL (1024*1024)
  41. #define CHESTNUT_BOOT_SRAM_BASE 0xffe00000
  42. #define CHESTNUT_BOOT_SRAM_SIZE_ACTUAL (1024*1024)
  43. #define CHESTNUT_CPLD_BASE 0xffd00000
  44. #define CHESTNUT_CPLD_SIZE_ACTUAL 5
  45. #define CHESTNUT_CPLD_REG3 (CHESTNUT_CPLD_BASE+3)
  46. #define CHESTNUT_UART_BASE 0xffc00000
  47. #define CHESTNUT_UART_SIZE_ACTUAL 16
  48. #define CHESTNUT_FRAM_BASE 0xffb00000
  49. #define CHESTNUT_FRAM_SIZE_ACTUAL (32*1024)
  50. #define CHESTNUT_INTERNAL_SRAM_BASE 0xff800000
  51. #define CHESTNUT_32BIT_BASE 0xfc000000
  52. #define CHESTNUT_32BIT_SIZE (32*1024*1024)
  53. #define CHESTNUT_BOOT_8BIT_SIZE max(MV64360_WINDOW_SIZE_MIN, \
  54. CHESTNUT_BOOT_8BIT_SIZE_ACTUAL)
  55. #define CHESTNUT_BOOT_SRAM_SIZE max(MV64360_WINDOW_SIZE_MIN, \
  56. CHESTNUT_BOOT_SRAM_SIZE_ACTUAL)
  57. #define CHESTNUT_CPLD_SIZE max(MV64360_WINDOW_SIZE_MIN, \
  58. CHESTNUT_CPLD_SIZE_ACTUAL)
  59. #define CHESTNUT_UART_SIZE max(MV64360_WINDOW_SIZE_MIN, \
  60. CHESTNUT_UART_SIZE_ACTUAL)
  61. #define CHESTNUT_FRAM_SIZE max(MV64360_WINDOW_SIZE_MIN, \
  62. CHESTNUT_FRAM_SIZE_ACTUAL)
  63. #define CHESTNUT_BUS_SPEED 200000000
  64. #define CHESTNUT_PIBS_DATABASE 0xf0000 /* from PIBS src code */
  65. #define KATANA_ETH0_PHY_ADDR 12
  66. #define KATANA_ETH1_PHY_ADDR 11
  67. #define KATANA_ETH2_PHY_ADDR 4
  68. #define CHESTNUT_ETH_TX_QUEUE_SIZE 800
  69. #define CHESTNUT_ETH_RX_QUEUE_SIZE 400
  70. /*
  71. * PCI windows
  72. */
  73. #define CHESTNUT_PCI0_MEM_PROC_ADDR 0x80000000
  74. #define CHESTNUT_PCI0_MEM_PCI_HI_ADDR 0x00000000
  75. #define CHESTNUT_PCI0_MEM_PCI_LO_ADDR 0x80000000
  76. #define CHESTNUT_PCI0_MEM_SIZE 0x10000000
  77. #define CHESTNUT_PCI0_IO_PROC_ADDR 0xa0000000
  78. #define CHESTNUT_PCI0_IO_PCI_ADDR 0x00000000
  79. #define CHESTNUT_PCI0_IO_SIZE 0x01000000
  80. /*
  81. * Board-specific IRQ info
  82. */
  83. #define CHESTNUT_PCI_SLOT0_IRQ (64 + 31)
  84. #define CHESTNUT_PCI_SLOT1_IRQ (64 + 30)
  85. #define CHESTNUT_PCI_SLOT2_IRQ (64 + 29)
  86. #define CHESTNUT_PCI_SLOT3_IRQ (64 + 28)
  87. /* serial port definitions */
  88. #define CHESTNUT_UART0_IO_BASE (CHESTNUT_UART_BASE + 8)
  89. #define CHESTNUT_UART1_IO_BASE CHESTNUT_UART_BASE
  90. #define UART0_INT (64 + 25)
  91. #define UART1_INT (64 + 26)
  92. #ifdef CONFIG_SERIAL_MANY_PORTS
  93. #define RS_TABLE_SIZE 64
  94. #else
  95. #define RS_TABLE_SIZE 2
  96. #endif
  97. /* Rate for the 3.6864 Mhz clock for the onboard serial chip */
  98. #define BASE_BAUD (3686400 / 16)
  99. #ifdef CONFIG_SERIAL_DETECT_IRQ
  100. #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST|ASYNC_AUTO_IRQ)
  101. #else
  102. #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST)
  103. #endif
  104. #define STD_UART_OP(num) \
  105. { 0, BASE_BAUD, 0, UART##num##_INT, STD_COM_FLAGS, \
  106. iomem_base: (u8 *)CHESTNUT_UART##num##_IO_BASE, \
  107. io_type: SERIAL_IO_MEM},
  108. #define SERIAL_PORT_DFNS \
  109. STD_UART_OP(0) \
  110. STD_UART_OP(1)
  111. #endif /* __PPC_PLATFORMS_CHESTNUT_H__ */