#===============================================================================
#
# Architecture lib
#
# GENERAL DESCRIPTION
#    build script
#
# Copyright (c) 2014,2017 by QUALCOMM, Incorporated.
# All Rights Reserved.
# QUALCOMM Proprietary/GTDR
#
#-------------------------------------------------------------------------------
#
#  $Header: //components/rel/ssg.tz/1.10/securemsm/platform/drivers/pimem/build/SConscript#1 $
#  $DateTime: 2019/12/10 22:12:10 $
#  $Author: pwbldsvc $
#  $Change: 21772493 $
#                      EDIT HISTORY FOR FILE
#
#  This section contains comments describing changes made to the module.
#  Notice that changes are listed in reverse chronological order.
#
# when       who     what, where, why
# --------   ---     ---------------------------------------------------------
# 05/13/14   ah     initial version
#===============================================================================
Import('env')
env = env.Clone()

env.LoadSoftwareUnits()

#-------------------------------------------------------------------------------
# Source PATH
#-------------------------------------------------------------------------------
SRCPATH = "../"

env.VariantDir('${BUILDPATH}', SRCPATH, duplicate=0)

#-------------------------------------------------------------------------------
# PIMEM Version
#-------------------------------------------------------------------------------
env.Replace(PIMEM_VERSION = None)
pimem_v2 = ['845','670','6150','7150','nicobar']
if env['MSM_ID'] in pimem_v2:
    env.Replace(PIMEM_VERSION = 'v2')

pimem_v3 = ['855', '1000', '8250', 'saipan', 'lahaina', 'kamorta', 'bitra','agatti']
if env['MSM_ID'] in pimem_v3:
    env.Replace(PIMEM_VERSION = 'v3')

#-------------------------------------------------------------------------------
# Internal depends within CoreBSP
#-------------------------------------------------------------------------------
CBSP_API = [
   'DAL',
   'SERVICES',
   'SYSTEMDRIVERS',
   'KERNEL_API',
   'KERNEL',
   'POWER',
]
env.RequirePublicApi(CBSP_API, area='core')


SSG_API = [
   'QSEE',
   'MINK',
   'TZCHIPSET',
   'MON_CALL',
   'MONITOR_API',
   'SSGPLATFORM',
   'SSGPLATFORM_DRIVERS',
   'SECUTILS',
]
env.RequirePublicApi(SSG_API, area = 'ssg')
env.RequireRestrictedApi(SSG_API)

#-------------------------------------------------------------------------------
# Sources, libraries
#-------------------------------------------------------------------------------

QSEE_SOURCES = []
MON_SOURCES = []

if env.has_key('tzbsp_no_pimem'):

  if env['tzbsp_no_pimem'] == 0 and env['PIMEM_VERSION'] is not None:
    QSEE_SOURCES = [
        '${BUILDPATH}/src/tzbsp_pimem_common.c',
        '${BUILDPATH}/src/${PIMEM_VERSION}/tzbsp_pimem.c',
    ]
    MON_SOURCES = [
        '${BUILDPATH}/src/${PIMEM_VERSION}/mon_pimem.c',
    ]

  else:
    QSEE_SOURCES = ['${BUILDPATH}/src/tzbsp_pimem_stub.c']

#-------------------------------------------------------------------------------
# Add Libraries to image
#-------------------------------------------------------------------------------
env.AddBinaryObject('TZOS_IMAGE', QSEE_SOURCES)
env.AddBinaryObject('MONITOR_IMAGE', MON_SOURCES)

if 'USES_RCINIT' in env:
  RCINIT_IMGS = ['CTZL64_IMAGE', 'TZOS_IMAGE', 'CTZL_IMAGE']
  env.AddRCInitFunc(
    RCINIT_IMGS,
    {
      'sequence_group'             : 'RCINIT_GROUP_2',
      'init_name'                  : 'pimem',
      'init_function'              : 'tzbsp_pimem_init',
      'dependencies'               : ['chipset'],
      'policy_optin'               : ['default']
      
    })
env.Deploy("SConscript")
