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

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

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

<tns:fuseblower xmlns:tns="http://www.qualcomm.com/fuseblower"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.qualcomm.com/fuseblower ../xsd/fuseblower.xsd">
    <metadata>
        <chipset>sdx55</chipset>
        <version>1.0</version>
    </metadata>

    <module id="SECURITY_CONTROL_CORE">
        <base_address>0x00780000</base_address>
        <description/>

        <fuse_region id="QFPROM_RAW_RD_PERM">
            <description>Row 54</description>
            <fuse ignore="false" n="0">
                <address>0x007801B0</address>
                <operation>BLOW</operation>
                <field id="SEC_KEY_DERIVATION_KEY">
                    <description>Secondary Key Derivation Key Read Disable</description>
                    <value>0x1</value>
                    <bits>24</bits>
                </field>
            </fuse>
        </fuse_region>

        <fuse_region id="QFPROM_RAW_WR_PERM">
            <description>Row 55</description>
            <fuse ignore="false" n="0">
                <address>0x007801B8</address>
                <operation>BLOW</operation>
                <field id="Read Permissions Write Disable">
                    <description>
                        Disables further QFPROM changes to the this region.
                        Blow this bit after the region has been completely provisioned.
                    </description>
                    <value>0x1</value>
                    <bits>7</bits>
                </field>
                <field id="FEC enables Write Disable">
                    <description>
                        Disables further QFPROM changes to the this region. Blow this
                        bit after the region has been completely provisioned.
                    </description>
                    <value>0x1</value>
                    <bits>9</bits>
                </field>
                <field id="OEM Configuration Write Disable">
                    <description>
                        Disables further QFPROM changes to the this region.
                        Blow this bit after the region has been completely provisioned.
                    </description>
                    <value>0x1</value>
                    <bits>10</bits>
                </field>
                <field id="Public Key Hash 0 Write Disable">
                    <description>
                        Disables further QFPROM changes to the this region.
                        Blow this bit after the region has been completely provisioned.
                    </description>
                    <value>0x1</value>
                    <bits>17</bits>
                </field>
                <field id="OEM Secure Boot Write Disable">
                    <description>
                        Disables further QFPROM changes to the this region. Blow this
                        bit after the region has been completely provisioned.
                    </description>
                    <value>0x1</value>
                    <bits>23</bits>
                </field>
                <field id="Secondary Key Derivation Key Write Disable">
                    <description>
                        Disables further QFPROM changes to the this region. Blow this
                        bit after the region has been completely provisioned.
                    </description>
                    <value>0x1</value>
                    <bits>24</bits>
                </field>
            </fuse>
        </fuse_region>

        <fuse_region id="QFPROM_RAW_FEC_EN">
            <description>Row 56</description>
            <fuse ignore="false" n="0">
                <address>0x007801C0</address>
                <operation>BLOW</operation>
                <field id="REGION24_FEC_EN">
                    <description>Secondary Key Derivation Key FEC Enable</description>
                    <value>0x1</value>
                    <bits>24</bits>
                </field>
            </fuse>
        </fuse_region>

        <fuse_region id="QFPROM_RAW_OEM_CONFIG">
            <description>Rows 57, 58 and 59</description>
            <fuse ignore="false" n="0">
                <address>0x007801C8</address>
                <operation>BLOW</operation>
                <field id="FORCE_USB_BOOT_DISABLE">
                    <description>
                        OEM optional. If this bit is '0': FORCE_USB_BOOT GPIO when high
                        during boot up; forces boot from USB. If this bit is '1': it disables
                        this feature and FORCE_USB_BOOT GPIO works as a standard GPIO.
                    </description>
                    <value>0x1</value>
                    <bits>3</bits>
                </field>
                <field id="FAST_BOOT[2:0]">
                    <description>
                        These fuses are used by boot code to specify which device has priority
                        to be booted from. For SDx55, the mapping is as follows:
                        0x0:DEFAULT (Default (NAND-> USB))
                        0x1: PCIE (PCIE)
                        0x2: USB (USB)
                        0x3: EMMC_USB
                    </description>
                    <value>0x0</value>
                    <bits>7:5</bits>
                </field>
                <field id="DISABLE_ROT_TRANSFER">
                    <description>
                        This fuse permanently disables root of trust transfer.
                    </description>
                    <value>0x1</value>
                    <bits>20</bits>
                </field>
                <field id="SHARED_QSEE_SPNIDEN_DISABLE">
                    <description>
                        Shared QSEE Secure Non-invasive Debug Disable bucket. This OEM controlled
                        fuse can be overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>31</bits>
                </field>
                <field id="SHARED_MSS_DBGEN_DISABLE">
                    <description>
                        Shared MSS Invasive Debug Disable bucket. This OEM controlled fuse can be
                        overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>32</bits>
                </field>
                <field id="SHARED_MSS_NIDEN_DISABLE">
                    <description>
                        Shared MSS Non-invasive Debug Disable bucket. This OEM controlled fuse
                        can be overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>33</bits>
                </field>
                <field id="SHARED_CP_DBGEN_DISABLE">
                    <description>
                        Shared CP Invasive Debug Disable bucket. This OEM controlled fuse
                        can be overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>34</bits>
                </field>
                <field id="SHARED_CP_NIDEN_DISABLE">
                    <description>
                        Shared CP Non-invasive Debug Disable bucket. This OEM controlled
                        fuse can be overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>35</bits>
                </field>
                <field id="SHARED_NS_DBGEN_DISABLE">
                    <description>
                        Shared CP Invasive Debug Disable bucket. This OEM controlled fuse
                        can be overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>36</bits>
                </field>
                <field id="SHARED_NS_NIDEN_DISABLE">
                    <description>
                        Shared CP Non-invasive Debug Disable bucket. This OEM controlled
                        fuse can be overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>37</bits>
                </field>
                <field id="SHARED_MISC_DEBUG_DISABLE">
                    <description>
                        Shared Misc Debug Disable bucket. This OEM controlled fuse can be
                        overriden by the corresponding QC fuse.
                    </description>
                    <value>0x1</value>
                    <bits>40</bits>
                </field>
                <field id="SHARED_QSEE_SPIDEN_DISABLE">
                    <description/>
                    <value>0x1</value>
                    <bits>43</bits>
                </field>
                <field id="LLCC_DSRW_DISABLE">
                    <description/>
                    <value>0x1</value>
                    <bits>63</bits>
                </field>
            </fuse>
            <fuse ignore="false" n="1">
                <address>0x007801D0</address>
                <operation>BLOW</operation>
                <field id="DISABLE_RSA">
                    <description>
                        When this bit is 0 and signed image type SHA384 + RSA/ECC is 0-- RSA OPERATION
                        When this bit is 0 and signed image type SHA384 + RSA/ECC IS 1-- ECC OPERATION USING PKA IP
                        When this bit is 1 and signed image type SHA384 + RSA/ECC is 0-- Error
                        When this bit is 1 and signed image type SHA384 + RSA/ECC is 1-- ECC OPERATION USING PKA IP
                    </description>
                    <value>0x0</value>
                    <bits>31</bits>
                </field>
            </fuse>
        </fuse_region>

        <fuse_region id="QFPROM_RAW_OEM_SEC_BOOT">
            <description/>
            <fuse ignore="false" n="0">
                <address>0x007805E8</address>
                <operation>BLOW</operation>
                <field id="SEC_BOOT1_AUTH_EN">
                    <description>
                        Blow this bit to enable secure boot for Modem. When this bit is '1';  enables
                        authentication for any code that references secure boot configuration 1.
                    </description>
                    <value>0x1</value>
                    <bits>5</bits>
                </field>
                <field id="SEC_BOOT2_AUTH_EN">
                    <description>
                        Blow this bit to enable secure boot for Modem. When this bit is '1';  enables
                        authentication for any code that references secure boot configuration 2.
                    </description>
                    <value>0x1</value>
                    <bits>13</bits>
                </field>
                <field id="SEC_BOOT3_AUTH_EN">
                    <description>
                        Blow this bit to enable secure boot for Modem. When this bit is '1';  enables
                        authentication for any code that references secure boot configuration 3.
                    </description>
                    <value>0x1</value>
                    <bits>21</bits>
                </field>
            </fuse>
        </fuse_region>

        <fuse_region id="QFPROM_RAW_SEC_KEY_DERIVATION_KEY">
            <description/>
            <fuse ignore="false" n="0">
                <address>0x007805F8</address>
                <operation>BLOW</operation>
                <field id="KEY_DATA">
                    <description>Sec Key Derivation Key[55:0]</description>
                    <value>0x00000000000000</value>
                    <bits>55:0</bits>
                </field>
                <field id="FEC_VALUE">
                    <value>0x00</value>
                    <bits>62:56</bits>
                </field>
            </fuse>
            <fuse ignore="false" n="1">
                <address>0x00780600</address>
                <operation>BLOW</operation>
                <field id="KEY_DATA">
                    <description>Sec Key Derivation Key[111:56]</description>
                    <value>0x00000000000000</value>
                    <bits>55:0</bits>
                </field>
                <field id="FEC_VALUE">
                    <value>0x00</value>
                    <bits>62:56</bits>
                </field>
            </fuse>
            <fuse ignore="false" n="2">
                <address>0x00780608</address>
                <operation>BLOW</operation>
                <field id="KEY_DATA">
                    <description>Sec Key Derivation Key[167:112]</description>
                    <value>0x00000000000000</value>
                    <bits>55:0</bits>
                </field>
                <field id="FEC_VALUE">
                    <value>0x00</value>
                    <bits>62:56</bits>
                </field>
            </fuse>
            <fuse ignore="false" n="3">
                <address>0x00780610</address>
                <operation>BLOW</operation>
                <field id="KEY_DATA">
                    <description>Sec Key Derivation Key[223:168]</description>
                    <value>0x00000000000000</value>
                    <bits>55:0</bits>
                </field>
                <field id="FEC_VALUE">
                    <value>0x00</value>
                    <bits>62:56</bits>
                </field>
            </fuse>
            <fuse ignore="false" n="4">
                <address>0x00780618</address>
                <operation>BLOW</operation>
                <field id="KEY_DATA">
                    <description>Sec Key Derivation Key[255:224]</description>
                    <value>0x00000000</value>
                    <bits>31:0</bits>
                </field>
                <field id="FEC_VALUE">
                    <value>0x00</value>
                    <bits>62:56</bits>
                </field>
            </fuse>
        </fuse_region>

    </module>
</tns:fuseblower>
