blob: 4d02fe338cc8595a7061e42690b598ab5455b964 [file] [log] [blame]
Shad Ansari2f7f9be2017-06-07 13:34:53 -07001/*
2<:copyright-BRCM:2016:DUAL/GPL:standard
3
4 Broadcom Proprietary and Confidential.(c) 2016 Broadcom
5 All Rights Reserved
6
7Unless you and Broadcom execute a separate written software license
8agreement governing use of this software, this software is licensed
9to you under the terms of the GNU General Public License version 2
10(the "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php,
11with the following added to such license:
12
13 As a special exception, the copyright holders of this software give
14 you permission to link this software with independent modules, and
15 to copy and distribute the resulting executable under terms of your
16 choice, provided that you also meet, for each linked independent
17 module, the terms and conditions of the license of that module.
18 An independent module is a module which is not derived from this
19 software. The special exception does not apply to any modifications
20 of the software.
21
22Not withstanding the above, under no circumstances may you combine
23this software in any way with any other Broadcom software provided
24under a license other than the GPL, without Broadcom's express prior
25written consent.
26
27:>
28 */
29
30#ifndef BCMOLT_CONFIG_H_
31#define BCMOLT_CONFIG_H_
32
33/** \defgroup config Configuration Constants
34 * Configuration constants that must be revised by customer
35 * @{
36 */
37
38/** CPU Endianness. Must be set to BCMOS_ENDIAN_BIG or BCMOS_ENDIAN_LITTLE. */
39#ifndef BCM_CPU_ENDIAN
40
41#error BCM_CPU_ENDIAN must be set BCMOS_ENDIAN_BIG or BCMOS_ENDIAN_LITTLE
42
43#endif /* #ifndef BCM_CPU_ENDIAN */
44
45/** Transport layer configuration defaults */
46#define BCMTR_TR_TYPE BCMTR_TYPE_UDP /**< Transport type: raw/udp */
47#define BCMTR_TR_UDP_HOST_IP 0x7f000001
48#define BCMTR_TR_UDP_OLT_IP 0x7f000001
49#define BCMTR_TR_UDP_HOST_PORT 0x4000
50#define BCMTR_TR_UDP_OLT_PORT 0x4010
51
52#define BCMTR_MAX_OLTS 2 /**< Max number of OLTs */
53#define BCMTR_MAX_INSTANCES 16 /**< Max number of message handler instances - typically a number of PON's */
54#define BCMTR_MAX_RETRIES 0 /**< Max number of request retransmissions */
55#define BCMTR_MSG_TIMEOUT 500 /**< Max time to wait for response or next message part (ms) */
56#define BCMTR_MAX_REQUESTS 64 /**< Max number of outstanding requests per application per OLT */
57#define BCMTR_MAX_AUTOS 256 /**< Maximum number of simultaneous multi-part autonomous messages */
58#define BCMTR_MAX_FRAGMENTS 500 /**< Maximum number of fragments per message */
59#define BCMTR_MSG_WAIT_MS 5 /**< length of time to wait on conn read */
60#define BCMTR_MSG_READY_MS 50 /**< Time to wait for application to peak up response */
61#define BCMTR_MAX_MTU_SIZE 4096 /**< max MTU size */
62#define BCMTR_RX_THREAD_STACK 0 /**< Rx thread stack size */
63
64/** Debug output configuration */
65#define BCM_DBG_MAX_MSG_SIZE 128 /**< Max number of message bytes to include in message dump */
66
67#define BCMTR_BUF_EXTRA_HEADROOM 0 /**< Extra headroom to reserve is system buffer */
68
69#define BCMTR_PCIE_START_TIMEOUT 15000 /**< Application start timeout (ms) */
70#define BCMTR_PCIE_CONNECT_TIMEOUT 15000 /**< Connect timeout (ms) */
71/** @} */
72
73#define BCMTR_MAX_RXQ_SIZE 256
74
75#endif /* BCMOLT_CONFIG_H_ */