TPS25751: BQ25792 Charger Control

Part Number: TPS25751
Other Parts Discussed in Thread: BQ25792, , USB-PD-CHG-EVM-01

Tool/software:

I've ran into two issues using the TPS2571 to configure the battery charger IC PQ25792 utilizing the online tool.  First, it appears that the default gets set leaving the EN_ADC bit enabled so that the REGN regulator gets left on even after the PD charger is unplugged from the system.  This increases the quiesent current draw of the system to over 1mA.  I need to disable the EN_ADC bit so that the REGN regulator is only active when a PD charge block is plugged in.

The second issue I'm seeing is that I'm charging with a 2A charge current to a 4S2P battery pack.  It appears that the recharge threshold for the charger IC is set to the default of 200mV.  I need to increase that to 400mV.  What I'm seeing is that the charger IC goes into a continuous pulse charge mode when it drops out of the constant current mode into the constant voltage mode.  I've another thread discussing this issue (View online).

I've attached our current json and bin file.

Thanks.

Michael

4S2P_USB-C_2A_CHARGER.zip

  • OK, there was some sort of error in that bin file.  Looking at it the current wasn't set correctly.  Here are the corrected files.4S2P_USB-C_2A_CHARGER (1).zip

  • Hi Michael,

    Thanks for the files, I'll aim to give you and updated json/binary later today.

    Thanks and Regards,

    Chris

  • Hi Michael,

    See the attached binary for the REGN issue. Can you explain where you see the charging threshold for the BQ25792? I don't think we currently write to that register. The fast charge threshold has specific battery % settings, so I do not think it is configurable to the level you are looking for. I primarily support the PD Controller products, so may be missing something.

    4S2P_USBC_Harkins.bin

    Thanks and Regards,

    Chris

  • So in looking at the charger datasheet, it appears (and my device is acting accordingly) that the recharge threshold default is 200mV.  This is set in Table 9-21. REG0A_Re-charge_Control Register Field Descriptions, where it is adressable from 50mV to 800mV.  I need something far larger than 200mV.  The issue I have mentioned in the other thread is that when the charger hits the point where the charge current is enough to cross through the battery impedance, it bounces in and out of charging until if finally has charge enough so that the voltage bounce is smaller than the recharge threshold.  More detail is in the thread I posted a link to.  I really need this register addressed.

  • Hi Michael,

    Thanks, I did not see the thread. Let me look over it and get back to you later in the week.

    Thanks,

    Chris

  • Hi Michael,

    Does your system have an I2C host/MCU that can control the TPS25751?

    If it does, you may need to utilize they "I2Cr" and "I2Cw" to program this register yourself.

    I can try to get you a custom config with this I2C write for this register, but am getting concerned about running out of space and that we do not currently configure this register.

    To confirm, your system is 4S, you want the default deglitch time, and want 400mV VRCH?

    Thanks and Regards,

    Chris

  • No we don't have a MCU on the board.  We are relying totally on the programming of the TPS25751.  Yes our system is a 4S2P where we are charging to 16.4V.  And yes we want a minimum of 400mV VRCH.

  • Hi Michael, 

    Chris is currently out of office. Please allow some delay in responses. 

    Best Regards, 

    Aya Khedr

  • Hi Michael,

    Please see attached for the full flash bin and json. Please be aware that there is limited space and future custom I2C configs may be difficult to support.

    4S2P_Harkins_400m.bin

    4S2P_Harkins_400m.json
    {
      "questionnaire": {
        "device": "TPS25751",
        "toolBuildVersion": "1.0.2",
        "answers": [
          null,
          6,
          4,
          2,
          1,
          0,
          3,
          0,
          1,
          1,
          1,
          0,
          2,
          1,
          16.4,
          2,
          0.12,
          0.12,
          0
        ],
        "vendorId": "0000",
        "productId": "0000",
        "version": "1.0.0.2"
      },
      "configuration": {
        "data": {
          "selected_ace": [
            {
              "register": 6,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 22,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 40,
              "data": [
                0,
                0,
                46,
                1,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 41,
              "data": [
                50,
                80,
                144,
                0
              ]
            },
            {
              "register": 50,
              "data": [
                0,
                170,
                42,
                44,
                145,
                1,
                32,
                44,
                209,
                2,
                0,
                44,
                177,
                4,
                0,
                244,
                65,
                6,
                0,
                244,
                65,
                6,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 51,
              "data": [
                3,
                44,
                145,
                1,
                16,
                44,
                209,
                2,
                0,
                44,
                177,
                4,
                0,
                244,
                65,
                6,
                0,
                69,
                65,
                6,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 55,
              "data": [
                59,
                192,
                18,
                65,
                44,
                145,
                1,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 66,
              "data": [
                26,
                0,
                8,
                0
              ]
            },
            {
              "register": 92,
              "data": [
                12,
                12,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 112,
              "data": [
                0
              ]
            },
            {
              "register": 119,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                127,
                0
              ]
            },
            {
              "register": 122,
              "data": [
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 123,
              "data": [
                0,
                2,
                255,
                255,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 125,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 126,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 152,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            }
          ]
        }
      }
    }

    Thanks and Regards,

    Chris

  • Thanks for the files, unfortunately they did not fix the issue I'm running into so I'll have to take this back to the hardware group in the other thread I have going.  Questions for you though, if I want to make changes to these file in the advanced configuration, just how do I go about doing that.  When I import the .json file above, it appears all the registers are still at the default values.  So for instance if I wanted to change the setting for the 45W PD to 100W, what are the steps for doing so?   Thanks again.

  • Michael,

    Did the file change the value of the register in interest? Did you try the binary or the json? Just want to make sure the change made did what was intended.

    Questions for you though, if I want to make changes to these file in the advanced configuration, just how do I go about doing that.  When I import the .json file above, it appears all the registers are still at the default values.  So for instance if I wanted to change the setting for the 45W PD to 100W, what are the steps for doing so? 

    If you haven't already, skim through the EVM user guide, there is some useful information in there regarding GUI settings. We are looking into creating a "GUI user guide" but a timeline on that is grey.

    The question you are interested in modifies the Transmit Sink Capabilities register(0x33). The two main parts are (1) the number of PDOs and (2) the PDOs themselves.

    With 45W(15-V) selected, there are 3 PDOs, a 5V/3A, 9V/3A, and 15V/3A

    By selecting 100W, it adds a 20V/5A PDO for 4 PDOs total.

    So, add a PDO by increasing the num PDOs from 3 to 4, and update the settings in the newest PDO to be fixed, 20V, and 5A max.

    Thanks and Regards,

    Chris

  • I have no means to actually read the registers at this point, but from the waveforms I've looked at it appears to have increased the recharge threshold.  I'll skim the EVM user guide but I'm still unclear as to where I make these changes in order to keep the previous changes you've made.  Do I modify the json file?  Do I change from the default binary to the current binary before I export?  Again I'll look o see if these questions are addressed in the EVM user guide.   Thanks.

  • Ok, I think I got how to change some of the configuration information that is hanled through the online tool.  My question is how do I save the changes that you've made that are outside of the tool?  Do I select the current binary file here instead of default?  

    ANd then apply changes I want to make?

  • Hi Michael,

    No, the full flash binary is what is generated using the GUI and would be programmed to the EEPROM used (if using the EEPROM option) on the board.

    You can use the import config button to load the json I shared with you into the GUI. You can make edits to it using the Advanced config. We typically do not recommend you make any changes to these custom configs using the questionnaire, as it may have uninteded effects. The Advanced config is the lowest level of configuration, so any changes made should only effect the setting changed.

    Thanks and Regards,

    Chris

  • Ok, I've aquired the Ardvark I2C host adapter and the USB-PD-CHG-EVM-01 demo board and played around with them yesterday for a bit.  Later I'll set up a custom cable to connect to our prototype targe board and read out some of the registers you requested, but first a question regarding the on line application tool for setting the parts up.  I don't seem to be able to generate a VIF from the tool.  When I select it under the export tab, nothing appears to happen.  Is there something special I need to do to generate the VIF from the tool?

  • Hi Michael,

    I don't seem to be able to generate a VIF from the tool.  When I select it under the export tab, nothing appears to happen.  Is there something special I need to do to generate the VIF from the tool?

    Interesting, when using the 1.0.2 GUI, I see something load to downloads when I select the VIF Generation option. I'm not too sure what is happening here, what browser are you using?

    I am running chrome, and see no issues here. You can also download the GUI to use locally and the VIF generation tool seems to work fine there as well

    Please understand that the VIF generation tool is meant to provide a starting point for the VIF and is not intended to output a "perfect" VIF. We are working on improving the tool but VIF generation and compliance can be fairly complex.

    Thanks and Regards,

    Chris

  • Ok, so I'm using Microsoft Edge as my browser.  So I fired up Google Chrome Version 133.0.6943.142 (Official Build) (64-bit) but had the same issue.  I can export a binary file but when I try to export the VIF it just does nothing.  Doesn't pop up the window to select a name or directory or anything like exporting a binary does.  I've downloaded the GUI Composer Runtime, but when I click the link to download the application I get a web page not found.  Interestingly enough, I go to click the sign in on that web page that says can't be found, and I start to download a zip.  Installed the application and get the same results.  I import the json file for the image you had previously sent me for the 400mV Recharge threshold.  Go to export the vif and get nothing. Figured it might be time to reboot so rebooted the computer, and retried the downloaded app, yet still nothing.  Decided to create a new application (with all the same basic info except your updates) yet still can't get a VIF file.

  • For now could you export the VIF for the 4S2P_Harkins_400m.bin file you created so I can get the test lab going?   Thanks.

  • Hi Michael,

    Ok, so I'm using Microsoft Edge as my browser.  So I fired up Google Chrome Version 133.0.6943.142 (Official Build) (64-bit) but had the same issue.  I can export a binary file but when I try to export the VIF it just does nothing.  Doesn't pop up the window to select a name or directory or anything like exporting a binary does.  I've downloaded the GUI Composer Runtime, but when I click the link to download the application I get a web page not found.  Interestingly enough, I go to click the sign in on that web page that says can't be found, and I start to download a zip.  Installed the application and get the same results.  I import the json file for the image you had previously sent me for the 400mV Recharge threshold.  Go to export the vif and get nothing. Figured it might be time to reboot so rebooted the computer, and retried the downloaded app, yet still nothing.  Decided to create a new application (with all the same basic info except your updates) yet still can't get a VIF file.

    That sounds frustrating, apologies for the difficulties here and I appreciate you trying the different tools. I haven't had any issues generating the VIF before, but will let the GUI team know to see if they can root cause.

    I generated a VIF using the json you mentioned.

    USB_VENDOR_INFO_FILE_TPS25750x_2-28-2025_15-43-52.xml
    <?xml version="1.0"?><VIF xmlns="http://usb.org/VendorInfoFile.xsd"><VIF_Specification>3.18</VIF_Specification><VIF_App><Vendor>USB-IF</Vendor><Name>Texas Instruments USB-C PD Vendor Info</Name><Version>1.0</Version></VIF_App><Vendor_Name>TI</Vendor_Name><Model_Part_Number>TPS25751</Model_Part_Number><Product_Revision>1</Product_Revision><TID>0</TID><VIF_Product_Type value="0">Port Product</VIF_Product_Type><Certification_Type value="2">Silicon</Certification_Type><Product><USB4_DROM_Vendor_ID value="1105">0451</USB4_DROM_Vendor_ID><USB4_Num_Internal_Host_Controllers value="3"/><USB4_Num_PCIe_DN_Bridges value="3"/><USB4RouterList><Usb4Router><USB4_Router_ID value="0"/><USB4_Silicon_VID value="32903">8087</USB4_Silicon_VID><USB4_Num_Lane_Adapters value="4"/><USB4_Num_USB3_DN_Adapters value="4"/><USB4_Num_DP_IN_Adapters value="4"/><USB4_Num_DP_OUT_Adapters value="4"/><USB4_Num_PCIe_DN_Adapters value="4"/><USB4_TBT3_Not_Supported value="0">TBT3 Compatible</USB4_TBT3_Not_Supported><USB4_PCIe_Wake_Supported value="true"/><USB4_USB3_Wake_Supported value="false"/><USB4_Num_Unused_Adapters value="4"/><USB4_TBT3_VID value="32903">8087</USB4_TBT3_VID><USB4_PCIe_Switch_Vendor_ID value="32903">8087</USB4_PCIe_Switch_Vendor_ID><USB4_PCIe_Switch_Device_ID value="32903">8087</USB4_PCIe_Switch_Device_ID></Usb4Router></USB4RouterList></Product><Component><Port_Label>1</Port_Label><Connector_Type value="2">Type-C</Connector_Type><USB4_Supported value="false"/><USB4_Router_Index value="0"/><USB_PD_Support value="true"/><PD_Port_Type value="1">Consumer/Provider</PD_Port_Type><Type_C_State_Machine value="1">SNK</Type_C_State_Machine><Port_Battery_Powered value="true"/><BC_1_2_Support value="0">None</BC_1_2_Support><PD_Specification_Revision value="2">Revision 3.0</PD_Specification_Revision><PD_Spec_Revision_Major value="3"/><PD_Spec_Revision_Minor value="1"/><PD_Spec_Version_Major value="1"/><PD_Spec_Version_Minor value="8"/><SOP_Capable value="true"/><SOP_P_Capable value="true"/><SOP_PP_Capable value="true"/><SOP_P_Debug_Capable value="false"/><SOP_PP_Debug_Capable value="false"/><Manufacturer_Info_Supported_Port value="false"/><Manufacturer_Info_VID_Port value="1105">0x451</Manufacturer_Info_VID_Port><Manufacturer_Info_PID_Port value="0">0x0</Manufacturer_Info_PID_Port><USB_Comms_Capable value="false"/><DR_Swap_To_DFP_Supported value="true"/><DR_Swap_To_UFP_Supported value="true"/><Unconstrained_Power value="false"/><VCONN_Swap_To_On_Supported value="false"/><VCONN_Swap_To_Off_Supported value="false"/><Responds_To_Discov_SOP_UFP value="true"/><Responds_To_Discov_SOP_DFP value="true"/><Attempts_Discov_SOP value="false"/><Power_Interruption_Available value="0">DC Power Only</Power_Interruption_Available><Data_Reset_Supported value="false"/><Enter_USB_Supported value="false"/><ID_Header_Connector_Type_SOP value="2">USB Type-C Receptacle</ID_Header_Connector_Type_SOP><Chunking_Implemented_SOP value="true"/><Unchunked_Extended_Messages_Supported value="true"/><Security_Msgs_Supported_SOP value="false"/><Num_Fixed_Batteries value="0"/><Num_Swappable_Battery_Slots value="0"/><Type_C_Can_Act_As_Host value="false"/><Type_C_Can_Act_As_Device value="false"/><Type_C_Implements_Try_SRC value="false"/><Type_C_Implements_Try_SNK value="false"/><Type_C_Supports_Audio_Accessory value="false"/><Type_C_Is_VCONN_Powered_Accessory value="false"/><Type_C_Is_Debug_Target_SRC value="false"/><Type_C_Is_Debug_Target_SNK value="false"/><Captive_Cable value="false"/><RP_Value value="2">3A</RP_Value><Type_C_Port_On_Hub value="false"/><Type_C_Power_Source value="0">Externally Powered</Type_C_Power_Source><Type_C_Sources_VCONN value="false"/><Type_C_Is_Alt_Mode_Controller value="false"/><Type_C_Is_Alt_Mode_Adapter value="false"/><USB4_Max_Speed value="1">Gen 3 (40Gb)</USB4_Max_Speed><USB4_DFP_Supported value="false"/><USB4_UFP_Supported value="false"/><USB4_USB3_Tunneling_Supported value="true"/><USB4_DP_Tunneling_Supported value="false"/><USB4_PCIe_Tunneling_Supported value="false"/><USB4_TBT3_Compatibility_Supported value="false"/><USB4_CL1_State_Supported value="true"/><USB4_CL2_State_Supported value="true"/><USB4_Num_Retimers value="0"/><USB4_DP_Bit_Rate value="3">HBR3</USB4_DP_Bit_Rate><USB4_Num_DP_Lanes value="4">4 lanes</USB4_Num_DP_Lanes><USB4_Lane_0_Adapter value="1"/><Host_Supports_USB_Data value="true"/><Host_Speed value="4">USB 3.2 Gen 2x2</Host_Speed><Host_Contains_Captive_Retimer value="false"/><Host_Truncates_DP_For_tDHPResponse value="false"/><Host_Is_Embedded value="false"/><Host_Suspend_Supported value="true"/><Is_DFP_On_Hub value="false"/><Device_Supports_USB_Data value="false"/><Device_Speed value="4">USB 3.2 Gen 2x2</Device_Speed><Device_Contains_Captive_Retimer value="false"/><Device_Truncates_DP_For_tDHPResponse value="false"/><PD_Power_As_Source value="-Infinity">-Infinity mW</PD_Power_As_Source><EPR_Supported_As_Src value="false"/><Has_Invariant_PDOs value="true"/><USB_Suspend_May_Be_Cleared value="true"/><Sends_Pings value="false"/><FR_Swap_Type_C_Current_Capability_As_Initial_Sink value="0">FRS Not Supported</FR_Swap_Type_C_Current_Capability_As_Initial_Sink><Master_Port value="true"/><Num_Src_PDOs value="0"/><PD_OC_Protection value="true"/><PD_OCP_Method value="2">Both</PD_OCP_Method><SrcPdoList/><PD_Power_As_Sink value="45000">45000 mW</PD_Power_As_Sink><No_USB_Suspend_May_Be_Set value="true"/><GiveBack_May_Be_Set value="false"/><Higher_Capability_Set value="true"/><EPR_Supported_As_Snk value="false"/><FR_Swap_Reqd_Type_C_Current_As_Initial_Source value="0">FRS Not Supported</FR_Swap_Reqd_Type_C_Current_As_Initial_Source><Num_Snk_PDOs value="4"/><SnkPdoList><SnkPDO><Snk_PDO_Supply_Type value="0">Fixed</Snk_PDO_Supply_Type><Snk_PDO_Op_Current value="300">3000 mA</Snk_PDO_Op_Current><Snk_PDO_Voltage value="100">5000 mV</Snk_PDO_Voltage></SnkPDO><SnkPDO><Snk_PDO_Supply_Type value="0">Fixed</Snk_PDO_Supply_Type><Snk_PDO_Op_Current value="300">3000 mA</Snk_PDO_Op_Current><Snk_PDO_Voltage value="180">9000 mV</Snk_PDO_Voltage></SnkPDO><SnkPDO><Snk_PDO_Supply_Type value="0">Fixed</Snk_PDO_Supply_Type><Snk_PDO_Op_Current value="300">3000 mA</Snk_PDO_Op_Current><Snk_PDO_Voltage value="300">15000 mV</Snk_PDO_Voltage></SnkPDO></SnkPdoList><Accepts_PR_Swap_As_Src value="true"/><Accepts_PR_Swap_As_Snk value="false"/><Requests_PR_Swap_As_Src value="true"/><Requests_PR_Swap_As_Snk value="false"/><FR_Swap_Supported_As_Initial_Sink value="false"/><XID_SOP value="1105">0x451</XID_SOP><Data_Capable_As_USB_Host_SOP value="false"/><Data_Capable_As_USB_Device_SOP value="false"/><Product_Type_UFP_SOP value="0">PDUSB Peripheral</Product_Type_UFP_SOP><Product_Type_DFP_SOP value="0">PDUSB Host</Product_Type_DFP_SOP><DFP_VDO_Port_Number value="1"/><Modal_Operation_Supported_SOP value="false"/><USB_VID_SOP value="1105">0x451</USB_VID_SOP><PID_SOP value="0">0x0</PID_SOP><bcdDevice_SOP value="2321">0x911</bcdDevice_SOP><SVID_Fixed_SOP value="true"/><Num_SVIDs_Min_SOP value="0"/><Num_SVIDs_Max_SOP value="0"/><SOPSVIDList/><Product_Total_Source_Power_mW value="-Infinity">-Infinity mW</Product_Total_Source_Power_mW><Port_Source_Power_Type value="0">Assured</Port_Source_Power_Type></Component></VIF>

    If you haven't already, I strongly recommend downloading the VIFEDITOR tool: https://www.usb.org/document-library/usb-vendor-info-file-generator

    Thanks and Regards,

    Chris

  • Regarding the application tool, I'd appreciate any help your team can provide.  I've still not gotten it to export the VIF.  I downloaded the VIF you created but get the following error when I try loading it into the USB-IF Vendor Infor FIle Editor.  

  • Another question, in opening the VIF you attached to this thread and looking at the xml data strings it does not appear that this is related to the json file  you previously provided.  First it states the following:

    <Certification_Type value="2">Silicon</Certification_Type  Shouldn't this be end product? 
    Port type isn't set to consumer only.  Shouldn't be if this is a sink only device?
    <PD_Port_Type value="1">Consumer/Provider</PD_Port_Type>
    Secondly shouldn't the following be false?
    <Port_Battery_Powered value="true"/>
    Also since this is a sink only device, shouldn't the following be set to false?  Especially since the Port control registter x2 appears to have bits 6 & 7 set to zero?
    <DR_Swap_To_UFP_Supported value="true"/>
    There are a ton more settings I don't understand.  I'm not sure if its my lack of understanding of what the requirements are for the testing, or errors in the file.
    Thanks,
  • Ok, one additional thing.  I've programmed a board using the 4S2P_Harkins_400m.bin file you provided.  I've set up an adapter cable to connect the Ardvark host controller to our target board.  Pluging the battery in, then the USBC cable allowing for the bus controller to program the battery adapter, I'm reading REG0A_Re-charge_Control Register of the charger chip and getting a value of E7H which correlates to the 400mV recharge threshold we were after.

  • Hi Michael,

    Thanks for pointing this out. Let me check in on this and get back to you in the next couple days. I think I see what the issue is.

    Thanks and Regards,

    Chris

  • Hi Michael,

    Thanks for you patience here. Please try the attached VIF.

    When you open in in VIFEDITOR, there will be some fields that are red. These are system level fields that depend on your design, so we leave them empty for the customer to fill out.

    Let me know if you have additional questions.

    USB_VENDOR_INFO_FILE_TPS25751x_3-5-2025.xml
    <?xml version="1.0" encoding="utf-8"?>
    <vif:VIF xmlns:opt="http://usb.org/VendorInfoFileOptionalContent.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vif="http://usb.org/VendorInfoFile.xsd">
      <vif:VIF_Specification>3.33</vif:VIF_Specification>
      <vif:VIF_App>
        <vif:Vendor>USB-IF</vif:Vendor>
        <vif:Name>VIF Editor</vif:Name>
        <vif:Version>3.11.0.0</vif:Version>
      </vif:VIF_App>
      <vif:Vendor_Name>TI</vif:Vendor_Name>
      <vif:Model_Part_Number>TPS25751</vif:Model_Part_Number>
      <vif:Product_Revision>1</vif:Product_Revision>
      <vif:TID>0</vif:TID>
      <vif:VIF_Product_Type value="0">Port Product</vif:VIF_Product_Type>
      <vif:Certification_Type value="2">Silicon</vif:Certification_Type>
      <vif:Product>
        <!--Product Level Content:-->
      </vif:Product>
      <vif:Component>
        <!--Component 0: Port 1-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;Component-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:Port_Label>1</vif:Port_Label>
        <vif:Connector_Type value="2">Type-C®</vif:Connector_Type>
        <vif:USB4_Supported value="false" />
        <vif:USB_PD_Support value="true" />
        <vif:PD_Port_Type value="0">Consumer Only</vif:PD_Port_Type>
        <vif:Type_C_State_Machine value="1">SNK</vif:Type_C_State_Machine>
        <vif:Port_Battery_Powered value="true" />
        <vif:BC_1_2_Support value="0">None</vif:BC_1_2_Support>
        <vif:Captive_Cable value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;General PD-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:PD_Spec_Revision_Major value="3">3</vif:PD_Spec_Revision_Major>
        <vif:PD_Spec_Revision_Minor value="1">1</vif:PD_Spec_Revision_Minor>
        <vif:PD_Spec_Version_Major value="1">1</vif:PD_Spec_Version_Major>
        <vif:PD_Spec_Version_Minor value="8">8</vif:PD_Spec_Version_Minor>
        <vif:PD_Specification_Revision value="2">Revision 3</vif:PD_Specification_Revision>
        <vif:SOP_Capable value="true" />
        <vif:SOP_P_Capable value="true" />
        <vif:SOP_PP_Capable value="true" />
        <vif:SOP_P_Debug_Capable value="false" />
        <vif:SOP_PP_Debug_Capable value="false" />
        <vif:Manufacturer_Info_Supported_Port value="false" />
        <vif:Chunking_Implemented_SOP value="true" />
        <vif:Unchunked_Extended_Messages_Supported value="true" />
        <vif:Security_Msgs_Supported_SOP value="false" />
        <vif:Unconstrained_Power value="false" />
        <vif:Num_Fixed_Batteries value="0">0</vif:Num_Fixed_Batteries>
        <vif:Num_Swappable_Battery_Slots value="0">0</vif:Num_Swappable_Battery_Slots>
        <vif:ID_Header_Connector_Type_SOP value="2">USB Type-C® Receptacle</vif:ID_Header_Connector_Type_SOP>
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;PD Capabilities-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:USB_Comms_Capable value="false" />
        <vif:DR_Swap_To_DFP_Supported value="true" />
        <vif:DR_Swap_To_UFP_Supported value="true" />
        <vif:VCONN_Swap_To_On_Supported value="false" />
        <vif:VCONN_Swap_To_Off_Supported value="false" />
        <vif:Responds_To_Discov_SOP_UFP value="true" />
        <vif:Responds_To_Discov_SOP_DFP value="true" />
        <vif:Attempts_Discov_SOP value="false" />
        <vif:Power_Interruption_Available value="0">No Interruption Possible</vif:Power_Interruption_Available>
        <vif:Data_Reset_Supported value="false" />
        <vif:Enter_USB_Supported value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;USB Type-C®-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:Type_C_Can_Act_As_Host value="false" />
        <vif:Type_C_Can_Act_As_Device value="false" />
        <vif:Type_C_Supports_Audio_Accessory value="false" />
        <vif:Type_C_Is_VCONN_Powered_Accessory value="false" />
        <vif:Type_C_Is_Debug_Target_SNK value="false" />
        <vif:Type_C_Port_On_Hub value="false" />
        <vif:Type_C_Power_Source value="0">Externally Powered</vif:Type_C_Power_Source>
        <vif:Type_C_Sources_VCONN value="false" />
        <vif:Type_C_Is_Alt_Mode_Controller value="false" />
        <vif:Type_C_Is_Alt_Mode_Adapter value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;PD Sink-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:PD_Power_As_Sink value="45000">45000 mW</vif:PD_Power_As_Sink>
        <vif:EPR_Supported_As_Snk value="false" />
        <vif:No_USB_Suspend_May_Be_Set value="true" />
        <vif:GiveBack_May_Be_Set value="false" />
        <vif:Higher_Capability_Set value="true" />
        <vif:FR_Swap_Reqd_Type_C_Current_As_Initial_Source value="0">FR_Swap not supported</vif:FR_Swap_Reqd_Type_C_Current_As_Initial_Source>
        <vif:Num_Snk_PDOs value="3">3 Snk PDOs</vif:Num_Snk_PDOs>
        <!--Bundle: SnkPdoList-->
        <vif:SnkPdoList>
          <vif:SnkPDO>
            <!--Sink PDO 1-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="100">5000 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
          <vif:SnkPDO>
            <!--Sink PDO 2-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="180">9000 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
          <vif:SnkPDO>
            <!--Sink PDO 3-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="300">15000 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
        </vif:SnkPdoList>
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;SOP Discover ID-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:XID_SOP value="1105">1105</vif:XID_SOP>
        <vif:Data_Capable_As_USB_Host_SOP value="false" />
        <vif:Data_Capable_As_USB_Device_SOP value="false" />
        <vif:Product_Type_UFP_SOP value="0">Undefined</vif:Product_Type_UFP_SOP>
        <vif:Product_Type_DFP_SOP value="0">Undefined</vif:Product_Type_DFP_SOP>
        <vif:DFP_VDO_Port_Number value="1">1</vif:DFP_VDO_Port_Number>
        <vif:Modal_Operation_Supported_SOP value="false" />
        <vif:USB_VID_SOP value="1105">0451</vif:USB_VID_SOP>
        <vif:PID_SOP value="0">0000</vif:PID_SOP>
        <vif:bcdDevice_SOP value="2321">0911</vif:bcdDevice_SOP>
      </vif:Component>
    </vif:VIF>

    Thanks and Regards,

    Chris

  • Hi Michael,

    Made a small change to the "USB Type-C -> Type_C_Supports_VCONN_Powered_Accessory" field.

    5141.USB_VENDOR_INFO_FILE_TPS25751x_3-5-2025.xml
    <?xml version="1.0" encoding="utf-8"?>
    <vif:VIF xmlns:opt="http://usb.org/VendorInfoFileOptionalContent.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vif="http://usb.org/VendorInfoFile.xsd">
      <vif:VIF_Specification>3.33</vif:VIF_Specification>
      <vif:VIF_App>
        <vif:Vendor>USB-IF</vif:Vendor>
        <vif:Name>VIF Editor</vif:Name>
        <vif:Version>3.11.0.0</vif:Version>
      </vif:VIF_App>
      <vif:Vendor_Name>TI</vif:Vendor_Name>
      <vif:Model_Part_Number>TPS25751</vif:Model_Part_Number>
      <vif:Product_Revision>1</vif:Product_Revision>
      <vif:TID>0</vif:TID>
      <vif:VIF_Product_Type value="0">Port Product</vif:VIF_Product_Type>
      <vif:Certification_Type value="2">Silicon</vif:Certification_Type>
      <vif:Product>
        <!--Product Level Content:-->
      </vif:Product>
      <vif:Component>
        <!--Component 0: Port 1-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;Component-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:Port_Label>1</vif:Port_Label>
        <vif:Connector_Type value="2">Type-C®</vif:Connector_Type>
        <vif:USB4_Supported value="false" />
        <vif:USB_PD_Support value="true" />
        <vif:PD_Port_Type value="0">Consumer Only</vif:PD_Port_Type>
        <vif:Type_C_State_Machine value="1">SNK</vif:Type_C_State_Machine>
        <vif:Port_Battery_Powered value="true" />
        <vif:BC_1_2_Support value="0">None</vif:BC_1_2_Support>
        <vif:Captive_Cable value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;General PD-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:PD_Spec_Revision_Major value="3">3</vif:PD_Spec_Revision_Major>
        <vif:PD_Spec_Revision_Minor value="1">1</vif:PD_Spec_Revision_Minor>
        <vif:PD_Spec_Version_Major value="1">1</vif:PD_Spec_Version_Major>
        <vif:PD_Spec_Version_Minor value="8">8</vif:PD_Spec_Version_Minor>
        <vif:PD_Specification_Revision value="2">Revision 3</vif:PD_Specification_Revision>
        <vif:SOP_Capable value="true" />
        <vif:SOP_P_Capable value="true" />
        <vif:SOP_PP_Capable value="true" />
        <vif:SOP_P_Debug_Capable value="false" />
        <vif:SOP_PP_Debug_Capable value="false" />
        <vif:Manufacturer_Info_Supported_Port value="false" />
        <vif:Chunking_Implemented_SOP value="true" />
        <vif:Unchunked_Extended_Messages_Supported value="true" />
        <vif:Security_Msgs_Supported_SOP value="false" />
        <vif:Unconstrained_Power value="false" />
        <vif:Num_Fixed_Batteries value="0">0</vif:Num_Fixed_Batteries>
        <vif:Num_Swappable_Battery_Slots value="0">0</vif:Num_Swappable_Battery_Slots>
        <vif:ID_Header_Connector_Type_SOP value="2">USB Type-C® Receptacle</vif:ID_Header_Connector_Type_SOP>
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;PD Capabilities-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:USB_Comms_Capable value="false" />
        <vif:DR_Swap_To_DFP_Supported value="true" />
        <vif:DR_Swap_To_UFP_Supported value="true" />
        <vif:VCONN_Swap_To_On_Supported value="false" />
        <vif:VCONN_Swap_To_Off_Supported value="false" />
        <vif:Responds_To_Discov_SOP_UFP value="true" />
        <vif:Responds_To_Discov_SOP_DFP value="true" />
        <vif:Attempts_Discov_SOP value="false" />
        <vif:Power_Interruption_Available value="0">No Interruption Possible</vif:Power_Interruption_Available>
        <vif:Data_Reset_Supported value="false" />
        <vif:Enter_USB_Supported value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;USB Type-C®-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:Type_C_Can_Act_As_Host value="false" />
        <vif:Type_C_Can_Act_As_Device value="false" />
        <vif:Type_C_Supports_Audio_Accessory value="false" />
        <vif:Type_C_Supports_VCONN_Powered_Accessory value="false" />
        <vif:Type_C_Is_VCONN_Powered_Accessory value="false" />
        <vif:Type_C_Is_Debug_Target_SNK value="false" />
        <vif:Type_C_Port_On_Hub value="false" />
        <vif:Type_C_Power_Source value="0">Externally Powered</vif:Type_C_Power_Source>
        <vif:Type_C_Sources_VCONN value="false" />
        <vif:Type_C_Is_Alt_Mode_Controller value="false" />
        <vif:Type_C_Is_Alt_Mode_Adapter value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;PD Sink-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:PD_Power_As_Sink value="45000">45000 mW</vif:PD_Power_As_Sink>
        <vif:EPR_Supported_As_Snk value="false" />
        <vif:No_USB_Suspend_May_Be_Set value="true" />
        <vif:GiveBack_May_Be_Set value="false" />
        <vif:Higher_Capability_Set value="true" />
        <vif:FR_Swap_Reqd_Type_C_Current_As_Initial_Source value="0">FR_Swap not supported</vif:FR_Swap_Reqd_Type_C_Current_As_Initial_Source>
        <vif:Num_Snk_PDOs value="3">3 Snk PDOs</vif:Num_Snk_PDOs>
        <!--Bundle: SnkPdoList-->
        <vif:SnkPdoList>
          <vif:SnkPDO>
            <!--Sink PDO 1-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="100">5000 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
          <vif:SnkPDO>
            <!--Sink PDO 2-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="180">9000 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
          <vif:SnkPDO>
            <!--Sink PDO 3-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="300">15000 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
        </vif:SnkPdoList>
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;SOP Discover ID-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:XID_SOP value="1105">1105</vif:XID_SOP>
        <vif:Data_Capable_As_USB_Host_SOP value="false" />
        <vif:Data_Capable_As_USB_Device_SOP value="false" />
        <vif:Product_Type_UFP_SOP value="0">Undefined</vif:Product_Type_UFP_SOP>
        <vif:Product_Type_DFP_SOP value="0">Undefined</vif:Product_Type_DFP_SOP>
        <vif:DFP_VDO_Port_Number value="1">1</vif:DFP_VDO_Port_Number>
        <vif:Modal_Operation_Supported_SOP value="false" />
        <vif:USB_VID_SOP value="1105">0451</vif:USB_VID_SOP>
        <vif:PID_SOP value="0">0000</vif:PID_SOP>
        <vif:bcdDevice_SOP value="2321">0911</vif:bcdDevice_SOP>
      </vif:Component>
    </vif:VIF>

    Thanks and Regards,

    Chris

  • Hi Chris, thanks for the file.  It now loads into the VIF file editor.  So questions.  While not marked in red, I see that under the Product tab its set for certification type 2: Silicon.  I'm assuming this should set for 0: end product? 

    On the Component tab, I see you've marked the field "Port_Battery_Powered as yes.  While there is a battery in the product, the TPS25751 is only powered by a conneced PD.  Should this not be marked as No?

    Also a question regarding number of batteries under the General PD tab.  This is obviously used as a battery charging input to our end product which contains the 4S2P battery pack.  I've assumed this should be set for 1 fixed battery and zero swappable battery slots.  The question is on the previous VIF I sent to the test lab, that was how it was set, but one of the test failures was "The UUT should have sent Battery_Capabilities message when VIF fields Num_Fixed_Batteries or Num_Swappable_Battery_Slots are non-zero."  I'm not sure I understand.

    Here is the VIF I orignally sent:

    Krill_USB-C.xml
    <?xml version="1.0" encoding="utf-8"?>
    <vif:VIF xmlns:opt="http://usb.org/VendorInfoFileOptionalContent.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vif="http://usb.org/VendorInfoFile.xsd">
      <vif:VIF_Specification>3.33</vif:VIF_Specification>
      <vif:VIF_App>
        <vif:Vendor>USB-IF</vif:Vendor>
        <vif:Name>VIF Editor</vif:Name>
        <vif:Version>3.11.0.0</vif:Version>
      </vif:VIF_App>
      <vif:VIF_Product_Type value="0">Port Product</vif:VIF_Product_Type>
      <vif:Certification_Type value="0">End Product</vif:Certification_Type>
      <vif:Product>
        <!--Product Level Content:-->
      </vif:Product>
      <vif:Component>
        <!--Component 0: Port 1-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;Component-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:Port_Label>1</vif:Port_Label>
        <vif:Connector_Type value="2">Type-C®</vif:Connector_Type>
        <vif:USB4_Supported value="false" />
        <vif:USB_PD_Support value="true" />
        <vif:PD_Port_Type value="0">Consumer Only</vif:PD_Port_Type>
        <vif:Type_C_State_Machine value="1">SNK</vif:Type_C_State_Machine>
        <vif:Port_Battery_Powered value="false" />
        <vif:BC_1_2_Support value="0">None</vif:BC_1_2_Support>
        <vif:Captive_Cable value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;General PD-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:PD_Spec_Revision_Major value="3">3</vif:PD_Spec_Revision_Major>
        <vif:PD_Spec_Revision_Minor value="1">1</vif:PD_Spec_Revision_Minor>
        <vif:PD_Spec_Version_Major value="1">1</vif:PD_Spec_Version_Major>
        <vif:PD_Spec_Version_Minor value="6">6</vif:PD_Spec_Version_Minor>
        <vif:PD_Specification_Revision value="2">Revision 3</vif:PD_Specification_Revision>
        <vif:SOP_Capable value="true" />
        <vif:SOP_P_Capable value="false" />
        <vif:SOP_PP_Capable value="false" />
        <vif:SOP_P_Debug_Capable value="false" />
        <vif:SOP_PP_Debug_Capable value="false" />
        <vif:Manufacturer_Info_Supported_Port value="false" />
        <vif:Chunking_Implemented_SOP value="true" />
        <vif:Unchunked_Extended_Messages_Supported value="false" />
        <vif:Security_Msgs_Supported_SOP value="false" />
        <vif:Unconstrained_Power value="false" />
        <vif:Num_Fixed_Batteries value="1">1</vif:Num_Fixed_Batteries>
        <vif:Num_Swappable_Battery_Slots value="0">0</vif:Num_Swappable_Battery_Slots>
        <vif:ID_Header_Connector_Type_SOP value="2">USB Type-C® Receptacle</vif:ID_Header_Connector_Type_SOP>
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;PD Capabilities-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:USB_Comms_Capable value="false" />
        <vif:DR_Swap_To_DFP_Supported value="false" />
        <vif:DR_Swap_To_UFP_Supported value="false" />
        <vif:VCONN_Swap_To_On_Supported value="false" />
        <vif:VCONN_Swap_To_Off_Supported value="false" />
        <vif:Responds_To_Discov_SOP_UFP value="false" />
        <vif:Responds_To_Discov_SOP_DFP value="false" />
        <vif:Attempts_Discov_SOP value="false" />
        <vif:Power_Interruption_Available value="0">No Interruption Possible</vif:Power_Interruption_Available>
        <vif:Data_Reset_Supported value="false" />
        <vif:Enter_USB_Supported value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;USB Type-C®-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:Type_C_Can_Act_As_Host value="false" />
        <vif:Type_C_Can_Act_As_Device value="false" />
        <vif:Type_C_Supports_Audio_Accessory value="false" />
        <vif:Type_C_Supports_VCONN_Powered_Accessory value="false" />
        <vif:Type_C_Is_VCONN_Powered_Accessory value="false" />
        <vif:Type_C_Is_Debug_Target_SNK value="false" />
        <vif:Type_C_Port_On_Hub value="false" />
        <vif:Type_C_Power_Source value="2">Both</vif:Type_C_Power_Source>
        <vif:Type_C_Sources_VCONN value="false" />
        <vif:Type_C_Is_Alt_Mode_Controller value="false" />
        <vif:Type_C_Is_Alt_Mode_Adapter value="false" />
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <!--;PD Sink-->
        <!--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-->
        <vif:PD_Power_As_Sink value="45000">45000 mW</vif:PD_Power_As_Sink>
        <vif:EPR_Supported_As_Snk value="false" />
        <vif:No_USB_Suspend_May_Be_Set value="true" />
        <vif:GiveBack_May_Be_Set value="false" />
        <vif:Higher_Capability_Set value="true" />
        <vif:FR_Swap_Reqd_Type_C_Current_As_Initial_Source value="0">FR_Swap not supported</vif:FR_Swap_Reqd_Type_C_Current_As_Initial_Source>
        <vif:Num_Snk_PDOs value="4">4 Snk PDOs</vif:Num_Snk_PDOs>
        <!--Bundle: SnkPdoList-->
        <vif:SnkPdoList>
          <vif:SnkPDO>
            <!--Sink PDO 1-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="100">5000 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
          <vif:SnkPDO>
            <!--Sink PDO 2-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="0">15 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="0">3 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
          <vif:SnkPDO>
            <!--Sink PDO 3-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="0">9 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="300">3000 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
          <vif:SnkPDO>
            <!--Sink PDO 4-->
            <vif:Snk_PDO_Supply_Type value="0">Fixed</vif:Snk_PDO_Supply_Type>
            <vif:Snk_PDO_Voltage value="0">12 mV (Factor = 50)</vif:Snk_PDO_Voltage>
            <vif:Snk_PDO_Op_Current value="0">3 mA (Factor = 10)</vif:Snk_PDO_Op_Current>
          </vif:SnkPDO>
        </vif:SnkPdoList>
      </vif:Component>
    </vif:VIF>

    And here is the associated list of failures:

    Teledyne LeCroy USB Compliance Result__MITEK-CORPORATION-0-0.html
    <html>
       <head>
           <title>Teledyne LeCroy USB Compliance Suite Overview Result</title>
            <style type='text/css'>
    Html {        font-family: Arial, Helvetica, sans-serif;    font-size: 11px;    text-align: left;    margin: 0 auto 0 auto;    width: 100%;}body {    margin: 0 auto 0 auto;    width: 100%;    font-family: Arial, Helvetica, sans-serif;    font-size: 11px;    text-align: left;}.title {    font-size: 18px;    text-align: center;    margin-bottom: 10px;    font-family: verdana, Geneva, Tahoma, sans-serif;}#tbl_header {    font-size: 11px;    margin-top: 20px;    margin-bottom: 0px;    color: #666666;}.date {    margin: 0px;    width: 100%;    text-align: right;    padding-right: 10px;    padding-top: 0px;    font-size: 10px;    color: #666666;    padding-bottom: 3px;}.center {text-align: center;}.testSummary {    text-align: center;    float: left;    width: 33%;}#tbl_main {    color: #666;    font-size: 11px;    border: #ccc 1px solid;    width: 100%;    border-radius: 3px;    border-collapse: collapse;}#tbl_main th {    text-align: center;    text-shadow: 1px 1px 0px #fff;    background: #DFDFDF;    font-weight: bold;    font-size: 12px;    border: 1px solid #C0C0C0;}#tbl_main td {    padding: 4px;    border: 1px solid #C0C0C0;    text-align: justify;}#tbl_main .header_bunch {    background-color: #F0F0F0;    font-weight: bold;}#tbl_main .result {    text-align: center;    width: 32px;}#tbl_main .test_case {    width: 35%;    }#tbl_main .description {    width: 65%;}#tbl_main .repeat {    font-weight: bold;    font-style: italic;}#tbl_main .iteration {    border-width: 1px;    border-color: #CCCCCC;    border-top-style: dashed;    border-bottom-style: dashed;}#tbl_main .state .test_case {    border-width: 0px;    font-weight: bold;}#tbl_main .iteration .test_case {    border-width: 0px;}#tbl_main .iteration .result {    border-width: 0px;}#tbl_main .state .result {    border-width: 0px;    font-weight: bold;}#tbl_main .iteration .description, #tbl_main .state .description {    border-width: 0px;}#tbl_result {    margin-top: 8px;    font-size: 11px;    font-weight: bold;    color: #666666;}#tbl_result td {    width: 150px;}#footer {    margin-top: 8px;}#tbl_footer {    font-family: verdana, Geneva, Tahoma, sans-serif;    font-size: 8px;    color: #808080;    border-top-style: solid;    border-top-width: 1px;    border-top-color: #999999;}#tbl_main .pass {    background-color: #00CC00;    color: #FFFFFF;}#tbl_main .fail {    background-color: #CC0000;    color: #FFFFFF;}#tbl_main .NA {    background-color: #C0C0C0;    color: #FFFFFF;}#tbl_main .indeterminate {    background-color: #D76B00;    color: #FFFFFF;}#tbl_main .unofficial-pass {    background-color: #CCCC00;    color: #FFFFFF;}#tbl_main .unofficial-fail {    background-color: #CCCC00;    color: #FFFFFF;}#tbl_main .iteration .pass {    color: #00CC00;    background-color: #FFFFFF;}#tbl_main .iteration .fail {    color: #CC0000;    background-color: #FFFFFF;}#tbl_main .iteration.NA {    color: #C0C0C0;    background-color: #FFFFFF;}#tbl_main .iteration .indeterminate {    color: #D76B00;    background-color: #FFFFFF;}#tbl_main .iteration .unofficial-pass {    color: #CCCC00;    background-color: #FFFFFF;}#tbl_main .iteration .unofficial-fail {    color: #CCCC00;    background-color: #FFFFFF;}#tbl_main .state .pass {    color: #00CC00;    background-color: #C6FFC6;}#tbl_main .state .fail {    color: #CC0000;    background-color: #FFC4C4;}#tbl_main .state.NA {    color: #AAAAAA;    background-color: #EFEFEF;}#tbl_main .state .indeterminate {    color: #D76B00;    background-color: #FFC0A2;}#tbl_main .state .unofficial-pass {    color: #CCCC00;    background-color: #FFFFCC;}#tbl_main .state .unofficial-fail {    color: #CCCC00;    background-color: #FFFFCC;}        
    </style>
       </head>
       <body>
           <div class='header'>
               <div class='title'> Teledyne LeCroy USB Compliance Suite Overview Result </div>
               <table ID='tbl_header'>
                   <tr><th>Device Under Test</th></tr>
                    <tr><td>Vendor_Name</td><td>MITEK-CORPORATION</td</tr>
                    <tr><td>Model_Part_Number</td><td>0</td></tr>
                    <tr><td>Product_Revision</td><td>A</td></tr>
                    <tr><td>UUT Alias</td><td>MITEK-CORPORATION-0-0</td></tr>
                    <tr><td>Port Label</td><td>1</td></tr>
               </table>
                <div class='date'>Thursday, February 27, 2025 - 15:21</div>
                <div class='date'>Duration:  9 minutes, 6 seconds</div>
           </div>
                <div> USB Power Delivery - USBIF</div>
                <div>CTS implemented: Q3 2024 RC2 (full), Q3 2024 RC3 (partial)</div>
           <table ID = 'tbl_main'>
               <thead>
                   <tr>
                        <th class='test_case'>Compliance Test</th>
                        <th class='result'>Result</th>
                        <th class='description'>Description</th>
                   </tr>
                </thead>
               <tbody>
                   <tr>
                        <td>TEST.PD.PROT.ALL3.08 Get Revision Response</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.ALL3.8#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.ALL3.8#2</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The Version.minor (B19:B16) did not matches to the VIF field 'PD_Spec_Version_Minor'.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PROT.PORT3.01 Get_Battery_Status Response</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.1#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT did not send Sink_Capabilty_Extended message in reply to Tester's Get_Sink_Cap_Extended  message when VIF field PD_PORT_TYPE is not Provider Only.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.1#2</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.1#3</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.1#4</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This is not applicable because the UUT did not send a Battery_Status message.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PROT.PORT3.02 Invalid Battery Status Reference</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.2#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT did not send Sink_Capabilty_Extended message in reply to Tester's Get_Sink_Cap_Extended  message when VIF field PD_PORT_TYPE is not Provider Only.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.2#2</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.2#3</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.2#4</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This is not applicable because the UUT did not send a Battery_Status message.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PROT.PORT3.03 Get_Battery_Cap Response</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3UnchkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.3#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT did not send Sink_Capabilty_Extended message in reply to Tester's Get_Sink_Cap_Extended  message when VIF field PD_PORT_TYPE is not Provider Only.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.3#2</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT should have sent Battery_Capabilities message when VIF fields Num_Fixed_Batteries or Num_Swappable_Battery_Slots are non-zero.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.3#3</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This is not applicable because the UUT did not send a Battery_Capabilities message.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.3#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT did not send Sink_Capabilty_Extended message in reply to Tester's Get_Sink_Cap_Extended  message when VIF field PD_PORT_TYPE is not Provider Only.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.3#2</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT should have sent Battery_Capabilities message when VIF fields Num_Fixed_Batteries or Num_Swappable_Battery_Slots are non-zero.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.3#3</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This is not applicable because the UUT did not send a Battery_Capabilities message.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PROT.PORT3.04 Invalid Battery Capabilities Reference</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3UnchkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.4#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT did not send Sink_Capabilty_Extended message in reply to Tester's Get_Sink_Cap_Extended  message when VIF field PD_PORT_TYPE is not Provider Only.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.4#2</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.4#3</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This is not applicable because the UUT did not send a Battery_Capabilities message.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.4#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>The UUT did not send Sink_Capabilty_Extended message in reply to Tester's Get_Sink_Cap_Extended  message when VIF field PD_PORT_TYPE is not Provider Only.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.4#2</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.PORT3.4#3</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This is not applicable because the UUT did not send a Battery_Capabilities message.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PROT.SNK.08 Atomic Message Sequence �C Accept</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev2Snk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.8#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Request message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.8#2</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Request message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.8#3</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Request message.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.8#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Request message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.8#2</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Request message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.8#3</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Request message.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PROT.SNK.09 Atomic Message Sequence - PS_RDY</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev2Snk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.9#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.9#2</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Hard Reset.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.9#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.9#2</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not send a Hard Reset.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PROT.SNK.10 DR_Swap Request</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev2Snk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.10#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT was not allowed to send Accept message when DR_SWAP_TO_DFP_SUPPORTED is NO.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.10#2</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because the the PUT did not correctly complete DR_Swap.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.10#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT was not allowed to send Accept message when DR_SWAP_TO_DFP_SUPPORTED is NO.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PROT.SNK.10#2</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because the the PUT did not correctly complete DR_Swap.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.VDM.SRC.01 Discovery Process and Enter Mode</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>Valid PD_PORT_TYPE for this TD :  "Provider Only"  "Provider/Consumer"  "Consumer/Provider"  "Dual Role Port" </td>
                   </tr>
                   <tr>
                        <td>TEST.PD.VDM.SNK.02 Exit Mode without Entering</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev2Snk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.2#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT should have responded with Ignore when Structured VDMs is not supported.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.2#2</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.2#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT should have responded with Not_Supported message when Structured VDMs is not supported.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.2#2</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.VDM.SNK.05 DR Swap in Modal Operation</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev2Snk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT should have responded with Ignore when Structured VDMs is not supported.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#2</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#3</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#4</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT should have responded with Not_Supported message when Structured VDMs is not supported.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#2</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#3</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.5#4</td>
                        <td class='result NA'>N/A</td>
                        <td class='description'>This step is not applicable because PUT did not send a Responder ACK message.</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.VDM.SNK.06 Structured VDM Revision Number Test</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev2Snk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.6#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT did not Ignore sending a response when Supports_Structured_VDMs is NO.</td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.VDM.SNK.6#1</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The UUT should have sent a Not_Supported message when VIF field Supports_Structured_VDMs is NO..</td>
                   </tr>
                   <tr>
                        <td>TEST.PD.PS.SNK.01 PDO Transitions As Sink </td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev2Snk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#2</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#12</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#13</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#14</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#3</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#4</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#5</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The current (80 mA at 6.544 840 440 sec) drawn from VBUS exceeded the Sink PDO current defined in the VIF after 315ms time period (tSrcTransition max + tSrcReady max).</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#6</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#15</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#7</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#8</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#9</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#10</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#11</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='state'>
                        <td class='test_case' style='text-indent: 10px'>Rev3ChkdSnk</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>COMMON.PROC.BU.2#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#1</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#2</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#12</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#13</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#14</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#3</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#4</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#5</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>  The current (79 mA at 10.623 934 096 sec) drawn from VBUS exceeded the Sink PDO current defined in the VIF after 315ms time period (tSrcTransition max + tSrcReady max).</td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#6</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#15</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#7</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#8</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#9</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#10</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
                   <tr class='iteration'>
                        <td class='test_case' style='text-indent: 20px'>TEST.PD.PS.SNK.1#11</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   </tr>
               </tbody>
           </table>
    
           <table ID='tbl_result'>
                <tr><td>Total Tests</td><td>13</td></tr>
                <tr><td>Passed Tests</td><td>0</td></tr>
                <tr><td>Failed Tests</td><td>12</td></tr>
                <tr><td>N/A Tests</td><td>1</td></tr>
                <tr><td>Indeterminate Tests</td><td>0</td></tr>
                <tr></tr>
    <tr></tr>
    <tr></tr>
    <tr></tr>
    <tr></tr>
           </table>
                <div> Common Checks</div>
                <div></div>
           <table ID = 'tbl_main'>
               <thead>
                   <tr>
                        <th class='test_case'>Common Checks</th>
                        <th class='result'>Result</th>
                        <th class='description'>Occurance</th>
                   </tr>
                </thead>
               <tbody>
                   <tr>
                        <td>COMMON.CHECK.PD.1 Check Preamble</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.2 Check Message Header</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.3 Check GoodCRC</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>TEST.PD.PROT.SNK.8_Rev3ChkdSnk, TEST.PD.PROT.SNK.9_Rev2Snk</td>
                   </tr>
                   <tr>
                        <td>COMMON.CHECK.PD.4 Check Atomic Message Sequence</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.5 Check Unexpected Messages and Signals</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.6 Check Control Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.7 Check Source Capabilities Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.8 Check Request Message</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>TEST.PD.PROT.ALL3.8_Rev3ChkdSnk, TEST.PD.PROT.PORT3.1_Rev3ChkdSnk, TEST.PD.PROT.PORT3.2_Rev3ChkdSnk, TEST.PD.PROT.PORT3.3_Rev3UnchkdSnk, TEST.PD.PROT.PORT3.3_Rev3ChkdSnk, TEST.PD.PROT.PORT3.4_Rev3UnchkdSnk, TEST.PD.PROT.PORT3.4_Rev3ChkdSnk, TEST.PD.PROT.SNK.8_Rev3ChkdSnk, TEST.PD.PROT.SNK.9_Rev3ChkdSnk, TEST.PD.PROT.SNK.10_Rev3ChkdSnk, TEST.PD.VDM.SNK.2_Rev3ChkdSnk, TEST.PD.VDM.SNK.5_Rev3ChkdSnk, TEST.PD.VDM.SNK.6_Rev3ChkdSnk, TEST.PD.PS.SNK.1_Rev3ChkdSnk</td>
                   </tr>
                   <tr>
                        <td>COMMON.CHECK.PD.9 Check Structured VDM Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.10 Check Extended Message Header</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.11 Check Source Capabilities Extended Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.12 Check Sink Capabilities Message</td>
                        <td class='result fail'>Fail</td>
                        <td class='description'>TEST.PD.PS.SNK.1_Rev2Snk, TEST.PD.PS.SNK.1_Rev3ChkdSnk</td>
                   </tr>
                   <tr>
                        <td>COMMON.CHECK.PD.13 Check Correct Use of Rp</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.14 Check Hard Reset</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD.15 Check Sink Capabilities Extended Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD3.1 Check EPR_Request Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD3.2 Check EPR_Mode Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD3.3 Check EPR_Source_Capabilities Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.CHECK.PD3.4 Check EPR_Sink_Capabilities Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.2 UUT Sent Get_Source_Cap</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.3 UUT Sent Get_Sink_Cap</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.4 UUT Sent Ping</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.5 UUT Sent PR_Swap</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.6 UUT Sent VCONN_Swap</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.7 UUT Sent Discover Identity Request</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.8 UUT Sent Discover SVIDs Request</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.9 UUT Sent Attention</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.10 UUT Sent Request</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.11 UUT Sent Source Capabilities</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.12 UUT Sent DR_Swap</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD.17 Tester Sent Vconn_swap message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD3.1 Sink Start an AMS</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD3.2 UUT Sent EPR_Source_Cap message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD3.3 UUT Sent EPR_Get_Source_Cap</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD3.4 UUT Sent EPR_Request</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD3.5 Tester Sent EPR_Mode (Enter)</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD3.6 UUT Sent EPR_Mode (Enter)</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
                   <tr>
                        <td>COMMON.PROC.PD3.7 Tester Sends EPR_KeepAlive Message</td>
                        <td class='result pass'>Pass</td>
                        <td class='description'></td>
               </tbody>
           </table>
           <table ID='tbl_result'>
                <tr><td>Total Tests</td><td>38</td></tr>
                <tr><td>Passed Tests</td><td>35</td></tr>
                <tr><td>Failed Tests</td><td>3</td></tr>
                <tr><td>N/A Tests</td><td>0</td></tr>
                <tr><td>Indeterminate Tests</td><td>0</td></tr>
                <tr></tr>
    <tr></tr>
    <tr></tr>
    <tr></tr>
    <tr></tr>
           </table>
           <div ID='footer'>
               <table ID='tbl_footer'>
                    <tr><td>USB Compliance Suite Version</td><td>7.82 Build 1187</td></tr>
                    <tr><td>USB Protocol Suite Version</td><td> 9.52 Build 4827</td></tr>
                    <tr><td>Analyzer</td><td>Voyager M310e</td><td>26648:  BusEngine  3.12             Firmware  4.05</td></tr>
                    <tr><td style='color:#DC0000'>"VBus and CC voltage self-tests" were not performed.</td><td> </td><td> </td></tr>
               </table>
           </div>
       </body>
    </html>
    

    I appreciate any guidance you can provide.

    Thanks,

  • Hi Michael,

    I'm assuming this should set for 0: end product? 

    Yes

    On the Component tab, I see you've marked the field "Port_Battery_Powered as yes.  While there is a battery in the product, the TPS25751 is only powered by a conneced PD.  Should this not be marked as No?

    This is an interesting one, I shared the VifGenerator documents definition of the field below, and it seems a little vague and open to interpretation.

    I think in your case it is safe to say no b/c the battery does not directly power or provide power to the port. This field is mainly used in ports connected to chargers, where you want to be able to query the port for battery capabilities.

    Basically, do you want the port to respond to Battery related PD messages? 

    Also a question regarding number of batteries under the General PD tab.  This is obviously used as a battery charging input to our end product which contains the 4S2P battery pack.  I've assumed this should be set for 1 fixed battery and zero swappable battery slots.  The question is on the previous VIF I sent to the test lab, that was how it was set, but one of the test failures was "The UUT should have sent Battery_Capabilities message when VIF fields Num_Fixed_Batteries or Num_Swappable_Battery_Slots are non-zero."  I'm not sure I understand.

    The main purpose of the VIF is to provide the port settings to the testers so they can run the correct tests for compliance. The main goal is for the VIF to match how the port responds to specific situations. 

    What the test is saying is that because the General PD->Num_Fixed_Batteries is set to 1, it expects the PD controller to respond to a "get battery capabilities" request.

    Do you want to be able to support this message? If you load the latest JSON I shared into the GUI, you may be able to enable this yourself.

    1. Enable Advanced config to be able to modify registers
    2. Go to the "PD3 Configuration" register
      1. Select "Support Battery Capabilities Message"
    3. The "Tx Battery Capabilites" register will allow you set some of the fields it responds with. The register format should match the spec defined format for these message

    Basically, this field indicates that the port has a battery associated with it and in the context of the VIF, that the port needs to be tested with battery related messaging. If you want to support the messaging, you can enable it in the GUI. If not, set the number to 0.

    Hope that helps.

    Thanks and Regards,

    Chris

  • Thanks Chris.  So for now since the lab has the product and I can not update the firmware in it, I shoul just set connected batteries to none.  Will his address tthe rest of the failures also?

  • Hi Michael,

    Not necessarily,  no. It would only address the Battery related issues.

    Do you have the test reports with the individual failure logs? The test house should have provided them in addition to the html they shared.

    Can you share those with me, the html alone is not enough to determine why some of the tests are failing.

    I don't know what the issues are yet, but sometimes fixes do require updates to the FW/config. Not saying we will need it just yet, but does the lab have any way to update the product?

    Thanks and Regards,

    Chris

  • Hi Chris,  It was the second file I attached previously.  Here it is again: (I zipped it incase there was an issue opening the HTML file.

    Teledyne LeCroy USB Compliance Result__MITEK-CORPORATION-0-0.zip

  • Thanks Michael,

    I must have missed it. Please give me a couple days to review it, aiming for tomorrow or Monday.

    Thanks and Regards,

    Chris

  • Hi Michael,

    Sorry for the delays here, finally got a chance to look into this.

    Here it is again: (I zipped it incase there was an issue opening the HTML file.

    Typically the logs are a pretty large file that also have lecroy traces that can be opened in one of their apps. The lecroy traces have a bit more failure and can help debug.

    The failing tests will typically come with a Lecroy USB trace for debugging.

    If you have these, they might be helpful to share.

    • Test.PD.PROT.ALL3.08
      • Update vif to match DUT's value
    • TEST.PD.PROT.PORT3.01 
    • TEST.PD.PROT.PORT3.02
    • TEST.PD.PROT.PORT3.03
    • TEST.PD.PROT.PORT3.04
      • All 1-4 are related to a .json issue.
      • There is a register, PD3 Configuration, that has an enable bit for sink extended messages that needed to be set.
        • Now that the bit has been set, we will respond but the information might not be correct. May see more failures, but should be different ones.
    • TEST.PD>PROT.SNK.08
      • need the Lecroy USB trace to debug this one, html does not have enough info
    • TEST.PD.PROT.SNK.09
      • need the Lecroy USB trace 
    • TEST.PD.PROT.SNK.10
      • Do you want to support DR_SWAP_TO_DFP?
        • If YES, change in VIF
        • If NO, let me know and I can update .json
    • TEST.PD.VDM.SNK.02
    • TEST.PD.VDM.SNK.05
    • TEST.PD.VDM.SNK.06
      • 2,5 and 6 Where is the Structured VDMs field set to not supported?
      • Can you share Lecroy traces for these three?
    • TEST.PD.PS.SNK.01 PDO Transitions As Sink
      • Possibly a system issue. Make sure to not draw excess current during compliance when sinking

    4S2P_Harkins_400m_0314.json
    {
      "questionnaire": {
        "device": "TPS25751",
        "toolBuildVersion": "1.0.2",
        "answers": [
          null,
          6,
          4,
          2,
          1,
          0,
          3,
          0,
          1,
          1,
          1,
          0,
          2,
          1,
          16.4,
          2,
          0.12,
          0.12,
          0
        ],
        "vendorId": "0000",
        "productId": "0000",
        "version": "1.0.0.2"
      },
      "configuration": {
        "data": {
          "selected_ace": [
            {
              "register": 6,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 22,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 40,
              "data": [
                0,
                0,
                46,
                1,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                3
              ]
            },
            {
              "register": 41,
              "data": [
                50,
                80,
                144,
                0
              ]
            },
            {
              "register": 50,
              "data": [
                0,
                170,
                42,
                44,
                145,
                1,
                32,
                44,
                209,
                2,
                0,
                44,
                177,
                4,
                0,
                244,
                65,
                6,
                0,
                244,
                65,
                6,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 51,
              "data": [
                3,
                44,
                145,
                1,
                16,
                44,
                209,
                2,
                0,
                44,
                177,
                4,
                0,
                244,
                65,
                6,
                0,
                69,
                65,
                6,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 55,
              "data": [
                59,
                192,
                18,
                65,
                44,
                145,
                1,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 66,
              "data": [
                26,
                0,
                10,
                0
              ]
            },
            {
              "register": 92,
              "data": [
                12,
                12,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 112,
              "data": [
                0
              ]
            },
            {
              "register": 119,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                127,
                0
              ]
            },
            {
              "register": 122,
              "data": [
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 123,
              "data": [
                0,
                2,
                255,
                255,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 125,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 126,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            },
            {
              "register": 152,
              "data": [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            }
          ]
        }
      }
    }
    4S2P_Harkins_400m_0314.bin

    Let me know if you have any questions.

    Thanks and Regards,

    Chris