1 # Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/\r
2 #\r
3 #\r
4 # Redistribution and use in source and binary forms, with or without\r
5 # modification, are permitted provided that the following conditions\r
6 # are met:\r
7 #\r
8 # Redistributions of source code must retain the above copyright\r
9 # notice, this list of conditions and the following disclaimer.\r
10 #\r
11 # Redistributions in binary form must reproduce the above copyright\r
12 # notice, this list of conditions and the following disclaimer in the\r
13 # documentation and/or other materials provided with the\r
14 # distribution.\r
15 #\r
16 # Neither the name of Texas Instruments Incorporated nor the names of\r
17 # its contributors may be used to endorse or promote products derived\r
18 # from this software without specific prior written permission.\r
19 #\r
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
23 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
24 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
25 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
26 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
27 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
28 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
29 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
30 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
31 \r
32 #\r
33 # Macro definitions referenced below\r
34 #\r
35 \r
36 #\r
37 # This file is the makefile for building CSL uart app.\r
38 #\r
39 include $(PDK_INSTALL_PATH)/ti/build/Rules.make\r
40 \r
41 # Board diag parameters which can be controlled outside this makefile\r
42 UNIFLASH ?= uart\r
43 PROFILE ?= release\r
44 TESTMODE ?= FUNCTIONAL_TEST\r
45 MODENAME ?=\r
46 BOARD_UTILS_CFLAGS ?=\r
47 APP_NAME ?= board_utils_$(UNIFLASH)_flash_programmer\r
48 \r
49 BUILD_PROFILE_$(CORE) = $(PROFILE)\r
50 \r
51 BUILD_OS_TYPE = baremetal\r
52 LNKFLAGS_LOCAL_mpu1_0 += --entry Entry\r
53 EXTERNAL_INTERFACES =\r
54 XDC_CFG_FILE_mpu1_0 =\r
55 XDC_CFG_FILE_mcu1_0 =\r
56 \r
57 # Name of the binary if different from the default (APP_NAME)_$(BOARD_$(CORE)_<build_profile>\r
58 LOCAL_APP_NAME = $(UNIFLASH)_$(BOARD)_flash_programmer\r
59 \r
60 SRCDIR = ../src ./$(BOARD)\r
61 INCDIR = ../../../../../board ../src ../include ../../../../src/$(BOARD)/include ../../../../src/$(BOARD) ../../../../src/flash ../../../../../csl\r
62 \r
63 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm))\r
64 SRCDIR += ../soc/k3 ../src/ospi ../src/qspi ../src/hyperflash ../src/emmc ../../../../diag/common/$(SOC)\r
65 INCDIR += ../soc/k3 ../src/ospi ../src/qspi ../src/hyperflash ../src/emmc ../../../../diag/common/$(SOC)\r
66 endif\r
67 \r
68 # List all the external components/interfaces, whose interface header files\r
69 # need to be included for this component\r
70 INCLUDE_EXTERNAL_INTERFACES = pdk\r
71 \r
72 # List all the components required by the application\r
73 COMP_LIST_COMMON = board csl csl_init osal_nonos uart i2c sciclient\r
74 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm))\r
75 COMP_LIST_COMMON += spi_dma udma gpio mmcsd\r
76 endif\r
77 \r
78 \r
79 # Common source files and CFLAGS across all platforms and cores\r
80 PACKAGE_SRCS_COMMON = ../../board ../../build ../../include ../../src ../../soc/soc.h\r
81 PACKAGE_SRCS_COMMON += ../../../host\r
82 PACKAGE_SRCS_COMMON += ../../../../board_utils_component.mk\r
83 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm))\r
84 PACKAGE_SRCS_COMMON += ../../soc/k3\r
85 endif\r
86 \r
87 \r
88 SRCS_COMMON = uart_main.c xmodem.c soc.c\r
89 \r
90 ifeq ($(BOARD), $(filter $(BOARD), j721e_evm))\r
91 SRCS_COMMON += ospi.c qspi.c hyperflash.c emmc.c diag_common_cfg.c\r
92 EXTERNAL_LNKCMD_FILE_LOCAL = ../soc/k3/linker_j7.cmd\r
93 endif\r
94 \r
95 \r
96 CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) $(BOARD_UTILS_CFLAGS) -DSOC_$(SOC) -D$(BOARD) -DSPI_DMA_ENABLE\r
97 \r
98 SBL_OBJ_COPY := $(TOOLCHAIN_PATH_GCC_ARCH64)/bin/aarch64-elf-objcopy\r
99 export SBL_OBJ_COPY\r
100 \r
101 # Include common make files\r
102 ifeq ($(MAKERULEDIR), )\r
103 #Makerule path not defined, define this and assume relative path from ROOTDIR\r
104 MAKERULEDIR := $(ROOTDIR)/ti/build/makerules\r
105 export MAKERULEDIR\r
106 endif\r
107 include $(MAKERULEDIR)/common.mk\r
108 \r
109 # OBJs and libraries are built by using rule defined in rules_<target>.mk\r
110 # and need not be explicitly specified here\r
111 \r
112 # Nothing beyond this point\r