runmode.mk 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. # NOTE: RUN Mode, to control ILM/DLM/ICACHE/DCACHE enable or disable
  2. # Combined with ILM_EN/DLM_EN/IC_EN/DC_EN/CCM_EN
  3. # only works in evalsoc
  4. RUNMODE ?=
  5. ifneq ($(RUNMODE),) # RUNMODE defined but not empty
  6. # lm mode, ilm/dlm enabled, icache/dcache disabled
  7. ifeq ($(RUNMODE),lm)
  8. ILM_EN ?= 1
  9. DLM_EN ?= 1
  10. IC_EN ?= 0
  11. DC_EN ?= 0
  12. CCM_EN ?= 0
  13. # icache+dlm mode, ilm disabled, icache enabled, dlm enabled, dcache disabled
  14. else ifeq ($(RUNMODE),icdlm)
  15. ILM_EN ?= 0
  16. DLM_EN ?= 1
  17. IC_EN ?= 1
  18. DC_EN ?= 0
  19. CCM_EN ?= 1
  20. # dcache+ilm mode, ilm enabled, icache disabled, dlm disabled, dcache enabled
  21. else ifeq ($(RUNMODE),dcilm)
  22. ILM_EN ?= 1
  23. DLM_EN ?= 0
  24. IC_EN ?= 0
  25. DC_EN ?= 1
  26. CCM_EN ?= 1
  27. # cache mode, ilm/dlm is disabled, icache/dcache enabled
  28. else ifeq ($(RUNMODE),cache)
  29. ILM_EN ?= 0
  30. DLM_EN ?= 0
  31. IC_EN ?= 1
  32. DC_EN ?= 1
  33. CCM_EN ?= 1
  34. # bus mode, ilm/dlm/icache/dcache is disabled by default
  35. else ifeq ($(RUNMODE),bus)
  36. ILM_EN ?= 0
  37. DLM_EN ?= 0
  38. IC_EN ?= 0
  39. DC_EN ?= 0
  40. CCM_EN ?= 0
  41. # all on/cache lm mode, ilm/dlm/icache/dcache enabled
  42. else ifeq ($(RUNMODE),clm)
  43. ILM_EN ?= 1
  44. DLM_EN ?= 1
  45. IC_EN ?= 1
  46. DC_EN ?= 1
  47. CCM_EN ?= 1
  48. # if not match above cases, manual control mode, if not match, default equal lm mode
  49. else
  50. ILM_EN ?= 1
  51. DLM_EN ?= 1
  52. IC_EN ?= 0
  53. DC_EN ?= 0
  54. CCM_EN ?= 0
  55. endif
  56. $(info Do run mode control, RUNMODE=$(RUNMODE), IC_EN=$(IC_EN), DC_EN=$(DC_EN), ILM_EN=$(ILM_EN), DLM_EN=$(DLM_EN), CCM_EN=$(CCM_EN))
  57. COMMON_FLAGS += -DRUNMODE_STRING=\"$(RUNMODE)\" -DRUNMODE_CONTROL
  58. else # RUNMODE is not defined
  59. # please don't define RUNMODE_CONTROL
  60. CCM_EN ?=
  61. ILM_EN ?=
  62. DLM_EN ?=
  63. IC_EN ?=
  64. DC_EN ?=
  65. endif
  66. ifneq ($(ILM_EN),)
  67. COMMON_FLAGS += -DRUNMODE_ILM_EN=$(ILM_EN)
  68. endif
  69. ifneq ($(DLM_EN),)
  70. COMMON_FLAGS += -DRUNMODE_DLM_EN=$(DLM_EN)
  71. endif
  72. ifneq ($(IC_EN),)
  73. COMMON_FLAGS += -DRUNMODE_IC_EN=$(IC_EN)
  74. endif
  75. ifneq ($(DC_EN),)
  76. COMMON_FLAGS += -DRUNMODE_DC_EN=$(DC_EN)
  77. endif
  78. ifneq ($(CCM_EN),)
  79. COMMON_FLAGS += -DRUNMODE_CCM_EN=$(CCM_EN)
  80. endif
  81. LDSPEC_EN ?=
  82. ifneq ($(LDSPEC_EN),)
  83. COMMON_FLAGS += -DRUNMODE_LDSPEC_EN=$(LDSPEC_EN)
  84. endif
  85. L2_EN ?=
  86. ifneq ($(L2_EN),)
  87. COMMON_FLAGS += -DRUNMODE_L2_EN=$(L2_EN)
  88. endif
  89. BPU_EN ?=
  90. ifneq ($(BPU_EN),)
  91. COMMON_FLAGS += -DRUNMODE_BPU_EN=$(BPU_EN)
  92. endif
  93. ECC_EN ?=
  94. ifneq ($(ECC_EN),)
  95. COMMON_FLAGS += -DRUNMODE_ECC_EN=$(ECC_EN)
  96. endif