sys.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /**
  2. ******************************************************************************
  3. * @file sys.h
  4. * @author StarFive Technology
  5. * @version V1.0
  6. * @date 07/22/2020
  7. * @brief
  8. ******************************************************************************
  9. * @copy
  10. *
  11. * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  12. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  13. * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
  14. * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  15. * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  16. * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  17. *
  18. * COPYRIGHT 2020 Shanghai StarFive Technology Co., Ltd.
  19. */
  20. #ifndef SYS_H_
  21. #define SYS_H_
  22. /*********************************** sys clock************************/
  23. #define E32_ADDR_REMAP_OFFSET 0
  24. #define U74_SYS_PORT_DDRC_BASE_ADDR 0x1000000000LL
  25. #define OMC_CFG0_BASE_ADDR (E32_ADDR_REMAP_OFFSET+0x0011000000LL)
  26. #define OMC_CFG1_BASE_ADDR (E32_ADDR_REMAP_OFFSET+0x0011010000LL)
  27. #define DDRPHY0_CSR_BASE_ADDR (E32_ADDR_REMAP_OFFSET+0x0011820000LL)
  28. #define DDRPHY1_CSR_BASE_ADDR (E32_ADDR_REMAP_OFFSET+0x0011830000LL)
  29. #define QSPI_CLK 100000000
  30. #define QSPI_REF_CLK 250000000
  31. #define TIMER_CLK_HZ 6250000
  32. #define DEFAULT_SD_BOOT_LOAD_BLOCK 1000
  33. #define DEFAULT_SPI_BOOT_START_ADDR 1
  34. #define DEFAULT_SPI_BOOT_SIZE_ADDR 0x0
  35. #define DEFAULT_SPI_BOOT_LOAD_PAGES 512
  36. // QSPI
  37. #define QSPI_BASE_ADDR 0x11860000
  38. //CADENCE QSPI AHB
  39. #define QSPI_BASE_AHB_ADDR 0x20000000
  40. // TIMER --WDT
  41. #define TIMER_BASE_ADDR 0x12480000
  42. // SDIO0
  43. #define SDIO0_BASE_ADDR 0x10000000
  44. // SDIO1
  45. #define SDIO1_BASE_ADDR 0x10010000
  46. // GPIO
  47. #define GPIO_BASE_ADDR 0x11910000///0xA9060000
  48. #define EZGPIO_FULLMUX_BASE_ADDR 0x11910000
  49. #define RSTGEN_BASE_ADDR 0x11840000
  50. #define CLKGEN_BASE_ADDR 0x11800000
  51. // CLKGEN
  52. #define VIC_CLKGEN_TOP_SV_BASE_ADDR 0x11800000///0xA9090000
  53. // RSTGEN
  54. #define VIC_RSTGEN_BASE_ADDR 0x11840000///0xA90A0000
  55. #define SYSCON_IOPAD_CTRL_BASE_ADDR 0x11858000
  56. // SYSCON
  57. #define SYSCON_SYSMAIN_CTRL_BASE_ADDR 0x11850000
  58. // HS-UART0
  59. #define UART0_HS_BASE_ADDR 0x11870000
  60. // HS-UART1
  61. #define UART1_HS_BASE_ADDR 0x11880000
  62. // UART2
  63. #define UART2_BASE_ADDR 0x12430000
  64. // UART3
  65. #define UART3_BASE_ADDR 0x12440000
  66. /*Reserved information:
  67. *second boot:64K 0x0 - 0xffff
  68. *ddr init:64K 0x10000 - 0x1ffff
  69. *uboot:1M 0x20000 - 0x11ffff
  70. *kernel:25M 0x120000 - 0x1a1ffff
  71. */
  72. /*Reserved information:
  73. *second boot:32K 0x0 - 0x7fff
  74. *ddr init:50K 0x8000 - 0x147ff
  75. *uboot:500K 0x14800 - 0x917ff
  76. *kernel:25M 0x130000 - 0x1a3ffff
  77. */
  78. #define UBOOT_EXEC_AT_NBDLA_2M 0
  79. #define UBOOT_EXEC_AT_SYS_PORT 0
  80. /*DDR bin file */
  81. #define DEFAULT_DDR_ADDR 0x18080000
  82. #define DEFAULT_DDR_OFFSET 0x100
  83. /*uboot bin file*/
  84. #if (UBOOT_EXEC_AT_NBDLA_2M == 1)
  85. #define DEFAULT_UBOOT_ADDR 0x19c00000
  86. #elif (UBOOT_EXEC_AT_SYS_PORT == 1)
  87. #define DEFAULT_UBOOT_ADDR 0x1000000000
  88. #else
  89. #define DEFAULT_UBOOT_ADDR 0x80000000
  90. #endif
  91. #define DEFAULT_UBOOT_OFFSET 0x400
  92. /*kernel image file*/
  93. #define DEFAULT_KERNEL_ADDR 0xa0000000
  94. #define DEFAULT_KERNEL_OFFSET 0x1200
  95. #define FLASH_SECONDBOOT_START_ADDR 0
  96. #define FLASH_SECONDBOOT_SIZE_LIMIT (64*1024)
  97. #define FLASH_DDRINIT_START_ADDR 0x10000
  98. #define FLASH_DDRINIT_SIZE_LIMIT (192*1024)
  99. #define FLASH_UBOOT_START_ADDR 0x40000
  100. #define FLASH_UBOOT_SIZE_LIMIT (3*1024*1024)
  101. #define DEFAULT_UBOOT_LOAD_ADDR DEFAULT_UBOOT_ADDR
  102. #define DEFAULT_SECONDBOOT_LOAD_ADDR 0x180a8000 /*32k*/
  103. #define DEFAULT_DDRINIT_LOAD_ADDR 0x18000000 /*128K*/
  104. #endif