lacie_kw.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /*
  2. * Copyright (C) 2011 Simon Guinot <sguinot@lacie.com>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _CONFIG_LACIE_KW_H
  7. #define _CONFIG_LACIE_KW_H
  8. /*
  9. * Machine number definition
  10. */
  11. #if defined(CONFIG_INETSPACE_V2)
  12. #define CONFIG_MACH_TYPE MACH_TYPE_INETSPACE_V2
  13. #elif defined(CONFIG_NETSPACE_V2)
  14. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_V2
  15. #elif defined(CONFIG_NETSPACE_LITE_V2)
  16. #define MACH_TYPE_NETSPACE_LITE_V2 2983 /* missing in mach-types.h */
  17. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_LITE_V2
  18. #elif defined(CONFIG_NETSPACE_MINI_V2)
  19. #define MACH_TYPE_NETSPACE_MINI_V2 2831 /* missing in mach-types.h */
  20. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_MINI_V2
  21. #elif defined(CONFIG_NETSPACE_MAX_V2)
  22. #define CONFIG_MACH_TYPE MACH_TYPE_NETSPACE_MAX_V2
  23. #elif defined(CONFIG_D2NET_V2)
  24. #define CONFIG_MACH_TYPE MACH_TYPE_D2NET_V2
  25. #elif defined(CONFIG_NET2BIG_V2)
  26. #define CONFIG_MACH_TYPE MACH_TYPE_NET2BIG_V2
  27. #else
  28. #error "Unknown board"
  29. #endif
  30. /*
  31. * High Level Configuration Options (easy to change)
  32. */
  33. #define CONFIG_FEROCEON_88FR131 /* CPU Core subversion */
  34. /* SoC name */
  35. #if defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
  36. #define CONFIG_KW88F6192
  37. #else
  38. #define CONFIG_KW88F6281
  39. #endif
  40. #define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
  41. /*
  42. * Commands configuration
  43. */
  44. #define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */
  45. #define CONFIG_CMD_ENV
  46. #define CONFIG_CMD_IDE
  47. #ifndef CONFIG_NETSPACE_MINI_V2 /* No USB ports on Network Space v2 Mini */
  48. #endif
  49. /*
  50. * Core clock definition
  51. */
  52. #define CONFIG_SYS_TCLK 166000000 /* 166MHz */
  53. /*
  54. * SDRAM configuration
  55. */
  56. #define CONFIG_NR_DRAM_BANKS 1
  57. /*
  58. * Different SDRAM configuration and size for some of the boards derived
  59. * from the Network Space v2
  60. */
  61. #if defined(CONFIG_INETSPACE_V2)
  62. #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-is2.cfg
  63. #elif defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
  64. #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-ns2l.cfg
  65. #endif
  66. /*
  67. * mv-common.h should be defined after CMD configs since it used them
  68. * to enable certain macros
  69. */
  70. #include "mv-common.h"
  71. /* Remove or override few declarations from mv-common.h */
  72. #undef CONFIG_RBTREE
  73. #undef CONFIG_ENV_SPI_MAX_HZ
  74. #undef CONFIG_SYS_IDE_MAXBUS
  75. #undef CONFIG_SYS_IDE_MAXDEVICE
  76. #define CONFIG_ENV_SPI_MAX_HZ 20000000 /* 20Mhz */
  77. /*
  78. * Enable platform initialisation via misc_init_r() function
  79. */
  80. #define CONFIG_MISC_INIT_R
  81. /*
  82. * Ethernet Driver configuration
  83. */
  84. #ifdef CONFIG_CMD_NET
  85. #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */
  86. #define CONFIG_NETCONSOLE
  87. #endif
  88. /*
  89. * SATA Driver configuration
  90. */
  91. #ifdef CONFIG_MVSATA_IDE
  92. #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET
  93. #if defined(CONFIG_NETSPACE_MAX_V2) || defined(CONFIG_D2NET_V2) || \
  94. defined(CONFIG_NET2BIG_V2)
  95. #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET
  96. #define CONFIG_SYS_IDE_MAXBUS 2
  97. #define CONFIG_SYS_IDE_MAXDEVICE 2
  98. #else
  99. #define CONFIG_SYS_IDE_MAXBUS 1
  100. #define CONFIG_SYS_IDE_MAXDEVICE 1
  101. #endif
  102. #endif /* CONFIG_MVSATA_IDE */
  103. /*
  104. * Enable GPI0 support
  105. */
  106. #define CONFIG_KIRKWOOD_GPIO
  107. /*
  108. * Enable I2C support
  109. */
  110. #ifdef CONFIG_CMD_I2C
  111. /* I2C EEPROM HT24LC04 (512B - 32 pages of 16 Bytes) */
  112. #define CONFIG_CMD_EEPROM
  113. #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
  114. #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* 16-byte page size */
  115. #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* 8-bit device address */
  116. #if defined(CONFIG_NET2BIG_V2)
  117. #define CONFIG_SYS_I2C_G762_ADDR 0x3e
  118. #endif
  119. #endif /* CONFIG_CMD_I2C */
  120. /*
  121. * Partition support
  122. */
  123. #define CONFIG_DOS_PARTITION
  124. #define CONFIG_EFI_PARTITION
  125. /*
  126. * File systems support
  127. */
  128. /*
  129. * Environment variables configurations
  130. */
  131. #define CONFIG_ENV_IS_IN_SPI_FLASH
  132. #define CONFIG_ENV_SECT_SIZE 0x10000 /* 64KB */
  133. #define CONFIG_ENV_SIZE 0x1000 /* 4KB */
  134. #define CONFIG_ENV_ADDR 0x70000
  135. #define CONFIG_ENV_OFFSET 0x70000 /* env starts here */
  136. /*
  137. * Default environment variables
  138. */
  139. #define CONFIG_BOOTARGS "console=ttyS0,115200"
  140. #define CONFIG_BOOTCOMMAND \
  141. "dhcp && run netconsole; " \
  142. "if run usbload || run diskload; then bootm; fi"
  143. #define CONFIG_EXTRA_ENV_SETTINGS \
  144. "stdin=serial\0" \
  145. "stdout=serial\0" \
  146. "stderr=serial\0" \
  147. "bootfile=uImage\0" \
  148. "loadaddr=0x800000\0" \
  149. "autoload=no\0" \
  150. "netconsole=" \
  151. "set stdin $stdin,nc; " \
  152. "set stdout $stdout,nc; " \
  153. "set stderr $stderr,nc;\0" \
  154. "diskload=ide reset && " \
  155. "ext2load ide 0:1 $loadaddr /boot/$bootfile\0" \
  156. "usbload=usb start && " \
  157. "fatload usb 0:1 $loadaddr /boot/$bootfile\0"
  158. #endif /* _CONFIG_LACIE_KW_H */