<?xml version="1.0" encoding="UTF-8"?>
<!--
===============================================================================

  Copyright (c) 2014 Qualcomm Technologies, Inc. All Rights Reserved.
  Qualcomm Technologies Proprietary and Confidential.

===============================================================================
-->

<tns:secimage xmlns:tns="http://www.qualcomm.com/secimage"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.qualcomm.com/secimage ../../../../config/xsd/secimage.xsd">

    <metadata>
        <chipset>8994</chipset>
        <version>2.0</version>
    </metadata>

    <!--
       See documentation on general_properties below.
    -->
    <general_properties>
        <selected_signer>local</selected_signer>
        <selected_encryptor>unified_encryption_2_0</selected_encryptor>
        <selected_cert_config>qc_presigned_certs</selected_cert_config>
        <cass_capability>secboot_sha2_root</cass_capability>

        <key_size>2048</key_size>
        <exponent>3</exponent>

        <mrc_index>0</mrc_index>
        <num_root_certs>1</num_root_certs>

        <msm_part>0x009400E1</msm_part>
        <oem_id>0x0001</oem_id>
        <model_id>0xABCD</model_id>
        <debug>0x0000000000000002</debug>

        <max_cert_size>2048</max_cert_size>
        <num_certs_in_certchain>3</num_certs_in_certchain>
    </general_properties>

    <!--
        ***general_properties***

        The default properties for all images. These properties maybe overridden
        per image in the 'images' section below as needed.

        Supported signer are:
        local: use local signer with test keys
        csms: generate tosign file for csms upload (first run)
              package csms output zip to form signed image (second run)
        cass: use cass signer with production key

        Supported encryptor are:
        ssd_encryption: legacy encryption for OTA, supports MBN and ELF images.
        unified_encryption_2_0: supports ELF images. Image must be signed to encrypt

        Capability selected the signing key used. Currently,
        the following two capabilities are supported. OEM IDs
        are restricted to 0 or 1.

        OEM may obtain additional capabilities from CASS support.

        secboot_sha2_root : Use SHA256 signed root cert.
                            Same as the CSMS SHA256 signed root cert.
        secboot_sha1_root : Use SHA1 signed root cert.
                            Same as the CSMS SHA1 signed root cert.

        If SHA256 is selected, the PK_HASH_IN_FUSE needs to be blown,
        and the ROOT CERT HASH below needs to be blown in OEM PK HASH:
        7be49b72f9e4337223ccb84d6eccca4e61ce16e3602ac2008cb18b75babe6d09

        msm_part: jtag_id for signing. (in hex)
        oem_id: oem_id for signing. (in hex)
        model_id: model_id for signing. (in hex)
        debug: debug_id for signing. (in hex)
        exponent: exponent value used in attestation key generation.

        max_cert_size: Maximum size (in bytes) of one certificate.
        key_size: Size (in bits) of the key used for signing.
        num_certs_in_certchain: Number of certificates in the certificate chain.
        num_root_certs: Number of root certificates in the certificate chain.
    -->

    <parsegen>
        <!--
        Parsegen information by default will be read from parsegen_config.xml.
        Additional image_id's can be included here or existing image_id's may be overwritten
        to be generated with the default image_ids.
        -->
    </parsegen>

    <!-- Signing configurations used by secimage. -->
    <signing>
        <signer_attributes>
            <!--
                Use of CASS signer will require additional license agreement
                and contract. Hardware token is required for access.
            -->
            <cass_signer_attributes>
                <!--
                    keystore_type: PKCS11 (hardware token)
                    token_password: User will be prompted if password
                                    is an empty string
                    token_driver_home: Safenet driver location
                -->
                <user_identity>
                    <keystore_type>PKCS11</keystore_type>
                    <token_password></token_password>
                    <token_driver_home>
                        <windows>C:/WINDOWS/SYSTEM32/eTpkcs11.dll</windows>
                        <linux>/usr/lib/libeTPkcs11.so</linux>
                    </token_driver_home>
                </user_identity>
            </cass_signer_attributes>
        </signer_attributes>
    </signing>

    <post_process>
        <pil_splitter>$(META_BUILD)/common/tools/misc/pil-splitter.py</pil_splitter>
    </post_process>

    <data_provisioning>
        <base_path>./../../../data_prov_assets/</base_path>
    </data_provisioning>

    <images_list>
        <image sign_id="sbl1_mbn" name="sbl1.mbn" image_type="mbn_80b">
            <general_properties_overrides>
                <sw_id>0x0000000000000000</sw_id>
                <!--
                <crash_dump>0x0000000000000000</crash_dump>
                -->
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:BOOT_BINARY)</meta_build_location>
        </image>

        <image sign_id="sbl1_ds" image_type="double_signing">
            <general_properties_overrides>
                <sw_id>0x0000000000000000</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:BOOT_BINARY)</meta_build_location>
        </image>

        <image sign_id="pmic" name="pmic.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000016</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:PMIC_BINARY)</meta_build_location>
        </image>

        <image sign_id="tz" name="tz.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000007</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:TZ_BINARY)</meta_build_location>
        </image>

        <image sign_id="hyp" name="hyp.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000015</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:HYP_BINARY)</meta_build_location>
        </image>

        <image sign_id="appsbl" name="emmc_appsboot.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000009</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:APPSBOOT_BINARY)</meta_build_location>
        </image>

        <!-- UEFI image for WP target -->
        <image sign_id="uefi" name="uefi_sign_ready.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000009</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:APPSBOOT_SIGNED_BINARY)</meta_build_location>
        </image>

        <image sign_id="rpm" name="rpm.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000A</sw_id></general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:RPM_BINARY)</meta_build_location>
        </image>

        <image sign_id="mba_ewm" name="mba.mbn" image_type="elf_wrapped_mbn">
            <general_properties_overrides>
                <sw_id>0x0000000000000001</sw_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:MBA_BINARY)</meta_build_location>
        </image>

        <image sign_id="mba_ds" image_type="double_signing">
            <general_properties_overrides>
                <sw_id>0x0000000000000001</sw_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:MBA_BINARY)</meta_build_location>
        </image>

        <image sign_id="modem" name="qdsp6sw.mbn" image_type="elf_has_ht" output_file_name="modem.mbn">
            <general_properties_overrides>
                <sw_id>0x0000000000000002</sw_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:MPSS_BINARY)</meta_build_location>
        </image>

        <image sign_id="adsp" name="adsp.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000004</sw_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:file_ref, ATTR:cmm_file_var, VAR:ADSP_BINARY)</meta_build_location>
        </image>

        <image sign_id="sdi" name="sdi.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000012</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:SDI_BINARY)</meta_build_location>
        </image>

        <image sign_id="venus" name="venus.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000E</sw_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(BUILD_PATH:apps)/LINUX/android/out/target/product/msm8994/system/etc/firmware/venus.mbn</meta_build_location>
        </image>

        <image sign_id="sampleapp" name="sampleapp.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000111</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:TZ_PATH)</meta_build_location>
        </image>

        <image sign_id="isdbtmm" name="isdbtmm.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000222</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:file_ref, ATTR:pil_split, VAR:isdbtmm)</meta_build_location>
        </image>

        <image sign_id="widevine" name="widevine.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000333</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:file_ref, ATTR:pil_split, VAR:widevine)</meta_build_location>
        </image>

        <image sign_id="playready" name="playready.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000444</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:file_ref, ATTR:pil_split, VAR:playready)</meta_build_location>
        </image>

        <image sign_id="cmnlib" name="cmnlib.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000555</app_id></general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:file_ref, ATTR:pil_split, VAR:cmnlib)</meta_build_location>
        </image>

        <image sign_id="keymaster" name="keymaster.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000666</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:file_ref, ATTR:pil_split, VAR:keymaster)</meta_build_location>
        </image>

        <image sign_id="winsecapp" name="winsecapp.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000111</app_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:WINSECAPP_BINARY)</meta_build_location>
        </image>

        <image sign_id="uefisecapp" name="uefi_sec.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000222</app_id>
            </general_properties_overrides>
            <meta_build_location>$(BUILD_PATH:winsecapp)/winsecapp_image/build/ms/bin/EATAANAA/uefi_sec.mbn</meta_build_location>
        </image>
        <!--
        <image sign_id="dxhdcp2" name="dxhdcp2.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000c</sw_id>
                <app_id>0x0000000000000333</app_id>
            </general_properties_overrides>
            <meta_build_location>NA</meta_build_location>
        </image>

        <image sign_id="sdksecapp" name="sdksecap.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000444</app_id>
            </general_properties_overrides>
            <meta_build_location>NA</meta_build_location>
        </image>
        -->
    </images_list>

</tns:secimage>
