SWRA751 September   2022

 

  1.   Introduction
  2.   Trademarks
  3. 1Command Packet
  4. 2Event Packet
  5. 3HCI Commands
    1. 3.1 HCI Commands List Format
    2. 3.2 Support HCI Commands Detailed Description
      1. 3.2.1  HCI_VS_Write_BD_Addr (0xFC06)
      2. 3.2.2  HCI_VS_Write_CODEC_Config (0xFD06)
      3. 3.2.3  HCI_VS_Write_CODEC_Config_Enhanced (0xFD07)
      4. 3.2.4  HCI_VS_DRP_Read_BER_Meter_Result (0xFD13)
      5. 3.2.5  HCI_VS_DRPb_Tester_Con_RX (0xFD17)
      6. 3.2.6  HCI_VS_LE_Enable (0xFD5B)
      7. 3.2.7  HCI_VS_Set_LE_Test_Mode_Parameters (0xFD77)
      8. 3.2.8  HCI_VS_DRPb_Enable_RF_Calibration (0xFD80)
      9. 3.2.9  HCI_VS_DRPb_Tester_Con_TX (0xFD84)
      10. 3.2.10 HCI_VS_DRPb_Tester_Packet_TX_RX (0xFD85)
      11. 3.2.11 HCI_VS_DRPb_Reset (0xFD88)
      12. 3.2.12 HCI_VS_DRPb_BER_Meter_Start (0xFD8B)
      13. 3.2.13 HCI VS LE Read Ber Test Results (0xFDAE)
      14. 3.2.14 HCI_VS_Read_RSSI (0xFDFC)
      15. 3.2.15 HCI_VS_Write_SCO_Configuration (0xFE10)
      16. 3.2.16 HCI_VS_Set_Pcm_Loopback_Enable (0xFE28)
      17. 3.2.17 HCI_VS_Read_Hardware_Register (0xFF00)
      18. 3.2.18 HCI_VS_Write_Hardware_Register (0xFF01)
      19. 3.2.19 HCI_VS_Update_UART_HCI_Baudrate (0xFF36)
      20. 3.2.20 HCI_VS_Set_Supported_Features (0xFF26)
      21. 3.2.21 HCI_VS_HCILL_Parameters (0xFD2B)
      22. 3.2.22 HCI_VS_Sleep_Mode_Configurations (0xFD0C)
      23. 3.2.23 HCI_VS_Get_System_Status (0xFE1F)
      24. 3.2.24 HCI_VS_Read_Patch_Version (0xFF22)
      25. 3.2.25 HCI_VS_DRPb_Set_Power_Vector (0xFD82)
      26. 3.2.26 HCI_VS_DRPb_Set_Class2_Single_Power (0xFD87)
      27. 3.2.27 HCI_VS_LE_Output_Power (0xFDDD)
      28. 3.2.28 HCI_VS_A3DP_Codec_Configuration (0xFD8E)
      29. 3.2.29 HCI_VS_AVPR_Enable (0xFD92)
      30. 3.2.30 HCI_VS_A3DP_Open_Stream (0xFD8C)
      31. 3.2.31 HCI_VS_A3DP_Close_Stream (0xFD8D)
      32. 3.2.32 HCI_VS_A3DP_Start_Stream (0xFD8F)
      33. 3.2.33 HCI_VS_A3DP_Stop_Stream (0xFD90)
      34. 3.2.34 HCI_VS_A3DP_Sink_Codec_Configuration (0xFD9C)
      35. 3.2.35 HCI_VS_A3DP_Sink_Open_Stream (0xFD9A)
      36. 3.2.36 HCI_VS_A3DP_Sink_Close_Stream (0xFD9B)
      37. 3.2.37 HCI_VS_A3DP_Sink_Start_Stream (0xFD9D)
      38. 3.2.38 HCI_VS_A3DP_Sink_Stop_Stream (0xFD9E)
      39. 3.2.39 HCI_VS_WBS_Associate (0xFD78)
      40. 3.2.40 HCI_VS_WBS_Disassociate (0xFD79)
  6. 4General Hardware Errors
  7. 5Revision History

HCI_VS_Read_Patch_Version (0xFF22)

Description:

This command gets all internal details and version numbers of the loaded patches.

All reserved bits and bytes must be 0.

PTCR = Patch trap control register

The following fields contain a unique identification for the patch package and its correlation to the base software version that runs on the device, regardless of whether it is a ROM or a FLASH version:

  • Main release major number (1 byte)
  • Main release minor number (1 byte)
  • Patch trap package ID (1 byte)
  • Patch trap package build number (1 byte)

The value of PTCR is set by the post patch load handler, at the end of patch load. Only the enabled patch functions (a bit mask of 12 lowest bits) must be 1, according to the patch package contents.

Note: After hardware reset, the PTCR is 0 and the patch is erased; thus, the patch version is also 0. Only after a patch is loaded does the HCI_VS_Read_Patch_Version command return nonzero values. The HCI_RESET behavior flow has been improved to only reset the link manager and link controller in accordance with the Bluetooth specification. It is not required to re-execute the service pack after HCI_RESET has been performed.

Command Parameters:

HCI_VS_Read_Patch_Version (0xFF22) None.

Table 3-47 Return Parameters
Return Parameter Size (bytes) Value Parameter Description
Status 1 0x00
0x01-0xFF
Command succeeded.
Command failed.
Enabled Mask 6 0–1 Bit mask of active patch traps. Every bit holds the value of the corresponding patch of only) the possible 12 traps. The value is read from the PTCR (Patch Trap Control Register). For every bit: 0 = Patch disabled; 1 = Patch enabled.
ReleaseMajor 1 For example, in a patch for software version 3.16, you will get 0x03. Main release major number. The upper byte of the base software version to which the patch package refers.
ReleaseMinor 1 For example, in a patch for software version 3.16, you will get 0x10. Main release minor number. The lower byte of the base software version to which the patch package refers.
PackageID 1 For example, in patch package 2, you will get 0x02. Patch trap package ID. Unique number for the patch package. A patch package contains up to 12 different patch traps.
Build Number 1 For example, in patch package 2 in release (build no.) 4, you will get 0x04. Patch trap package build number. Unique number for patch package build number.
This is a serial number in the patch package.