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

  Copyright (c) 2013-2017 Qualcomm Technologies, Inc.
  All Rights Reserved.
  Confidential and Proprietary - Qualcomm Technologies, Inc.

===============================================================================
-->
<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 ../xsd/secimage.xsd">

    <metadata>
        <chipset>sdm630</chipset>
        <version>2.0</version>
    </metadata>

    <!--
       See documentation on general_properties below.
    -->
    <general_properties>
        <selected_signer>local_v2</selected_signer>
        <selected_encryptor>unified_encryption_2_0</selected_encryptor>
        <selected_cert_config>qti_presigned_certs</selected_cert_config>
        <cass_capability>secboot_sha2_pss_subca1</cass_capability>

        <key_size>2048</key_size>
        <exponent>65537</exponent>

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

        <msm_part>0x000AC0E1</msm_part>
        <soc_hw_version>0x30070000</soc_hw_version>
        <in_use_soc_hw_version>enable</in_use_soc_hw_version>
        <oem_id>0x0000</oem_id>
        <model_id>0x0000</model_id>
        <debug>nop</debug>
        <multi_serial_numbers>
            <!--<serial>0x12345678</serial>-->
        </multi_serial_numbers>

        <secboot_version>2.0</secboot_version>
        <qti_sign>false</qti_sign>
        <oem_sign>true</oem_sign>

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

        <UIE_key>default</UIE_key>
        <hmac>false</hmac>
        <rsa_padding>pss</rsa_padding>
    </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_v2: use local signer with test keys
        cass: use cass signer with production key

        Supported encryptor are:
        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 may obtain additional capabilities from CASS support.

        secboot_sha2_pss_subca1: use SHA256, RSAPSS signed root cert

        If "secboot_sha2_pss_subca1" 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:
        afca69d4235117e5bfc21467068b20df85e0115d7413d5821883a6d244961581

        key_size: Size (in bits) of the key used for signing.
        exponent: exponent value used in attestation key generation.

        mrc_index: the root index for multiple root certificates (MRC) use case (0-3)
        num_root_certs: Number of root certificates in the certificate chain (1-4)
        root_revoke_activate_enable: enable revocation and activation (in hex)

        msm_part: jtag_id for signing. (in hex)
        soc_hw_version: MSM identifier used for latest family of chips (in hex)
        in_use_soc_hw_version: flag to use JTAG_ID or SOC_HW_VERSION (0 or 1)
        use_serial_number_in_signing: flag to use serial number in HW_ID (0 or 1)
        oem_id_independent: flag to set oem_id=0x0001 and model_id=0x0000 (0 or 1)
        oem_id: oem_id for signing. (in hex)
        model_id: model_id for signing. (in hex)
        debug: debug_id for signing. (in hex)
           multi_serial_numbers: serial number list that enable serial binding (in hex)
        serial_number: serial number to set in HW_ID (in hex)

        max_cert_size: Maximum size (in bytes) of one certificate.
        num_certs_in_certchain: Number of certificates in the certificate chain (2,3)

        UIE_key: Specifies which local key assets to use for encryption.
        uie_key_switch_enable: enable UIE key switch (in hex)
        hmac: use HMAC or SHA256 (in boolean)
        rsa_padding: PKCS1.5 or RSAPSS for signature and certificate chain (pkcs or pss)

        QTI internal: (shall not be modified by customer)
        max_num_root_certs: Maximum number of root certificates allowed (1-4)
        UIE_capability: Specifies which encrypted key assets to retrieve from QTI UIE server and use for encryption.
        UIE_root_key_type: Defaults to 1. Can be set to either 0, 1 or 2 depending on whether RTL QTI, OTP OEM, or OTP QTI root key will be used for encryption
        secboot_version: define ELF image header format (1.0 or 2.0)
        qti_sign: enable QTI sig segment (in boolean)
        oem_sign: enable OEM sig segment (in boolean)
    -->

    <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>./../../resources/data_prov_assets/</base_path>
    </data_provisioning>

    <images_list>
        <!-- for qti internal purpose -->
        <image sign_id="xbl_sec" name="xbl_sec.mbn" image_type="elf_post_phdr_load_aligned">
            <general_properties_overrides>
                <sw_id>0x0000000B</sw_id>
                <anti_rollback_version>0x00000000</anti_rollback_version>
                <oem_id_independent>enable</oem_id_independent>
                <qti_sign>true</qti_sign>
                <oem_sign>false</oem_sign>
            </general_properties_overrides>
        </image>

        <image sign_id="xbl" name="xbl.elf" image_type="elf_has_ht">
            <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.elf" 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="abl" name="abl.elf" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000001C</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:fastboot_rumi, VAR:abl_a)</meta_build_location>
        </image>

        <image sign_id="prog_emmc_ufs_lite" name="prog_emmc_ufs_firehose_Sdm660_lite.elf" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000003</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(BUILD_PATH:boot)/boot_images/QcomPkg/Sdm660Pkg/Bin/660/LA/DEBUG/prog_emmc_ufs_firehose_Sdm660_lite.elf</meta_build_location>
        </image>

        <image sign_id="prog_emmc_ufs_ddr" name="prog_emmc_ufs_firehose_Sdm660_ddr.elf" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000003</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(BUILD_PATH:boot)/boot_images/QcomPkg/Sdm660Pkg/Bin/660/LA/DEBUG/prog_emmc_ufs_firehose_Sdm660_ddr.elf</meta_build_location>
        </image>

        <!--This section is used for signing validate image programming-->
        <image sign_id="vip" name="DigestsToSign.bin.mbn" image_type="mbn_40b">
            <general_properties_overrides>
                <sw_id>0x0000000000000003</sw_id>
                <secboot_version>1.0</secboot_version>
            </general_properties_overrides>
        </image>

       <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_BINARY)</meta_build_location>
        </image>

        <image sign_id="mba" name="mba.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000001</sw_id>
                <secboot_version>1.0</secboot_version>
            </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>
                <secboot_version>1.0</secboot_version>
            </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="tz" name="tz.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000007</sw_id>
                <oem_id_independent>enable</oem_id_independent>
                <qti_sign>true</qti_sign>
            </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="devcfg" name="devcfg.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000005</sw_id>
            </general_properties_overrides>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:TZDEVCFG_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="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:download_file, ATTR:cmm_file_var, VAR:ADSP_BINARY)</meta_build_location>
        </image>

        <image sign_id="wlan" name="wlanmdsp.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000012</sw_id>
                <secboot_version>1.0</secboot_version>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(BUILD_PATH:wlan)wlan_proc/build/ms/bin/QCAHLAWPDL/signed/wlanmdsp.mbn</meta_build_location>
        </image>

        <image sign_id="sti" name="loaderTest.elf" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000011</sw_id>
            </general_properties_overrides>
        </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>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:VENUS_BINARY)</meta_build_location>
        </image>

        <image sign_id="efs_tar" name="fs_image.tar.gz.mbn" image_type="mbn_40b">
            <general_properties_overrides>
                <sw_id>0x000000000000001B</sw_id>
                <secboot_version>1.0</secboot_version>
            </general_properties_overrides>
        </image>
        <image sign_id="sampleapp32" name="smplap32.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:file_ref, ATTR:pil_split, VAR:smplap32)</meta_build_location>
        </image>

        <image sign_id="sampleapp64" name="smplap64.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:file_ref, ATTR:pil_split, VAR:smplap64)</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>

        <!--cppf is required for secure video playback -->
        <image sign_id="cppf" name="cppf.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000002222</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:file_ref, ATTR:pil_split, VAR:cppf)</meta_build_location>
        </image>

        <image sign_id="playready" name="playread.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:playread)</meta_build_location>
        </image>

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

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

        <image sign_id="keymaster" name="km4.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:download_file, ATTR:cmm_file_var, VAR:KEYMASTER_BINARY)</meta_build_location>
        </image>

        <image sign_id="hdcp1" name="hdcp1.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000c</sw_id>
                <app_id>0x0000000000000776</app_id>
            </general_properties_overrides>
            <meta_build_location>$(BUILD_PATH:tz)/trustzone_images/build/ms/bin/KAJAANAA/hdcp1.mbn</meta_build_location>
        </image>

        <image sign_id="hdcp2p2" name="hdcp2p2.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000c</sw_id>
                <app_id>0x0000000000000777</app_id>
            </general_properties_overrides>
            <meta_build_location>$(BUILD_PATH:tz)/trustzone_images/build/ms/bin/KAJAANAA/hdcp2p2.mbn</meta_build_location>
        </image>

        <image sign_id="lksecapp" name="lksecapp.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000888</app_id>
            </general_properties_overrides>
            <meta_build_location>$(BUILD_PATH:tz)/trustzone_images/build/ms/bin/KAJAANAA/lksecapp.mbn</meta_build_location>
        </image>

        <image sign_id="macchiato_sample" name="macchiato_sample.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000999</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(BUILD_PATH:tz)/trustzone_images/build/ms/bin/KAJAANAA/macchiato_sample.mbn</meta_build_location>
        </image>

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

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

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

        <image sign_id="gfx_microcode" name="a508_zap.elf" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000014</sw_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:GFX_ELF)</meta_build_location>
        </image>
        <image sign_id="mcfg_hw" name="mcfg_hw.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000002</sw_id>
                <secboot_version>1.0</secboot_version>
                </general_properties_overrides>
        </image>

        <image sign_id="mcfg_sw" name="mcfg_sw.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000002</sw_id>
                <secboot_version>1.0</secboot_version>
                </general_properties_overrides>
        </image>

        <image sign_id="tz_tee" name="teetest.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000001E</sw_id>
                <app_id>0x000000000000001E</app_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(BUILD_PATH:tz)/trustzone_images/build/ms/bin/KAJAANAA/teetest.mbn</meta_build_location>
        </image>

        <image sign_id="storsec" name="storsec.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x000000000000000C</sw_id>
                <app_id>0x0000000000000116</app_id>
            </general_properties_overrides>
            <!--meta_build_location>$(BUILD_PATH:tz)/trustzone_images/build/ms/bin/KAJAANAA/storsec.mbn</meta_build_location-->
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:STORESEC_BINARY)</meta_build_location>
        </image>
        <image sign_id="cdsp" name="cdsp.mbn" image_type="elf_has_ht">
            <general_properties_overrides>
                <sw_id>0x0000000000000017</sw_id>
            </general_properties_overrides>
            <pil_split>true</pil_split>
            <meta_build_location>$(FILE_TYPE:download_file, ATTR:cmm_file_var, VAR:CDSP_BINARY)</meta_build_location>
        </image>

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