mv-common.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. /*
  2. * (C) Copyright 2010
  3. * Marvell Semiconductor <www.marvell.com>
  4. * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
  5. *
  6. * See file CREDITS for list of people who contributed to this
  7. * project.
  8. *
  9. * This program is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License as
  11. * published by the Free Software Foundation; either version 2 of
  12. * the License, or (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this program; if not, write to the Free Software
  21. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  22. * MA 02110-1301 USA
  23. */
  24. /*
  25. * This file contains Marvell Board Specific common defincations.
  26. * This file should be included in board config header file.
  27. *
  28. * It supports common definations for Kirkwood platform
  29. * TBD: support for Orion5X platforms
  30. */
  31. #ifndef _MV_COMMON_H
  32. #define _MV_COMMON_H
  33. /*
  34. * High Level Configuration Options (easy to change)
  35. */
  36. #define CONFIG_MARVELL 1
  37. /*
  38. * Custom CONFIG_SYS_TEXT_BASE can be done in <board>.h
  39. */
  40. #ifndef CONFIG_SYS_TEXT_BASE
  41. #define CONFIG_SYS_TEXT_BASE 0x00600000
  42. #endif /* CONFIG_SYS_TEXT_BASE */
  43. /* additions for new ARM relocation support */
  44. #define CONFIG_SYS_SDRAM_BASE 0x00000000
  45. /*
  46. * CLKs configurations
  47. */
  48. #define CONFIG_SYS_HZ 1000
  49. /*
  50. * NS16550 Configuration
  51. */
  52. #define CONFIG_SYS_NS16550
  53. #define CONFIG_SYS_NS16550_SERIAL
  54. #define CONFIG_SYS_NS16550_REG_SIZE (-4)
  55. #define CONFIG_SYS_NS16550_CLK CONFIG_SYS_TCLK
  56. #define CONFIG_SYS_NS16550_COM1 MV_UART_CONSOLE_BASE
  57. /*
  58. * Serial Port configuration
  59. * The following definitions let you select what serial you want to use
  60. * for your console driver.
  61. */
  62. #define CONFIG_CONS_INDEX 1 /*Console on UART0 */
  63. #define CONFIG_BAUDRATE 115200
  64. #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, \
  65. 115200,230400, 460800, 921600 }
  66. /* auto boot */
  67. #define CONFIG_BOOTDELAY 3 /* default enable autoboot */
  68. /*
  69. * For booting Linux, the board info and command line data
  70. * have to be in the first 8 MB of memory, since this is
  71. * the maximum mapped by the Linux kernel during initialization.
  72. */
  73. #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
  74. #define CONFIG_INITRD_TAG 1 /* enable INITRD tag */
  75. #define CONFIG_SETUP_MEMORY_TAGS 1 /* enable memory tag */
  76. #define CONFIG_SYS_PROMPT "Marvell>> " /* Command Prompt */
  77. #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buff Size */
  78. #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \
  79. +sizeof(CONFIG_SYS_PROMPT) + 16) /* Print Buff */
  80. /*
  81. * Size of malloc() pool
  82. */
  83. #define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* 1MiB for malloc() */
  84. /*
  85. * Other required minimal configurations
  86. */
  87. #define CONFIG_SYS_LONGHELP
  88. #define CONFIG_AUTO_COMPLETE
  89. #define CONFIG_CMDLINE_EDITING
  90. #define CONFIG_CONSOLE_INFO_QUIET /* some code reduction */
  91. #define CONFIG_ARCH_CPU_INIT /* call arch_cpu_init() */
  92. #define CONFIG_ARCH_MISC_INIT /* call arch_misc_init() */
  93. #define CONFIG_BOARD_EARLY_INIT_F /* call board_init_f for early inits */
  94. #define CONFIG_DISPLAY_CPUINFO /* Display cpu info */
  95. #define CONFIG_STACKSIZE 0x00100000 /* regular stack- 1M */
  96. #define CONFIG_SYS_LOAD_ADDR 0x00800000 /* default load adr- 8M */
  97. #define CONFIG_SYS_MEMTEST_START 0x00800000 /* 8M */
  98. #define CONFIG_SYS_MEMTEST_END 0x00ffffff /*(_16M -1) */
  99. #define CONFIG_SYS_RESET_ADDRESS 0xffff0000 /* Rst Vector Adr */
  100. #define CONFIG_SYS_MAXARGS 16 /* max number of command args */
  101. /* ====> Include platform Common Definitions */
  102. #include <asm/arch/config.h>
  103. /*
  104. * DRAM Banks configuration, Custom config can be done in <board>.h
  105. */
  106. #ifndef CONFIG_NR_DRAM_BANKS
  107. #define CONFIG_NR_DRAM_BANKS CONFIG_NR_DRAM_BANKS_MAX
  108. #else
  109. #if (CONFIG_NR_DRAM_BANKS > CONFIG_NR_DRAM_BANKS_MAX)
  110. #error CONFIG_NR_DRAM_BANKS Configurated more than available
  111. #endif
  112. #endif /* CONFIG_NR_DRAM_BANKS */
  113. /* ====> Include driver Common Definitions */
  114. /*
  115. * Common NAND configuration
  116. */
  117. #ifdef CONFIG_CMD_NAND
  118. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  119. #define NAND_MAX_CHIPS 1
  120. #define CONFIG_SYS_64BIT_VSPRINTF /* needed for nand_util.c */
  121. #endif
  122. /*
  123. * Common SPI Flash configuration
  124. */
  125. #ifdef CONFIG_CMD_SF
  126. #define CONFIG_SPI_FLASH 1
  127. #define CONFIG_SPI_FLASH_MACRONIX 1
  128. #endif
  129. /*
  130. * Common USB/EHCI configuration
  131. */
  132. #ifdef CONFIG_CMD_USB
  133. #define CONFIG_USB_EHCI /* Enable EHCI USB support */
  134. #define CONFIG_USB_STORAGE
  135. #define CONFIG_DOS_PARTITION
  136. #define CONFIG_ISO_PARTITION
  137. #define CONFIG_SUPPORT_VFAT
  138. #endif /* CONFIG_CMD_USB */
  139. /*
  140. * File system
  141. */
  142. #ifdef CONFIG_SYS_MVFS
  143. #define CONFIG_CMD_EXT2
  144. #define CONFIG_CMD_JFFS2
  145. #define CONFIG_CMD_FAT
  146. #define CONFIG_CMD_UBI
  147. #define CONFIG_CMD_UBIFS
  148. #define CONFIG_RBTREE
  149. #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
  150. #define CONFIG_MTD_PARTITIONS
  151. #define CONFIG_CMD_MTDPARTS
  152. #define CONFIG_LZO
  153. #endif
  154. #endif /* _MV_COMMON_H */