ml300.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. /*
  2. * ML300.h: ML300 specific config options
  3. *
  4. * http://www.xilinx.com/ml300
  5. *
  6. * Derived from : ML2.h
  7. *
  8. * Author: Xilinx, Inc.
  9. *
  10. *
  11. * This program is free software; you can redistribute it and/or modify it
  12. * under the terms of the GNU General Public License as published by the
  13. * Free Software Foundation; either version 2 of the License, or (at your
  14. * option) any later version.
  15. *
  16. *
  17. * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
  18. * COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
  19. * ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD,
  20. * XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE
  21. * FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR
  22. * OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
  23. * XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
  24. * THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY
  25. * WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM
  26. * CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND
  27. * FITNESS FOR A PARTICULAR PURPOSE.
  28. *
  29. *
  30. * Xilinx products are not intended for use in life support appliances,
  31. * devices, or systems. Use in such applications is expressly prohibited.
  32. *
  33. *
  34. * (c) Copyright 2002 Xilinx Inc.
  35. * All rights reserved.
  36. *
  37. *
  38. * You should have received a copy of the GNU General Public License along
  39. * with this program; if not, write to the Free Software Foundation, Inc.,
  40. * 675 Mass Ave, Cambridge, MA 02139, USA.
  41. *
  42. */
  43. #ifndef __CONFIG_H
  44. #define __CONFIG_H
  45. /* #define DEBUG */
  46. /* #define ET_DEBUG 1 */
  47. /*
  48. * High Level Configuration Options
  49. * (easy to change)
  50. */
  51. #define CONFIG_405 1 /* This is a PPC405 CPU */
  52. #define CONFIG_4xx 1 /* ...member of PPC4xx family */
  53. #define CONFIG_XILINX_ML300 1 /* ...on a Xilinx ML300 board */
  54. #define CONFIG_SYSTEMACE 1
  55. #define CONFIG_DOS_PARTITION 1
  56. #define CFG_SYSTEMACE_BASE XPAR_OPB_SYSACE_0_BASEADDR
  57. #define CFG_SYSTEMACE_WIDTH XPAR_XSYSACE_MEM_WIDTH
  58. #define CFG_ENV_IS_IN_EEPROM 1 /* environment is in EEPROM */
  59. /* following are used only if env is in EEPROM */
  60. #ifdef CFG_ENV_IS_IN_EEPROM
  61. #define CFG_I2C_EEPROM_ADDR XPAR_PERSISTENT_0_IIC_0_EEPROMADDR
  62. #define CFG_I2C_EEPROM_ADDR_LEN 1
  63. #define CFG_ENV_OFFSET XPAR_PERSISTENT_0_IIC_0_BASEADDR
  64. #define CONFIG_MISC_INIT_R 1 /* used to call out convert_env() */
  65. #define CONFIG_ENV_OVERWRITE 1 /* allow users to update ethaddr and serial# */
  66. #endif
  67. #include "../board/xilinx/ml300/xparameters.h"
  68. #define CFG_NO_FLASH 1 /* no flash */
  69. #define CFG_ENV_SIZE XPAR_PERSISTENT_0_IIC_0_HIGHADDR - XPAR_PERSISTENT_0_IIC_0_BASEADDR + 1
  70. #define CONFIG_BAUDRATE 9600
  71. #define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
  72. #define CONFIG_BOOTCOMMAND "bootp" /* autoboot command */
  73. #define CONFIG_BOOTARGS "console=ttyS0,9600 ip=off " \
  74. "root=/dev/xsysace/disc0/part3 rw"
  75. #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
  76. #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
  77. #define REMOVE_COMMANDS (CFG_CMD_FLASH | CFG_CMD_LOADS | CFG_CMD_FAT | \
  78. CFG_CMD_IMLS )
  79. #define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_NET) \
  80. & ~REMOVE_COMMANDS)
  81. /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
  82. #include <cmd_confdefs.h>
  83. /* #define CONFIG_SYS_CLK_FREQ XPAR_CORE_CLOCK_FREQ_HZ */
  84. /* 300000000 */
  85. /*
  86. * Miscellaneous configurable options
  87. */
  88. #define CFG_LONGHELP /* undef to save memory */
  89. #define CFG_PROMPT "=> " /* Monitor Command Prompt */
  90. #define CFG_CBSIZE 256 /* Console I/O Buffer Size */
  91. #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
  92. #define CFG_MAXARGS 16 /* max number of command args */
  93. #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
  94. #define CFG_MEMTEST_START 0x0400000 /* memtest works on */
  95. #define CFG_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
  96. #define CFG_DUART_CHAN 0
  97. #define CFG_NS16550_REG_SIZE -4
  98. #define CFG_NS16550 1
  99. #define CFG_INIT_CHAN1 1
  100. /* The following table includes the supported baudrates */
  101. #define CFG_BAUDRATE_TABLE \
  102. {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
  103. #define CFG_LOAD_ADDR 0x400000 /* default load address */
  104. #define CFG_EXTBDINFO 1 /* To use extended board_into (bd_t) */
  105. #define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */
  106. /*-----------------------------------------------------------------------
  107. * Start addresses for the final memory configuration
  108. * (Set up by the startup code)
  109. * Please note that CFG_SDRAM_BASE _must_ start at 0
  110. */
  111. #define CFG_SDRAM_BASE 0x00000000
  112. #define CFG_MONITOR_BASE 0x04000000
  113. #define CFG_MONITOR_LEN (192 * 1024) /* Reserve 196 kB for Monitor */
  114. #define CFG_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
  115. /*
  116. * For booting Linux, the board info and command line data
  117. * have to be in the first 8 MB of memory, since this is
  118. * the maximum mapped by the Linux kernel during initialization.
  119. */
  120. #define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
  121. /*-----------------------------------------------------------------------
  122. * Cache Configuration
  123. */
  124. #define CFG_DCACHE_SIZE 16384 /* For AMCC 405 CPUs */
  125. #define CFG_CACHELINE_SIZE 32 /* ... */
  126. /*-----------------------------------------------------------------------
  127. * Definitions for initial stack pointer and data area (in DPRAM)
  128. */
  129. #define CFG_INIT_RAM_ADDR 0x800000 /* inside of SDRAM */
  130. #define CFG_INIT_RAM_END 0x2000 /* End of used area in RAM */
  131. #define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
  132. #define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
  133. #define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
  134. /*
  135. * Internal Definitions
  136. *
  137. * Boot Flags
  138. */
  139. #define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
  140. #define BOOTFLAG_WARM 0x02 /* Software reboot */
  141. #endif /* __CONFIG_H */