1 #
2 # Copyright (c) 2016 - 2020, Texas Instruments Incorporated
3 # All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
7 # are met:
8 #
9 # * Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 #
12 # * Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in the
14 # documentation and/or other materials provided with the 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 "AS IS"
21 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #
32 SOC_INDP_LIB_SOCS=k2h k2k k2l k2e k2g c6657 c6678 omapl137 omapl138 am571x am572x am574x am335x am437x
33 SOC_DEP_LIB_SOCS=tda2xx tda3xx tda2px dra75x tda2ex dra72x dra78x j721e am77x j7200 am65xx am64x tpr12
35 PACKAGE_SRCS_COMMON = makefile SPI.h MCSPI.h MIBSPI.h spi_component.mk .gitignore \
36 docs/ReleaseNotes_SPI_LLD.pdf \
37 src/SPI_drv.c src/SPI_osal.h src/src_files_common.mk \
38 build/makefile.mk build/makefile_profile.mk \
39 build/makefile_indp.mk build/makefile_profile_indp.mk \
40 build/makefile_dma.mk build/makefile_dma_profile.mk
43 ifeq ($(SOC),$(filter $(SOC), $(SOC_INDP_LIB_SOCS) ))
44 # All src/v1 files
45 SRCDIR = . src src/v1
46 INCDIR = . src src/v1
47 SRCS_COMMON += SPI_drv.c SPI_v1.c QSPI_v1.c
48 PACKAGE_SRCS_COMMON += src/v1
50 # All src/v0 files
51 SRCDIR += src/v0
52 INCDIR += src/v0
53 SRCS_COMMON += SPI_v0.c OSPI_v0.c QSPI_v0.c
54 PACKAGE_SRCS_COMMON += src/v0
56 # All src/v2 files
57 ifeq ($(SOC),$(filter $(SOC), am335x, am437x))
58 SRCDIR += src/v2
59 INCDIR += src/v2
60 SRCS_COMMON += ESPI_v2.c
61 PACKAGE_SRCS_COMMON += src/v2 build/makefile_icss_espi.mk
62 endif
64 endif
67 ifeq ($(SOC),$(filter $(SOC),$(SOC_DEP_LIB_SOCS) ))
68 ifeq ($(SOC),$(filter $(SOC), tpr12))
69 # TPR12 targets include SPI_V3
70 SRCDIR = . src src/v3
71 INCDIR = . src src/v3
72 SRCS_COMMON += SPI_drv.c SPI_v3.c MIBSPI_drv.c mibspi_trace.c mibspi_utils.c
73 PACKAGE_SRCS_COMMON += src/v3/SPI_v3.c soc/SPI_v3.h
74 PACKAGE_SRCS_COMMON += src/V3/mibspi_trace.c src/V3/mibspi_priv.h
75 PACKAGE_SRCS_COMMON += src/V3/mibspi_trace.h src/V3/mibspi_trace_config.h
76 PACKAGE_SRCS_COMMON += src/V3/mibspi_trace_priv.h src/V3/mibspi_utils.c
77 PACKAGE_SRCS_COMMON += src/V3/mibspi_utils.h
78 else
79 # TDA & J7 targets include SPI_V1, QSPI_V1(for Sitara) , OSPI_V1(For J7)
80 SRCDIR = . src src/v1
81 INCDIR = . src src/v1
82 SRCS_COMMON += SPI_drv.c SPI_v1.c
83 PACKAGE_SRCS_COMMON += src/v1/SPI_v1.c soc/SPI_v1.h
85 ifeq ($(SOC),$(filter $(SOC), tda2xx tda2px dra75x tda2ex dra72x tda3xx dra78x))
86 SRCS_COMMON += QSPI_v1.c
87 PACKAGE_SRCS_COMMON += src/v1/QSPI_v1.c soc/QSPI_v1.h
88 endif
90 ifeq ($(SOC),$(filter $(SOC), j721e am77x j7200 am65xx))
91 SRCDIR += src/v0
92 INCDIR += src/v0
93 SRCS_COMMON += OSPI_v0.c
94 PACKAGE_SRCS_COMMON += src/v0/OSPI_v0.c src/v0/OSPI_v0.h
95 endif
96 endif
97 endif
99 ifeq ($(SOC),$(filter $(SOC), j721e am77x j7200 am65xx am64x))
100 SRCDIR += src/v0
101 INCDIR += src/v0
102 SRCS_COMMON += OSPI_v0.c
103 PACKAGE_SRCS_COMMON += src/v0/OSPI_v0.c src/v0/OSPI_v0.h
104 endif
106 ifeq ($(SOC),$(filter $(SOC), tpr12))
107 MIBSPI_CFLAGS =
108 # Enable asserts and prints
109 MIBSPI_CFLAGS += -DMIBSPI_CFG_ASSERT_ENABLE
110 #MIBSPI_CFLAGS += -DMIBSPI_CFG_USE_STD_ASSERT
111 MIBSPI_CFLAGS += -DMIBSPI_CFG_PRINT_ENABLE
112 MIBSPI_CFLAGS += -DUART_ENABLED
113 # Trace level per build profile:
114 # 0 - None
115 # 1 - Error
116 # 2 - Warning
117 # 3 - Info
118 # 4 - Debug
119 # 5 - Verbose
120 ifeq ($(BUILD_PROFILE),debug)
121 MIBSPI_CFLAGS += -DMIBSPI_TRACE_CFG_TRACE_LEVEL=4
122 MIBSPI_CFLAGS += -DMIBSPI_CFG_DEV_ERROR
123 else
124 MIBSPI_CFLAGS += -DMIBSPI_TRACE_CFG_TRACE_LEVEL=3
125 endif