Files
m241Neelima/vxworks-6.9/target/h/arch/mips/private/cavSdkDrvInclude.h
T
2026-07-30 11:19:44 +05:30

77 lines
3.0 KiB
C

/* cavSdkDrvInclude.h - Define path to SDK for Wind River Cavium interface */
/*
* Copyright (c) 2010-2011, 2105 Wind River Systems, Inc.
*
* The right to copy, distribute, modify or otherwise make use
* of this software may be licensed only pursuant to the terms
* of an applicable Wind River license agreement.
*/
/*
modification history
--------------------
01c,12oct15,g_x select SDK path according to CPU (US67253)
01b,14jun11,d_c Rename latest SDK directory in clearcase to OCTEON-SDK
01a,20oct10,d_c written
DESCRIPTION
This header defines a macro to be used by the Wind River Cavium hardware
interface API defined in h/arch/mips/cav*.h. In many cases, the API
defines it's data types as aliases for native Cavium SDK data types.
In these cases, the native SDK type is pulled in by including a header
from the SDK.
WARNING: The files included by the Wind River Cavium API have been
reviewed and tested to be compatible with both the Diab and Gnu
compilers, and verified to be backwards compatible to prior SDK
versions. Many of the files in the Cavium SDK will not compile with
Diab and are not suitable for directly including in our driver or BSP
code. Do not use this macro directly in any driver or BSP module, or
to include some other file that has not been verified.
*/
#ifndef __INCcavSdkDrvIncludeh
#define __INCcavSdkDrvIncludeh
#define CAV_SDK_STRINGIFY(x) #x
/* Modules in target/src/vendor/octeon include .c and .h files direcly
* from the SDK. They also include cav interface files
* (arch/mips/cav*.h) for cav interface definitions. To avoid
* including SDK files twice, these modules set CAV_INCLUDED_SDK to
* indicate that the SDK has already been included. In that case, we
* simply include this file, which essentially include nothing.
*/
#ifndef CAV_INCLUDED_SDK
/* Here we define the path into the SDK directory. This is where the
* selection of the SDK version to be used by drivers is selected. In
* general, we always use the latest SDK we have tested and rely on it
* to be backwards compatible with previous SDK versions.
* For ARCH and SDK libraries building, we use 3.1.1 for CN78XX, and
* 2.1.0 for others.
*/
#if ((OCTEON_BOARD == CAVIUM_BOARD_EBT3000) || (OCTEON_BOARD == CAVIUM_BOARD_EBH5020) || \
(OCTEON_BOARD == CAVIUM_BOARD_EBH5600) || (OCTEON_BOARD == CAVIUM_BOARD_EVB5860) || \
(OCTEON_BOARD == CAVIUM_BOARD_EVB6300) || (OCTEON_BOARD == CAVIUM_BOARD_EVB6800) || \
defined (MIPSXX_cav_cn3xxx) || defined (MIPSXX_cav_cn5xxx) || defined (MIPSXX_cav_cn6xxx))
#define CAV_SDK_DRV_INCLUDE(incF) \
CAV_SDK_STRINGIFY(../src/hwif/fw/cavium_sdk/OCTEON-SDK/executive/incF)
#else /* (OCTEON_MODEL=OCTEON_CN78XX) or non-defined, use new SDK */
#define CAV_SDK_DRV_INCLUDE(incF) \
CAV_SDK_STRINGIFY(../src/hwif/fw/cavium_sdk/OCTEON-SDK-3.1.1-p1-547/executive/incF)
#endif
#else /* CAV_INCLUDED_SDK */
#define CAV_SDK_DRV_INCLUDE(incF) \
CAV_SDK_STRINGIFY(arch/mips/private/cavSdkDrvInclude.h)
#endif /* CAV_INCLUDED_SDK */
#endif /* cavSdkDrvIncludeh */