lacie_kw.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. /*
  2. * Copyright (C) 2011 Simon Guinot <sguinot@lacie.com>
  3. *
  4. * See file CREDITS for list of people who contributed to this
  5. * project.
  6. *
  7. * This program is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License as
  9. * published by the Free Software Foundation; either version 2 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. */
  17. #ifndef _CONFIG_LACIE_KW_H
  18. #define _CONFIG_LACIE_KW_H
  19. /*
  20. * Machine number definition
  21. */
  22. #if defined(CONFIG_INETSPACE_V2)
  23. #define CONFIG_MACH_TYPE MACH_TYPE_INETSPACE_V2
  24. #define CONFIG_IDENT_STRING " IS v2"
  25. #elif defined(CONFIG_NETSPACE_V2)
  26. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_V2
  27. #define CONFIG_IDENT_STRING " NS v2"
  28. #elif defined(CONFIG_NETSPACE_LITE_V2)
  29. #define MACH_TYPE_NETSPACE_LITE_V2 2983 /* missing in mach-types.h */
  30. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_LITE_V2
  31. #define CONFIG_IDENT_STRING " NS v2 Lite"
  32. #elif defined(CONFIG_NETSPACE_MINI_V2)
  33. #define MACH_TYPE_NETSPACE_MINI_V2 2831 /* missing in mach-types.h */
  34. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_MINI_V2
  35. #define CONFIG_IDENT_STRING " NS v2 Mini"
  36. #elif defined(CONFIG_NETSPACE_MAX_V2)
  37. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_MAX_V2
  38. #define CONFIG_IDENT_STRING " NS Max v2"
  39. #elif defined(CONFIG_D2NET_V2)
  40. #define CONFIG_MACH_TYPE MACH_TYPE_D2NET_V2
  41. #define CONFIG_IDENT_STRING " D2 v2"
  42. #elif defined(CONFIG_NET2BIG_V2)
  43. #define CONFIG_MACH_TYPE MACH_TYPE_NET2BIG_V2
  44. #define CONFIG_IDENT_STRING " 2Big v2"
  45. #else
  46. #error "Unknown board"
  47. #endif
  48. /*
  49. * High Level Configuration Options (easy to change)
  50. */
  51. #define CONFIG_FEROCEON_88FR131 /* CPU Core subversion */
  52. #define CONFIG_KIRKWOOD /* SoC Family Name */
  53. /* SoC name */
  54. #if defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
  55. #define CONFIG_KW88F6192
  56. #else
  57. #define CONFIG_KW88F6281
  58. #endif
  59. #define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
  60. /*
  61. * Commands configuration
  62. */
  63. #define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */
  64. #include <config_cmd_default.h>
  65. #define CONFIG_CMD_ENV
  66. #define CONFIG_CMD_DHCP
  67. #define CONFIG_CMD_PING
  68. #define CONFIG_CMD_SF
  69. #define CONFIG_CMD_I2C
  70. #define CONFIG_CMD_IDE
  71. #ifndef CONFIG_NETSPACE_MINI_V2 /* No USB ports on Network Space v2 Mini */
  72. #define CONFIG_CMD_USB
  73. #endif
  74. /*
  75. * Core clock definition
  76. */
  77. #define CONFIG_SYS_TCLK 166000000 /* 166MHz */
  78. /*
  79. * SDRAM configuration
  80. */
  81. #define CONFIG_NR_DRAM_BANKS 1
  82. /*
  83. * Different SDRAM configuration and size for some of the boards derived
  84. * from the Network Space v2
  85. */
  86. #if defined(CONFIG_INETSPACE_V2)
  87. #define CONFIG_SYS_KWD_CONFIG $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-is2.cfg
  88. #elif defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
  89. #define CONFIG_SYS_KWD_CONFIG $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-ns2l.cfg
  90. #endif
  91. /*
  92. * mv-common.h should be defined after CMD configs since it used them
  93. * to enable certain macros
  94. */
  95. #include "mv-common.h"
  96. /* Remove or override few declarations from mv-common.h */
  97. #undef CONFIG_RBTREE
  98. #undef CONFIG_ENV_SPI_MAX_HZ
  99. #undef CONFIG_SYS_IDE_MAXBUS
  100. #undef CONFIG_SYS_IDE_MAXDEVICE
  101. #undef CONFIG_SYS_PROMPT
  102. #define CONFIG_ENV_SPI_MAX_HZ 20000000 /* 20Mhz */
  103. #define CONFIG_SYS_IDE_MAXBUS 1
  104. #define CONFIG_SYS_IDE_MAXDEVICE 1
  105. #if defined(CONFIG_D2NET_V2)
  106. #define CONFIG_SYS_PROMPT "d2v2> "
  107. #elif defined(CONFIG_NET2BIG_V2)
  108. #define CONFIG_SYS_PROMPT "2big2> "
  109. #else
  110. #define CONFIG_SYS_PROMPT "ns2> "
  111. #endif
  112. /*
  113. * Ethernet Driver configuration
  114. */
  115. #ifdef CONFIG_CMD_NET
  116. #define CONFIG_MISC_INIT_R /* Call misc_init_r() to initialize MAC address */
  117. #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */
  118. #define CONFIG_NETCONSOLE
  119. #endif
  120. /*
  121. * SATA Driver configuration
  122. */
  123. #ifdef CONFIG_MVSATA_IDE
  124. #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET
  125. #if defined(CONFIG_NETSPACE_MAX_V2) || defined(CONFIG_D2NET_V2) || \
  126. defined(CONFIG_NET2BIG_V2)
  127. #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET
  128. #endif
  129. #endif /* CONFIG_MVSATA_IDE */
  130. /*
  131. * Enable GPI0 support
  132. */
  133. #define CONFIG_KIRKWOOD_GPIO
  134. /*
  135. * Enable I2C support
  136. */
  137. #ifdef CONFIG_CMD_I2C
  138. /* I2C EEPROM HT24LC04 (512B - 32 pages of 16 Bytes) */
  139. #define CONFIG_CMD_EEPROM
  140. #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
  141. #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* 16-byte page size */
  142. #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* 8-bit device address */
  143. #endif /* CONFIG_CMD_I2C */
  144. /*
  145. * Partition support
  146. */
  147. #define CONFIG_DOS_PARTITION
  148. #define CONFIG_EFI_PARTITION
  149. /*
  150. * File systems support
  151. */
  152. #define CONFIG_CMD_EXT2
  153. #define CONFIG_CMD_FAT
  154. /*
  155. * Use the HUSH parser
  156. */
  157. #define CONFIG_SYS_HUSH_PARSER
  158. /*
  159. * Console configuration
  160. */
  161. #define CONFIG_CONSOLE_MUX
  162. #define CONFIG_SYS_CONSOLE_IS_IN_ENV
  163. /*
  164. * Enable device tree support
  165. */
  166. #define CONFIG_OF_LIBFDT
  167. /*
  168. * Environment variables configurations
  169. */
  170. #define CONFIG_ENV_IS_IN_SPI_FLASH
  171. #define CONFIG_ENV_SECT_SIZE 0x10000 /* 64KB */
  172. #define CONFIG_ENV_SIZE 0x1000 /* 4KB */
  173. #define CONFIG_ENV_ADDR 0x70000
  174. #define CONFIG_ENV_OFFSET 0x70000 /* env starts here */
  175. /*
  176. * Default environment variables
  177. */
  178. #define CONFIG_BOOTARGS "console=ttyS0,115200"
  179. #define CONFIG_BOOTCOMMAND \
  180. "dhcp && run netconsole; " \
  181. "if run usbload || run diskload; then bootm; fi"
  182. #define CONFIG_EXTRA_ENV_SETTINGS \
  183. "stdin=serial\0" \
  184. "stdout=serial\0" \
  185. "stderr=serial\0" \
  186. "bootfile=uImage\0" \
  187. "loadaddr=0x800000\0" \
  188. "autoload=no\0" \
  189. "netconsole=" \
  190. "set stdin $stdin,nc; " \
  191. "set stdout $stdout,nc; " \
  192. "set stderr $stderr,nc;\0" \
  193. "diskload=ide reset && " \
  194. "ext2load ide 0:1 $loadaddr /boot/$bootfile\0" \
  195. "usbload=usb start && " \
  196. "fatload usb 0:1 $loadaddr /boot/$bootfile\0"
  197. #endif /* _CONFIG_LACIE_KW_H */