lacie_kw.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  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. * Enable platform initialisation via misc_init_r() function
  114. */
  115. #define CONFIG_MISC_INIT_R
  116. /*
  117. * Ethernet Driver configuration
  118. */
  119. #ifdef CONFIG_CMD_NET
  120. #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */
  121. #define CONFIG_NETCONSOLE
  122. #endif
  123. /*
  124. * SATA Driver configuration
  125. */
  126. #ifdef CONFIG_MVSATA_IDE
  127. #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET
  128. #if defined(CONFIG_NETSPACE_MAX_V2) || defined(CONFIG_D2NET_V2) || \
  129. defined(CONFIG_NET2BIG_V2)
  130. #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET
  131. #endif
  132. #endif /* CONFIG_MVSATA_IDE */
  133. /*
  134. * Enable GPI0 support
  135. */
  136. #define CONFIG_KIRKWOOD_GPIO
  137. /*
  138. * Enable I2C support
  139. */
  140. #ifdef CONFIG_CMD_I2C
  141. /* I2C EEPROM HT24LC04 (512B - 32 pages of 16 Bytes) */
  142. #define CONFIG_CMD_EEPROM
  143. #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
  144. #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* 16-byte page size */
  145. #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* 8-bit device address */
  146. #if defined(CONFIG_NET2BIG_V2)
  147. #define CONFIG_SYS_I2C_G762_ADDR 0x3e
  148. #endif
  149. #endif /* CONFIG_CMD_I2C */
  150. /*
  151. * Partition support
  152. */
  153. #define CONFIG_DOS_PARTITION
  154. #define CONFIG_EFI_PARTITION
  155. /*
  156. * File systems support
  157. */
  158. #define CONFIG_CMD_EXT2
  159. #define CONFIG_CMD_FAT
  160. /*
  161. * Use the HUSH parser
  162. */
  163. #define CONFIG_SYS_HUSH_PARSER
  164. /*
  165. * Console configuration
  166. */
  167. #define CONFIG_CONSOLE_MUX
  168. #define CONFIG_SYS_CONSOLE_IS_IN_ENV
  169. /*
  170. * Enable device tree support
  171. */
  172. #define CONFIG_OF_LIBFDT
  173. /*
  174. * Environment variables configurations
  175. */
  176. #define CONFIG_ENV_IS_IN_SPI_FLASH
  177. #define CONFIG_ENV_SECT_SIZE 0x10000 /* 64KB */
  178. #define CONFIG_ENV_SIZE 0x1000 /* 4KB */
  179. #define CONFIG_ENV_ADDR 0x70000
  180. #define CONFIG_ENV_OFFSET 0x70000 /* env starts here */
  181. /*
  182. * Default environment variables
  183. */
  184. #define CONFIG_BOOTARGS "console=ttyS0,115200"
  185. #define CONFIG_BOOTCOMMAND \
  186. "dhcp && run netconsole; " \
  187. "if run usbload || run diskload; then bootm; fi"
  188. #define CONFIG_EXTRA_ENV_SETTINGS \
  189. "stdin=serial\0" \
  190. "stdout=serial\0" \
  191. "stderr=serial\0" \
  192. "bootfile=uImage\0" \
  193. "loadaddr=0x800000\0" \
  194. "autoload=no\0" \
  195. "netconsole=" \
  196. "set stdin $stdin,nc; " \
  197. "set stdout $stdout,nc; " \
  198. "set stderr $stderr,nc;\0" \
  199. "diskload=ide reset && " \
  200. "ext2load ide 0:1 $loadaddr /boot/$bootfile\0" \
  201. "usbload=usb start && " \
  202. "fatload usb 0:1 $loadaddr /boot/$bootfile\0"
  203. #endif /* _CONFIG_LACIE_KW_H */