ds414.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. /*
  2. * Copyright (C) 2014 Stefan Roese <sr@denx.de>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _CONFIG_SYNOLOGY_DS414_H
  7. #define _CONFIG_SYNOLOGY_DS414_H
  8. /*
  9. * High Level Configuration Options (easy to change)
  10. */
  11. #define CONFIG_DISPLAY_BOARDINFO_LATE
  12. /*
  13. * TEXT_BASE needs to be below 16MiB, since this area is scrubbed
  14. * for DDR ECC byte filling in the SPL before loading the main
  15. * U-Boot into it.
  16. */
  17. #define CONFIG_SYS_TEXT_BASE 0x00800000
  18. #define CONFIG_SYS_TCLK 250000000 /* 250MHz */
  19. /*
  20. * Commands configuration
  21. */
  22. #define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */
  23. #define CONFIG_CMD_ENV
  24. /* I2C */
  25. #define CONFIG_SYS_I2C
  26. #define CONFIG_SYS_I2C_MVTWSI
  27. #define CONFIG_I2C_MVTWSI_BASE0 MVEBU_TWSI_BASE
  28. #define CONFIG_SYS_I2C_SLAVE 0x0
  29. #define CONFIG_SYS_I2C_SPEED 100000
  30. /* SPI NOR flash default params, used by sf commands */
  31. #define CONFIG_SF_DEFAULT_SPEED 1000000
  32. #define CONFIG_SF_DEFAULT_MODE SPI_MODE_3
  33. /* Environment in SPI NOR flash */
  34. #define CONFIG_ENV_IS_IN_SPI_FLASH
  35. #define CONFIG_ENV_OFFSET 0x7E0000 /* RedBoot config partition in DTS */
  36. #define CONFIG_ENV_SIZE (64 << 10) /* 64KiB */
  37. #define CONFIG_ENV_SECT_SIZE (64 << 10) /* 64KiB sectors */
  38. #define CONFIG_PHY_MARVELL /* there is a marvell phy */
  39. #define CONFIG_PHY_ADDR { 0x1, 0x0 }
  40. #define CONFIG_SYS_NETA_INTERFACE_TYPE PHY_INTERFACE_MODE_RGMII
  41. #define CONFIG_SYS_ALT_MEMTEST
  42. /* PCIe support */
  43. #ifndef CONFIG_SPL_BUILD
  44. #define CONFIG_CMD_PCI
  45. #define CONFIG_CMD_PCI_ENUM
  46. #define CONFIG_PCI_MVEBU
  47. #define CONFIG_PCI_SCAN_SHOW
  48. #endif
  49. /* USB/EHCI/XHCI configuration */
  50. #define CONFIG_DM_USB
  51. #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  52. /* FIXME: broken XHCI support
  53. * Below defines should enable support for the two rear USB3 ports. Sadly, this
  54. * does not work because:
  55. * - xhci-pci seems to not support DM_USB, so with that enabled it is not
  56. * found.
  57. * - USB init fails, controller does not respond in time */
  58. #if 0
  59. #undef CONFIG_DM_USB
  60. #define CONFIG_USB_XHCI_PCI
  61. #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
  62. #endif
  63. #if !defined(CONFIG_USB_XHCI_HCD)
  64. #define CONFIG_USB_EHCI
  65. #define CONFIG_USB_EHCI_MARVELL
  66. #define CONFIG_EHCI_IS_TDI
  67. #endif
  68. /* why is this only defined in mv-common.h if CONFIG_DM is undefined? */
  69. #define CONFIG_DOS_PARTITION
  70. #define CONFIG_ISO_PARTITION
  71. #define CONFIG_SUPPORT_VFAT
  72. #define CONFIG_SYS_MVFS
  73. /*
  74. * mv-common.h should be defined after CMD configs since it used them
  75. * to enable certain macros
  76. */
  77. #include "mv-common.h"
  78. /*
  79. * Memory layout while starting into the bin_hdr via the
  80. * BootROM:
  81. *
  82. * 0x4000.4000 - 0x4003.4000 headers space (192KiB)
  83. * 0x4000.4030 bin_hdr start address
  84. * 0x4003.4000 - 0x4004.7c00 BootROM memory allocations (15KiB)
  85. * 0x4007.fffc BootROM stack top
  86. *
  87. * The address space between 0x4007.fffc and 0x400f.fff is not locked in
  88. * L2 cache thus cannot be used.
  89. */
  90. /* SPL */
  91. /* Defines for SPL */
  92. #define CONFIG_SPL_FRAMEWORK
  93. #define CONFIG_SPL_TEXT_BASE 0x40004030
  94. #define CONFIG_SPL_MAX_SIZE ((128 << 10) - 0x4030)
  95. #define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
  96. #define CONFIG_SPL_BSS_MAX_SIZE (16 << 10)
  97. #ifdef CONFIG_SPL_BUILD
  98. #define CONFIG_SYS_MALLOC_SIMPLE
  99. #endif
  100. #define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
  101. #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
  102. /* SPL related SPI defines */
  103. #define CONFIG_SPL_SPI_LOAD
  104. #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x24000
  105. /* DS414 bus width is 32bits */
  106. #define CONFIG_DDR_32BIT
  107. /* Use random ethernet address if not configured */
  108. #define CONFIG_LIB_RAND
  109. #define CONFIG_NET_RANDOM_ETHADDR
  110. /* Default Environment */
  111. #define CONFIG_BOOTCOMMAND "sf read ${loadaddr} 0xd0000 0x700000; bootm"
  112. #define CONFIG_BOOTARGS "console=ttyS0,115200"
  113. #define CONFIG_LOADADDR 0x80000
  114. #undef CONFIG_PREBOOT /* override preboot for USB and SPI flash init */
  115. #define CONFIG_PREBOOT "usb start; sf probe"
  116. #endif /* _CONFIG_SYNOLOGY_DS414_H */