BAL and Maple Release 2.2
Signed-off-by: Shad Ansari <developer@Carbon.local>
diff --git a/bcm68620_release/release/host_driver/host_api/Makefile b/bcm68620_release/release/host_driver/host_api/Makefile
new file mode 100644
index 0000000..089ec56
--- /dev/null
+++ b/bcm68620_release/release/host_driver/host_api/Makefile
@@ -0,0 +1,16 @@
+MOD_NAME = host_api
+MOD_TYPE = lib
+MOD_DEPS = dev_log common_gpon dev_ctrl_daemon
+
+ifeq ("$(RELEASE_BUILD)", "y")
+ MOD_DEPS += common_api
+else
+ MOD_DEPS += api
+endif
+
+ifeq ("$(ENABLE_CLI)", "y")
+ MOD_DEPS += api_cli os_cli embedded_cli
+endif
+
+srcs = bcmolt_host_api.c
+
diff --git a/bcm68620_release/release/host_driver/host_api/bcmolt_host_api.c b/bcm68620_release/release/host_driver/host_api/bcmolt_host_api.c
new file mode 100644
index 0000000..b88d3c1
--- /dev/null
+++ b/bcm68620_release/release/host_driver/host_api/bcmolt_host_api.c
@@ -0,0 +1,76 @@
+/*
+<: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.
+
+:>
+ */
+
+#include <bcmos_system.h>
+#if !defined(LINUX_USER_SPACE)
+#include <bcmolt_dev_ctrl.h>
+#else
+bcmos_errno bcmolt_dev_ctrl_init(void);
+#endif
+#include <bcm_dev_log.h>
+#include "bcmolt_host_api.h"
+
+bcmos_errno bcmolt_host_init(bcmolt_host_init_params *params)
+{
+ bcmos_errno rc;
+
+ rc = bcmos_init();
+ BUG_ON(rc);
+
+#ifdef ENABLE_LOG
+ if (params->logger_init_cb)
+ {
+ rc = params->logger_init_cb();
+ BUG_ON(rc);
+ }
+#endif
+
+ bcmos_trace_level_set(BCMOS_TRACE_LEVEL_ERROR);
+
+ /* In usermode Linux, we don't invoke bcmolt_dev_ctrl_init() from the application, but from a kernel module (bcm_dev_ctrl_linux.ko). */
+#if !defined(LINUX_USER_SPACE)
+ rc = bcmolt_dev_ctrl_init(¶ms->dev_ctrl_params);
+ BUG_ON(rc);
+#else
+ if (params->run_dev_ctrl)
+ {
+ rc = bcmolt_dev_ctrl_init();
+ BUG_ON(rc);
+ }
+#endif
+
+#if !defined(__KERNEL__)
+ /* Initialize transport layer. */
+ rc = bcmtr_init();
+ BUG_ON(rc);
+#endif
+
+ return BCM_ERR_OK;
+}
+
diff --git a/bcm68620_release/release/host_driver/host_api/bcmolt_host_api.h b/bcm68620_release/release/host_driver/host_api/bcmolt_host_api.h
new file mode 100644
index 0000000..e7acd61
--- /dev/null
+++ b/bcm68620_release/release/host_driver/host_api/bcmolt_host_api.h
@@ -0,0 +1,75 @@
+/*
+<: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 _BCMOLT_HOST_API_H_
+#define _BCMOLT_HOST_API_H_
+
+#include <bcmos_system.h>
+#include <bcmolt_model_types.h>
+
+#if !defined(__KERNEL__)
+#include <bcmtr_debug.h>
+#include <bcmtr_interface.h>
+#include "bcmolt_api.h"
+#include <bcm_common_gpon.h>
+#include <bcmolt_host_api_gpon_utils.h>
+#endif
+
+#if defined(ENABLE_CLI) && !defined(__KERNEL__)
+#include <bcm_api_cli.h>
+#include <bcmos_cli.h>
+#include <bcmolt_embedded_cli.h>
+#include <bcmtr_transport_cli.h>
+#include <bcm_api_cli_helpers.h>
+#endif
+
+#if !defined(LINUX_USER_SPACE)
+#include <bcmolt_dev_ctrl.h>
+#endif
+
+#if !defined(LINUX_USER_SPACE)
+typedef bcmolt_dev_ctrl_cb_image_read bcmolt_host_image_read_cb;
+#endif
+typedef bcmos_errno (*bcmolt_host_logger_init_cb)(void);
+
+typedef struct
+{
+#if !defined(LINUX_USER_SPACE)
+ bcmolt_dev_ctrl_params dev_ctrl_params;
+#endif
+ /* This callback initializes the logger module. If using common/dev_log module, it should be called after OS abstraction layer is initialized, and that's why
+ * it is a callback and not directly initialized by the caller. */
+ bcmolt_host_logger_init_cb logger_init_cb;
+ bcmos_bool run_dev_ctrl;
+} bcmolt_host_init_params;
+
+bcmos_errno bcmolt_host_init(bcmolt_host_init_params *params);
+
+#endif
+
diff --git a/bcm68620_release/release/host_driver/host_api/bcmolt_host_api_gpon_utils.h b/bcm68620_release/release/host_driver/host_api/bcmolt_host_api_gpon_utils.h
new file mode 100644
index 0000000..4676400
--- /dev/null
+++ b/bcm68620_release/release/host_driver/host_api/bcmolt_host_api_gpon_utils.h
@@ -0,0 +1,42 @@
+/*
+<: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 _BCMOLT_HOST_API_GPON_UTILS_H_
+#define _BCMOLT_HOST_API_GPON_UTILS_H_
+
+#include <bcmos_system.h>
+#include <bcm_common_gpon.h>
+
+/* Note that PONs 4-7 are not used in GPON/XGPON coexistence mode. */
+#define FOR_EACH_PON(pon_ni)\
+ for (pon_ni = (bcmolt_pon_ni)0;\
+ pon_ni < (bcmolt_pon_ni)smdbg->num_of_pons;\
+ ((bcm_common_gpon_get_system_mode() == BCMOLT_SYSTEM_MODE_GPON_8_XGPON_4_X_COEXISTENCE && pon_ni == XGPON_HALF_CHIP_MAX_NUM_OF_PONS-1) ? pon_ni = XGPON_MAX_NUM_OF_PONS : pon_ni++))
+
+#endif
diff --git a/bcm68620_release/release/host_driver/host_api/user/Makefile b/bcm68620_release/release/host_driver/host_api/user/Makefile
new file mode 100755
index 0000000..5b5baeb
--- /dev/null
+++ b/bcm68620_release/release/host_driver/host_api/user/Makefile
@@ -0,0 +1,19 @@
+
+MOD_NAME = host_api_user
+MOD_TYPE = lib
+MOD_DEPS = dev_log common_gpon dev_ctrl_daemon host_api
+
+ifeq ("$(RELEASE_BUILD)", "y")
+ MOD_DEPS += common_api
+else
+ MOD_DEPS += api
+endif
+
+ifeq ("$(ENABLE_CLI)", "y")
+ MOD_DEPS += api_cli os_cli embedded_cli
+endif
+
+MOD_DEFS += -DIN_BAND
+
+srcs = ../bcmolt_host_api.c
+