]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/board/utils/uniflash/target/build/uart_make.mk
32dcf814d508cdfb678d01e21cb25ddc39d50a56
[processor-sdk/pdk.git] / packages / ti / board / utils / uniflash / target / build / uart_make.mk
1 # Copyright (C) 2019-2020 Texas Instruments Incorporated - http://www.ti.com/
2 #
3 #
4 #  Redistribution and use in source and binary forms, with or without
5 #  modification, are permitted provided that the following conditions
6 #  are met:
7 #
8 #    Redistributions of source code must retain the above copyright
9 #    notice, this list of conditions and the following disclaimer.
10 #
11 #    Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the
14 #    distribution.
15 #
16 #    Neither the name of Texas Instruments Incorporated nor the names of
17 #    its contributors may be used to endorse or promote products derived
18 #    from this software without specific prior written permission.
19 #
20 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 #  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 #  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 #  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 #  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 #  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 #  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 #  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 #  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 #
33 # Macro definitions referenced below
34 #
36 #
37 # This file is the makefile for building CSL uart app.
38 #
39 include $(PDK_INSTALL_PATH)/ti/build/Rules.make
41 # Board diag parameters which can be controlled outside this makefile
42 UNIFLASH ?= uart
43 PROFILE ?= release
44 TESTMODE ?= FUNCTIONAL_TEST
45 MODENAME ?=
46 BOARD_UTILS_CFLAGS ?=
48 HS_SUFFIX=
49 ifeq ($(BUILD_HS),yes)
50 HS_SUFFIX=_hs
51 endif
53 APP_NAME ?= board_utils_$(UNIFLASH)_flash_programmer$(HS_SUFFIX)
55 BUILD_PROFILE_$(CORE) = $(PROFILE)
57 BUILD_OS_TYPE = baremetal
58 LNKFLAGS_LOCAL_mpu1_0  += --entry Entry
59 EXTERNAL_INTERFACES =
60 XDC_CFG_FILE_mpu1_0 =
61 XDC_CFG_FILE_mcu1_0 =
63 UNIFLASH_BASE_DIR=$(PDK_BOARD_UTILS_COMP_PATH)/uniflash/target
65 # Name of the binary if different from the default (APP_NAME)_$(BOARD_$(CORE)_<build_profile>
66 LOCAL_APP_NAME = $(UNIFLASH)_$(BOARD)_flash_programmer
68 SRCDIR = $(UNIFLASH_BASE_DIR)/src
69 INCDIR = $(PDK_BOARD_COMP_PATH) $(UNIFLASH_BASE_DIR)/src $(UNIFLASH_BASE_DIR)/include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/include $(PDK_BOARD_COMP_PATH)/src/$(BOARD) $(PDK_BOARD_COMP_PATH)/src/flash $(PDK_CSL_COMP_PATH)
71 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm am65xx_evm am65xx_idk j7200_evm am64x_evm))
72   SRCDIR += $(UNIFLASH_BASE_DIR)/soc/k3 $(UNIFLASH_BASE_DIR)/src/ospi $(UNIFLASH_BASE_DIR)/src/qspi $(UNIFLASH_BASE_DIR)/src/hyperflash $(UNIFLASH_BASE_DIR)/src/emmc $(PDK_BOARD_COMP_PATH)/diag/common/$(SOC)
73   INCDIR += $(UNIFLASH_BASE_DIR)/soc/k3 $(UNIFLASH_BASE_DIR)/src/ospi $(UNIFLASH_BASE_DIR)/src/qspi $(UNIFLASH_BASE_DIR)/src/hyperflash $(UNIFLASH_BASE_DIR)/src/emmc $(PDK_BOARD_COMP_PATH)/diag/common/$(SOC)
74   ifeq ($(BOARD), $(filter $(BOARD), am65xx_evm am65xx_idk))
75     SRCDIR += $(PDK_BOARD_COMP_PATH)/diag/common/am65xx
76     INCDIR += $(PDK_BOARD_COMP_PATH)/diag/common/am65xx
77   endif
78 endif
80 ifeq ($(BOARD), $(filter $(BOARD), tpr12_evm))
81   SRCDIR += $(UNIFLASH_BASE_DIR)/soc/$(SOC) $(UNIFLASH_BASE_DIR)/src/qspi
82   INCDIR += $(UNIFLASH_BASE_DIR)/src/qspi
83 endif
85 # List all the external components/interfaces, whose interface header files
86 # need to be included for this component
87 INCLUDE_EXTERNAL_INTERFACES = pdk
89 # List all the components required by the application
90 COMP_LIST_COMMON = $(PDK_COMMON_BAREMETAL_COMP)
91 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm am65xx_evm am65xx_idk j7200_evm am64x_evm))
92 COMP_LIST_COMMON += spi_dma mmcsd
93 endif
95 ifeq ($(BOARD), $(filter $(BOARD), tpr12_evm))
96 COMP_LIST_COMMON += spi_dma
97 endif
99 ifneq ($(strip $(HS_SUFFIX)),) #if $(HS_SUFFIX) is non-empty
100   SCICLIENT := $(filter sciclient%,$(COMP_LIST_COMMON))
101   COMP_LIST_COMMON := $(subst $(SCICLIENT),$(SCICLIENT)_hs,$(COMP_LIST_COMMON))
102 endif
104 # Common source files and CFLAGS across all platforms and cores
105 ifeq ($(BUILD_HS),yes)
106   # Already packaged in non HS build. Relative paths are different. So better to skip
107   PACKAGE_SRCS_COMMON =
108 else
109   PACKAGE_SRCS_COMMON = ../../board ../../build ../../include ../../src ../../soc/soc.h
110   PACKAGE_SRCS_COMMON += ../../../host
111   PACKAGE_SRCS_COMMON += ../../../../board_utils_component.mk
112   ifeq ($(BOARD), $(filter $(BOARD), j721e_evm am65xx_evm am65xx_idk j7200_evm am64x_evm))
113   PACKAGE_SRCS_COMMON += ../../soc/k3
114   endif
115   ifeq ($(BOARD), $(filter $(BOARD), tpr12_evm))
116   PACKAGE_SRCS_COMMON += ../../soc/$(SOC)
117   endif
118   PACKAGE_SRCS_COMMON = ../../target ../../host ../../../board_utils_component.mk
119 endif
121 SRCS_COMMON = uart_main.c xmodem.c soc.c
123 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm j7200_evm))
124 SRCS_COMMON += ospi.c emmc.c hyperflash.c
125 EXTERNAL_LNKCMD_FILE_LOCAL = $(UNIFLASH_BASE_DIR)/soc/k3/linker_j7.cmd
126 endif
128 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm))
129 SRCS_COMMON += qspi.c
130 endif
131 ifeq ($(BOARD), $(filter $(BOARD), am65xx_evm am65xx_idk am64x_evm))
132 SRCS_COMMON += ospi.c emmc.c
133 EXTERNAL_LNKCMD_FILE_LOCAL = $(UNIFLASH_BASE_DIR)/soc/k3/linker_am64x.cmd
134 endif
136 ifeq ($(BOARD), $(filter $(BOARD), tpr12_evm))
137 SRCS_COMMON += qspi.c
138 EXTERNAL_LNKCMD_FILE_LOCAL = $(UNIFLASH_BASE_DIR)/soc/$(SOC)/linker.cmd
139 BOARD_UTILS_CFLAGS += -DSPI_DMA_ENABLE
140 endif
142 ifeq ($(NOJTAG), yes)
143 BOARD_UTILS_CFLAGS += UFP_DISABLE_JTAG_LOAD
144 endif
146 CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) $(BOARD_UTILS_CFLAGS) -DSOC_$(SOC) -D$(BOARD)
147 ifeq ($(BOARD), $(filter $(BOARD), am65xx_evm am65xx_idk))
148 CFLAGS_LOCAL_COMMON += -DSOC_AM65XX
149 endif
151 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm am65xx_evm am65xx_idk am64x_evm))
152 ifeq ($(BUILD_HS),no)
153 #CFLAGS_LOCAL_COMMON += -DSPI_DMA_ENABLE
154 endif
155 endif
157 SBL_OBJ_COPY := $(TOOLCHAIN_PATH_GCC_ARCH64)/bin/$(GCC_ARCH64_BIN_PREFIX)-objcopy
158 export SBL_OBJ_COPY
160 # Include common make files
161 ifeq ($(MAKERULEDIR), )
162 #Makerule path not defined, define this and assume relative path from ROOTDIR
163   MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
164   export MAKERULEDIR
165 endif
166 include $(MAKERULEDIR)/common.mk
168 # OBJs and libraries are built by using rule defined in rules_<target>.mk
169 #     and need not be explicitly specified here
171 # Nothing beyond this point