freebsd-skq/sys/contrib/octeon-sdk/cvmx-resources.config
jmallett 4948f4b8d5 Import the Cavium Simple Executive from the Cavium Octeon SDK. The Simple
Executive is a library that can be used by standalone applications and kernels
to abstract access to Octeon SoC and board-specific hardware and facilities.
The FreeBSD port to Octeon will be updated to use this where possible.
2010-07-20 07:19:43 +00:00

173 lines
6.3 KiB
Plaintext

/***********************license start***************
* Copyright (c) 2003-2008 Cavium Networks (support@cavium.com). All rights
* reserved.
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
*
* * Neither the name of Cavium Networks nor the names of
* its contributors may be used to endorse or promote products
* derived from this software without specific prior written
* permission.
*
* TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
* AND WITH ALL FAULTS AND CAVIUM NETWORKS MAKES NO PROMISES, REPRESENTATIONS
* OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH
* RESPECT TO THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY
* REPRESENTATION OR DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT
* DEFECTS, AND CAVIUM SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES
* OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR
* PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET
* POSSESSION OR CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT
* OF USE OR PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
*
*
* For any questions regarding licensing please contact marketing@caviumnetworks.com
*
***********************license end**************************************/
/*
* File version info: $Id: cvmx-resources.config 42150 2009-04-10 21:43:27Z pkapoor $
*
*/
#ifndef __CVMX_RESOURCES_CONFIG__
#define __CVMX_RESOURCES_CONFIG__
#if (CVMX_HELPER_FIRST_MBUFF_SKIP > 256)
#error CVMX_HELPER_FIRST_MBUFF_SKIP is greater than the maximum of 256
#endif
#if (CVMX_HELPER_NOT_FIRST_MBUFF_SKIP > 256)
#error CVMX_HELPER_NOT_FIRST_MBUFF_SKIP is greater than the maximum of 256
#endif
/* Content below this point is only used by the cvmx-config tool, and is
** not used by any C files as CAVIUM_COMPONENT_REQUIREMENT is never
defined.
*/
#ifdef CAVIUM_COMPONENT_REQUIREMENT
/* Define the number of LLM ports (interfaces), can be 1 or 2 */
cvmxconfig
{
#if CVMX_LLM_CONFIG_NUM_PORTS == 2
define CVMX_LLM_NUM_PORTS value = 2;
#else
define CVMX_LLM_NUM_PORTS value = 1;
#endif
}
/* Control the setting of Null pointer detection, default to enabled */
cvmxconfig {
#ifdef CVMX_CONFIG_NULL_POINTER_PROTECT
define CVMX_NULL_POINTER_PROTECT value = CVMX_CONFIG_NULL_POINTER_PROTECT;
#else
define CVMX_NULL_POINTER_PROTECT value = 1;
#endif
}
/* Control Debug prints, default to enabled */
cvmxconfig {
#ifdef CVMX_CONFIG_ENABLE_DEBUG_PRINTS
define CVMX_ENABLE_DEBUG_PRINTS value = CVMX_CONFIG_ENABLE_DEBUG_PRINTS;
#else
define CVMX_ENABLE_DEBUG_PRINTS value = 1;
#endif
}
/* Define CVMX_ENABLE_DFA_FUNCTIONS to allocate resources for the DFA functions */
#ifdef CVMX_ENABLE_DFA_FUNCTIONS
cvmxconfig
{
fpa CVMX_FPA_DFA_POOL
size = 2
protected = 1
description = "DFA command buffers";
fau CVMX_FAU_DFA_STATE
size = 8
count = 1
description = "FAU registers for the state of the DFA command queue";
}
#endif
/* Define CVMX_ENABLE_PKO_FUNCTIONS to allocate resources for the PKO functions */
#ifdef CVMX_ENABLE_PKO_FUNCTIONS
cvmxconfig
{
define CVMX_PKO_QUEUES_PER_PORT_INTERFACE0
value = CVMX_HELPER_PKO_QUEUES_PER_PORT_INTERFACE0
description = "PKO queues per port for interface 0 (ports 0-15)";
define CVMX_PKO_QUEUES_PER_PORT_INTERFACE1
value = CVMX_HELPER_PKO_QUEUES_PER_PORT_INTERFACE1
description = "PKO queues per port for interface 1 (ports 16-31)";
define CVMX_PKO_MAX_PORTS_INTERFACE0
value = CVMX_HELPER_PKO_MAX_PORTS_INTERFACE0
description = "Limit on the number of PKO ports enabled for interface 0";
define CVMX_PKO_MAX_PORTS_INTERFACE1
value = CVMX_HELPER_PKO_MAX_PORTS_INTERFACE1
description = "Limit on the number of PKO ports enabled for interface 1";
define CVMX_PKO_QUEUES_PER_PORT_PCI
value = 1
description = "PKO queues per port for PCI (ports 32-35)";
define CVMX_PKO_QUEUES_PER_PORT_LOOP
value = 1
description = "PKO queues per port for Loop devices (ports 36-39)";
fpa CVMX_FPA_PACKET_POOL
pool = 0
size = 16
priority = 1
protected = 1
description = "Packet buffers";
fpa CVMX_FPA_OUTPUT_BUFFER_POOL
size = 8
protected = 1
description = "PKO queue command buffers";
scratch CVMX_SCR_SCRATCH
size = 8
iobdma = true
permanent = false
description = "Generic scratch iobdma area";
}
#endif
/* Define CVMX_ENABLE_HELPER_FUNCTIONS to allocate resources for the helper functions */
#ifdef CVMX_ENABLE_HELPER_FUNCTIONS
cvmxconfig
{
fpa CVMX_FPA_WQE_POOL
size = 1
priority = 1
protected = 1
description = "Work queue entrys";
}
#endif
/* Define CVMX_ENABLE_TIMER_FUNCTIONS to allocate resources for the timer functions */
#ifdef CVMX_ENABLE_TIMER_FUNCTIONS
cvmxconfig
{
fpa CVMX_FPA_TIMER_POOL
size = 8
protected = 1
description = "TIM command buffers";
}
#endif
#endif
#endif /* __CVMX_RESOURCES_CONFIG__ */