blob: a2e95b42b750b78353f4decdf63204c5b4aab25d [file] [log] [blame]
Shad Ansari2f7f9be2017-06-07 13:34:53 -07001/******************************************************************************
2 *
3 * <:copyright-BRCM:2016:DUAL/GPL:standard
4 *
5 * Copyright (c) 2016 Broadcom
6 * All Rights Reserved
7 *
8 * Unless you and Broadcom execute a separate written software license
9 * agreement governing use of this software, this software is licensed
10 * to you under the terms of the GNU General Public License version 2
11 * (the "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php,
12 * with the following added to such license:
13 *
14 * As a special exception, the copyright holders of this software give
15 * you permission to link this software with independent modules, and
16 * to copy and distribute the resulting executable under terms of your
17 * choice, provided that you also meet, for each linked independent
18 * module, the terms and conditions of the license of that module.
19 * An independent module is a module which is not derived from this
20 * software. The special exception does not apply to any modifications
21 * of the software.
22 *
23 * Not withstanding the above, under no circumstances may you combine
24 * this software in any way with any other Broadcom software provided
25 * under a license other than the GPL, without Broadcom's express prior
26 * written consent.
27 *
28 * :>
29 *
30 *****************************************************************************/
31
32#ifndef BCMOS_PLATFORM_H_
33#define BCMOS_PLATFORM_H_
34
35#ifndef BCMOS_SYSTEM_H_
36#error Please do not include bcmos_platform.h directly. Include bcmos_system.h
37#endif
38
39#include <bal_osmsg.h>
40
41/** BAL CORE CPU core
42 * \ingroup system_task */
43typedef enum
44{
45 BCMOS_CPU_CORE_ANY, /**< Any core */
46
47 BCMOS_CPU_CORE__NUM_OF = 1, /**< Number of cores */
48} bcmos_core;
49
50/*
51 * BAL CORE modules
52 *
53 * \ingroup system_module
54 */
55typedef enum
56{
57 BCMOS_MODULE_ID_NONE, /**< no module */
58
59 BCMOS_MODULE_ID_WORKER_MGMT, /** worker module for MGMT message handling */
60 BCMOS_MODULE_ID_WORKER_API_IND, /** worker module for BAL API INDICATION message handling */
61 BCMOS_MODULE_ID_WORKER_BAL_CORE_FOR_AGENT, /** worker module for the BAL CORE when running as an OF agent */
62 BCMOS_MODULE_ID_USER_APPL_EON, /** EON module */
63 BCMOS_MODULE_ID_USER_APPL_EPON_OAM, /** EPON OAM module */
64 BCMOS_MODULE_ID_OFPAL, /** OF-PAL module */
65 BCMOS_MODULE_ID_OMCI_TRANSPORT, /** OMCI Transport module */
66
67 BCMOS_MODULE_ID__NUM_OF, /**< Number of modules */
68 BCMOS_MODULE_ID_INVALID = BCMOS_MODULE_ID_NONE
69} bcmos_module_id;
70
71/*
72 * BAL CORE event group. Each group supports up to 32 events.
73 *
74 * \ingroup system_event
75 */
76typedef enum
77{
78 BCMOS_EVENT_FIRST,
79
80 BCMOS_EVENT_ID__NUM_OF, /**< Number of event groups */
81} bcmos_event_id;
82
83/** Message hash size
84 * \ingroup system_msg
85 */
86#define BCMOS_MSG_HASH_SIZE 512
87
88/*
89 * Task priorities
90 */
91#define TASK_PRIORITY_IPC_RX BCMOS_TASK_PRIORITY_3
92#define TASK_PRIORITY_CLI BCMOS_TASK_PRIORITY_15
93#define TASK_PRIORITY_WORKER BCMOS_TASK_PRIORITY_16
94#define TASK_PRIORITY_USER_APPL_EON BCMOS_TASK_PRIORITY_17
95#define TASK_PRIORITY_OFPAL BCMOS_TASK_PRIORITY_18
96#define TASK_PRIORITY_OMCI_TRANSPORT BCMOS_TASK_PRIORITY_20
97#define TASK_PRIORITY_DEV_LOG BCMOS_TASK_PRIORITY_30
98
99#endif /* BCMOS_PLATFORM_H_ */