/*
 *  Copyright (c) 2016, The OpenThread Authors.
 *  All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *  1. Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *  2. 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.
 *  3. Neither the name of the copyright holder 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 IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 *  POSSIBILITY OF SUCH DAMAGE.
 */

/**
 * @file custom_config_qspi.h
 * Custom configuration file for FreeRTOS applications executing from QSPI.
 */

#ifndef CUSTOM_CONFIG_QSPI_H_
#define CUSTOM_CONFIG_QSPI_H_

#include "bsp_definitions.h"

#undef CONFIG_USE_BLE
#define CONFIG_USE_FTDF

#define __HEAP_SIZE                                    0x0600
#define __STACK_SIZE                                   0x0100

#define CONFIG_RETARGET
#define CONFIG_RETARGET_UART                           HW_UART1

#define dg_configPOWER_CONFIG                          (POWER_CONFIGURATION_2)

#define dg_configUSE_LP_CLK                            LP_CLK_32768
#define dg_configEXEC_MODE                             MODE_IS_CACHED
#define dg_configCODE_LOCATION                         NON_VOLATILE_IS_FLASH
#define dg_configEXT_CRYSTAL_FREQ                      EXT_CRYSTAL_IS_16M

#define dg_configIMAGE_SETUP                           DEVELOPMENT_MODE
#define dg_configEMULATE_OTP_COPY                      (0)

#define dg_configUSER_CAN_USE_TIMER1                   (0)

#define dg_configMEM_RETENTION_MODE                    (0x1F)
#define dg_configMEM_RETENTION_MODE_PRESERVE_IMAGE     (0x1F)
#define dg_configSHUFFLING_MODE                        (0x3)

#define dg_configUSE_WDOG                              (0)

#define dg_configUSE_DCDC                              (1)

#define dg_configPOWER_FLASH                           (1)
#define dg_configFLASH_POWER_DOWN                      (0)
#define dg_configFLASH_POWER_OFF                       (0)

#define dg_configBATTERY_TYPE                          (BATTERY_TYPE_LIMN2O4)
#define dg_configBATTERY_CHARGE_CURRENT                2       // 30mA
#define dg_configBATTERY_PRECHARGE_CURRENT             20      // 2.1mA
#define dg_configBATTERY_CHARGE_NTC                    1       // disabled

#define dg_configUSE_USB                               0
#define dg_configUSE_USB_CHARGER                       0
#define dg_configALLOW_CHARGING_NOT_ENUM               1

#define dg_configUSE_ProDK                             (1)

#define dg_configUSE_SW_CURSOR                         (1)

#define dg_configCACHEABLE_QSPI_AREA_LEN               NVMS_PARAM_PART_start

#define dg_configFEM_DLG_REF_BOARD                     (1)
#define dg_configUSE_HW_TRNG                           (1)

#define dg_configUSE_HW_TIMER0                         (1)


/*************************************************************************************************\
 * OS specific config
 */
#define OS_BAREMETAL
#define CPU_DA15000                                    (1)

/*************************************************************************************************\
 * Peripheral specific config
 */
#define FTDF_PHY_API
#define dg_configUSE_HW_RF                             (1)
#define dg_configRF_ENABLE_RECALIBRATION               (0)
#define FTDF_NO_CSL
#define FTDF_NO_TSCH
#define FTDF_LITE

#define dg_configFLASH_ADAPTER                         (0)
#define dg_configNVMS_ADAPTER                          (0)
#define dg_configNVMS_VES                              (0)
#define dg_configUSE_WDOG                              (0)
/* Include bsp default values */
#include "bsp_defaults.h"

#endif /* CUSTOM_CONFIG_QSPI_H_ */
