| /* |
| <:copyright-BRCM:2016:DUAL/GPL:standard |
| |
| Broadcom Proprietary and Confidential.(c) 2016 Broadcom |
| All Rights Reserved |
| |
| Unless you and Broadcom execute a separate written software license |
| agreement governing use of this software, this software is licensed |
| to you under the terms of the GNU General Public License version 2 |
| (the "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php, |
| with the following added to such license: |
| |
| As a special exception, the copyright holders of this software give |
| you permission to link this software with independent modules, and |
| to copy and distribute the resulting executable under terms of your |
| choice, provided that you also meet, for each linked independent |
| module, the terms and conditions of the license of that module. |
| An independent module is a module which is not derived from this |
| software. The special exception does not apply to any modifications |
| of the software. |
| |
| Not withstanding the above, under no circumstances may you combine |
| this software in any way with any other Broadcom software provided |
| under a license other than the GPL, without Broadcom's express prior |
| written consent. |
| |
| :> |
| */ |
| |
| #ifndef BCMOS_PLATFORM_H_ |
| #define BCMOS_PLATFORM_H_ |
| |
| #ifndef BCMOS_SYSTEM_H_ |
| #error Please do not include bcmos_platform.h directly. Include bcmos_system.h |
| #endif |
| |
| /** BCM68620 CPU core |
| * \ingroup system_task */ |
| typedef enum |
| { |
| BCMOS_CPU_CORE_ANY, /**< Any core */ |
| |
| BCMOS_CPU_CORE__NUM_OF = 1, /**< Number of cores */ |
| } bcmos_core; |
| |
| #define MAX_NUMBER_OF_PONS_ON_ALL_DEVICES (BCMTR_MAX_OLTS * BCMTR_MAX_INSTANCES) |
| |
| /** BCM68620 module |
| * \ingroup system_module |
| */ |
| typedef enum |
| { |
| BCMOS_MODULE_ID_NONE, /**< no module */ |
| |
| #ifdef BCMOS_SYS_UNITTEST |
| BCMOS_MODULE_ID_TEST1, |
| BCMOS_MODULE_ID_TEST2, |
| #endif |
| /* Each Device (BCM6862X) must have its own dedicated Device Control Module at the host */ |
| BCMOS_MODULE_ID_DEV_CTRL_DEV0, |
| BCMOS_MODULE_ID_DEV_CTRL_DEV1, |
| BCMOS_MODULE_ID_DEV_CTRL_DEV2, |
| BCMOS_MODULE_ID_DEV_CTRL_DEV3, |
| BCMOS_MODULE_ID_DEV_CTRL_DEV4, |
| BCMOS_MODULE_ID_DEV_CTRL_DEV5, |
| BCMOS_MODULE_ID_DEV_CTRL_DEV6, |
| BCMOS_MODULE_ID_DEV_CTRL_DEV7, |
| |
| /* CLI over PCIe client */ |
| BCMOS_MODULE_ID_CLI_OVER_PCIE, |
| |
| /* Protection switching user application */ |
| BCMOS_MODULE_ID_USER_APPL_PS, |
| |
| /* Remote CLI */ |
| BCMOS_MODULE_ID_REMOTE_CLI_DEV0, |
| |
| /* Remote logger application (To support multiple devices need to add number of devices to previous value) */ |
| BCMOS_MODULE_ID_USER_APPL_REMOTE_LOGGER_DEV0 = BCMOS_MODULE_ID_REMOTE_CLI_DEV0 + BCMTR_MAX_OLTS, |
| |
| /* OMCI SW download user application (To support multiple devices need to add number of devices to previous value) */ |
| BCMOS_MODULE_ID_USER_APPL_OMCI_SWDL_DEV0 = BCMOS_MODULE_ID_USER_APPL_REMOTE_LOGGER_DEV0 + BCMTR_MAX_OLTS, |
| |
| /* GPON mac learning / aging user application (To support multiple devices need to add number of devices to previous value)*/ |
| BCMOS_MODULE_ID_USER_APPL_GPON_MAC_LEARNING_DEV0 = BCMOS_MODULE_ID_USER_APPL_OMCI_SWDL_DEV0 + BCMTR_MAX_OLTS, |
| |
| /* GPON stress user application (To support multiple devices need to add number of devices to previous value)*/ |
| BCMOS_MODULE_ID_USER_APPL_GPON_STRESS_DEV0 = BCMOS_MODULE_ID_USER_APPL_GPON_MAC_LEARNING_DEV0 + BCMTR_MAX_OLTS, |
| |
| /* GPON DS OMCI packets user application (To support multiple devices need to add number of devices to previous value)*/ |
| BCMOS_MODULE_ID_USER_APPL_GPON_DS_OMCI0_DEV0 = BCMOS_MODULE_ID_USER_APPL_GPON_STRESS_DEV0 + BCMTR_MAX_OLTS, |
| |
| /* GPON SN acquisition (To support multiple devices need to add number of devices multiply with max PON number to previous value)*/ |
| BCMOS_MODULE_ID_USER_APPL_GPON_SN_ACQUISITION0_DEV0 = BCMOS_MODULE_ID_USER_APPL_GPON_DS_OMCI0_DEV0 + MAX_NUMBER_OF_PONS_ON_ALL_DEVICES, |
| |
| /* GPON statistics (To support multiple devices need to add number of devices multiply with max PON number to previous value) */ |
| BCMOS_MODULE_ID_USER_APPL_GPON_STATISTICS0_DEV0 = BCMOS_MODULE_ID_USER_APPL_GPON_SN_ACQUISITION0_DEV0 + MAX_NUMBER_OF_PONS_ON_ALL_DEVICES, |
| |
| /* GPON RSSI user application (To support multiple devices need to add number of devices multiply with max PON number to previous value) */ |
| BCMOS_MODULE_ID_USER_APPL_GPON_RSSI_DEV0 = BCMOS_MODULE_ID_USER_APPL_GPON_STATISTICS0_DEV0 + MAX_NUMBER_OF_PONS_ON_ALL_DEVICES, |
| |
| /* EPON OAM negotiation application (To support multiple devices need to add number of devices to previous value)*/ |
| BCMOS_MODULE_ID_USER_APPL_EON = BCMOS_MODULE_ID_USER_APPL_GPON_RSSI_DEV0 + BCMTR_MAX_OLTS, |
| |
| /* EPON optical monitoring application */ |
| BCMOS_MODULE_ID_USER_APPL_OMON = BCMOS_MODULE_ID_USER_APPL_EON + BCMTR_MAX_OLTS, |
| |
| /* EPON Host driven encryption application */ |
| BCMOS_MODULE_ID_USER_APPL_EPON_HDE, |
| |
| BCMOS_MODULE_ID_USER_APPL_EPON_OAM, |
| |
| BCMOS_MODULE_ID_USER_APPL_DPOE_SEC, |
| |
| BCMOS_MODULE_ID_USER_APPL_IMAGE_TRANSFER0 = BCMOS_MODULE_ID_USER_APPL_DPOE_SEC + BCMTR_MAX_OLTS, |
| BCMOS_MODULE_ID_USER_APPL_IMAGE_TRANSFER1, |
| |
| BCMOS_MODULE_ID_USER_APPL_ONU_TUNING_DEV0, |
| BCMOS_MODULE_ID_USER_APPL_ONU_TUNING_DEV1, |
| |
| BCMOS_MODULE_ID__NUM_OF, /**< Number of modules */ |
| BCMOS_MODULE_ID_INVALID = BCMOS_MODULE_ID_NONE |
| } bcmos_module_id; |
| |
| /** BCM68620 event group. Each group supports up to 32 events. |
| * \ingroup system_event |
| */ |
| typedef enum |
| { |
| #ifdef BCMOS_SYS_UNITTEST |
| BCMOS_EVENT_ID_TEST1, |
| BCMOS_EVENT_ID_TEST2, |
| #else |
| BCMOS_EVENT_ID_DUMMY, /* Currently OS s/w doesn't use events. |
| Remove this constant when adding real events */ |
| #endif |
| |
| BCMOS_EVENT_ID__NUM_OF, /**< Number of event groups */ |
| } bcmos_event_id; |
| |
| /** Message hash size |
| * \ingroup system_msg |
| */ |
| #define BCMOS_MSG_HASH_SIZE 512 |
| |
| /** Maple OS message |
| * \ingroup system_msg |
| */ |
| typedef enum |
| { |
| BCMOS_MSG_ID__BEGIN, |
| |
| /* Internal messages */ |
| BCMOS_MSG_ID_INTERNAL_TIMER = BCMOS_MSG_ID__BEGIN, /**< Internal "timer message" type */ |
| BCMOS_MSG_ID_INTERNAL_EVENT, /**< Internal "event message" type */ |
| BCMOS_MSG_ID_INTERNAL_IPC, |
| |
| BCMOS_MSG_ID_INITIATE_RX_POWER, |
| BCMOS_MSG_ID_INITIATE_TRX_STATUS, |
| BCMOS_MSG_ID_INITIATE_ROGUE_SCAN, |
| BCMOS_MSG_ID_INITIATE_RSSI_READ, |
| |
| BCMOS_MSG_ID_GPON_STRESS_START, |
| BCMOS_MSG_ID_GPON_STRESS_TIMEOUT, |
| BCMOS_MSG_ID_GPON_STRESS_ONU_DISCOVERED, |
| BCMOS_MSG_ID_GPON_STRESS_PON_DEACTIVATION_COMPLETED, |
| BCMOS_MSG_ID_GPON_STRESS_PON_ACTIVATION_COMPLETED, |
| BCMOS_MSG_ID_GPON_STRESS_ALL_ONUS_DEACTIVATION_COMPLETED, |
| BCMOS_MSG_ID_GPON_STRESS_ALL_ONUS_ACTIVATION_COMPLETED, |
| BCMOS_MSG_ID_GPON_STRESS_ONU_DEACTIVATION_COMPLETED, |
| BCMOS_MSG_ID_GPON_STRESS_ONU_ACTIVATION_COMPLETED, |
| |
| BCMOS_MSG_ID_GPON_DS_OMCI_START, |
| BCMOS_MSG_ID_GPON_DS_OMCI_TIMEOUT, |
| BCMOS_MSG_ID_GPON_DS_OMCI_STOP, |
| BCMOS_MSG_ID_GPON_DS_OMCI_DEVICE_CONNECTED, |
| BCMOS_MSG_ID_GPON_DS_OMCI_DEVICE_DISCONNECTED, |
| |
| BCMOS_MSG_ID_GPON_RSSI_START, |
| |
| BCMOS_MSG_ID_GPON_STATISTICS_START, |
| BCMOS_MSG_ID_GPON_STATISTICS_TIMEOUT, |
| BCMOS_MSG_ID_GPON_STATISTICS_STOP, |
| |
| BCMOS_MSG_ID_EON_START, |
| BCMOS_MSG_ID_EON_STOP, |
| BCMOS_MSG_ID_EON_PROXY_RX, |
| |
| BCMOS_MSG_ID_EPON_OAM_PROXY_RX, |
| BCMOS_MSG_ID_EPON_OAM_TIMEOUT, |
| |
| BCMOS_MSG_ID_DPOE_SEC_START, |
| BCMOS_MSG_ID_DPOE_SEC_RX_OAM, |
| BCMOS_MSG_ID_DPOE_SEC_RX_EAPOL, |
| |
| BCMOS_MSG_ID_ONU_TUNING_START, |
| BCMOS_MSG_ID_ONU_TUNING_STOP, |
| |
| BCMOS_MSG_ID__NONE, |
| BCMOS_MSG_ID__END, |
| BCMOS_MSG_ID__FORCE16 = 0x7fff |
| } bcmos_msg_id; |
| |
| #define BCMOS_MSG_ID__NUM_OF (BCMOS_MSG_ID__END - BCMOS_MSG_ID__BEGIN) |
| /* |
| * Task priorities |
| */ |
| |
| #define TASK_PRIORITY_TRANSPORT_TX BCMOS_TASK_PRIORITY_3 |
| #define TASK_PRIORITY_TRANSPORT_RX BCMOS_TASK_PRIORITY_8 |
| #define TASK_PRIORITY_TRANSPORT_PROXY BCMOS_TASK_PRIORITY_9 |
| #define TASK_PRIORITY_TRANSPORT_REMOTE_CLI BCMOS_TASK_PRIORITY_9 |
| #define TASK_PRIORITY_DEVICE_CONTROL BCMOS_TASK_PRIORITY_10 |
| #define TASK_PRIORITY_USER_APPL_PS BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_EON BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_OMON BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_EPON_HDE BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_DPOE_SEC BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_GPON_MAC_LEARNING BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_GPON_STRESS BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_GPON_SN_ACQUISITION BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_GPON_DS_OMCI BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_GPON_STATISTICS BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_ONU_TUNING BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_USER_APPL_GPON_RSSI BCMOS_TASK_PRIORITY_12 |
| #define TASK_PRIORITY_CLI BCMOS_TASK_PRIORITY_15 |
| #define TASK_PRIORITY_USER_APPL_OMCI_SWDL BCMOS_TASK_PRIORITY_17 |
| #define TASK_PRIORITY_USER_APPL_IMAGE_TRANSFER BCMOS_TASK_PRIORITY_17 |
| #define TASK_PRIORITY_DEV_LOG_KERNEL BCMOS_TASK_PRIORITY_20 |
| #define TASK_PRIORITY_DEV_LOG BCMOS_TASK_PRIORITY_30 |
| #define TASK_PRIORITY_USER_APPL_REMOTE_LOGGER BCMOS_TASK_PRIORITY_30 |
| |
| |
| |
| |
| #endif /* BCMOS_PLATFORM_H_ */ |