1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/sys/contrib/octeon-sdk/cvmx-resources.config

198 lines
7.7 KiB
Plaintext
Raw Normal View History

/***********************license start***************
* Copyright (c) 2003-2010 Cavium Inc. (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 Inc. nor the names of
* its contributors may be used to endorse or promote products
* derived from this software without specific prior written
* permission.
* This Software, including technical data, may be subject to U.S. export control
* laws, including the U.S. Export Administration Act and its associated
* regulations, and may be subject to export or import regulations in other
* countries.
* TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
* AND WITH ALL FAULTS AND CAVIUM INC. 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.
***********************license end**************************************/
/*
* File version info: $Id: cvmx-resources.config 70030 2012-02-16 04:23:43Z cchavva $
*
*/
#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_QUEUES_PER_PORT_INTERFACE2
value = CVMX_HELPER_PKO_QUEUES_PER_PORT_INTERFACE2
description = "PKO queues per port for interface 2";
define CVMX_PKO_QUEUES_PER_PORT_INTERFACE3
value = CVMX_HELPER_PKO_QUEUES_PER_PORT_INTERFACE3
description = "PKO queues per port for interface 3";
define CVMX_PKO_QUEUES_PER_PORT_INTERFACE4
value = CVMX_HELPER_PKO_QUEUES_PER_PORT_INTERFACE4
description = "PKO queues per port for interface 4";
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)";
/* We use two queues per port for SRIO0. Having two queues per
port with two ports gives us four queues, one for each mailbox */
define CVMX_PKO_QUEUES_PER_PORT_SRIO0
value = 2
description = "PKO queues per port for SRIO0 devices (ports 40-41)";
/* We use two queues per port for SRIO1. Having two queues per
port with two ports gives us four queues, one for each mailbox */
define CVMX_PKO_QUEUES_PER_PORT_SRIO1
value = 2
description = "PKO queues per port for SRIO1 devices (ports 42-43)";
/* Set the IPD cache mode, select from cvmx_ipd_mode_t. */
define CVMX_IPD_DRAM_MODE
value = CVMX_HELPER_IPD_DRAM_MODE
description = "set the IPD cache mode to CVMX_IPD_OPC_MODE_STT";
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__ */