Manufacturing Software Development Kit API....Specification
AN14125
Labtool, Software Development Kit (SDK), API, annexes, calibration sequences, RSSI, power, crystal, TX/RX, storage, Bluetooth/Bluetooth Low Energy (LE), Wi-Fi, 802.15.4, manufacturing
NXP B.V.
Manufacturing Software Development Kit ...
AN14125: Manufacturing Software Development Kit API Specification - Application note
RW610: Wireless MCU with Integrated Radio: 1x1 Wi-Fi 6 Bluetooth Low Energy 5.4 Radios | NXP Semiconductors
Not Your Device? Search For Manuals or Datasheets below:
File Info : application/pdf, 145 Pages, 1.08MB
Document DEVICE REPORTAN14125AN14125 Manufacturing Software Development Kit API Specification Rev. 2.0 -- 28 February 2025 Application note Document information Information Content Keywords Labtool, Software Development Kit (SDK), API, annexes, calibration sequences, RSSI, power, crystal, TX/RX, storage, Bluetooth/Bluetooth Low Energy (LE), Wi-Fi, 802.15.4, manufacturing Abstract Details how to use the manufacturing SDK API to automate Wi-Fi, Bluetooth, and 802.15.4 radio calibration. NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 1 About this document 1.1 Purpose This document explains the Labtool Software Development Kit (SDK) used to automate manufacturing test programs. The SDK contains Application Programming Interfaces (APIs) and a list of data elements (annexes). The APIS are called in sequence for Wi-Fi, Bluetooth/Bluetooth LE, 802.15.4 calibrations. The annexes are used to store calibration data. 1.2 Supported products · AW611 [15] · IW610 [16] · IW611 [17] · IW612 [18] · RW610 [19] · RW612 [20] 1.3 System requirements The manufacturing SDK requires: · A x86 based Windows computer with Ethernet connection and a local storage device (hard driver or flash driver). · Windows 10 or Windows 11 operating system (OS) · A software development IDE such as Microsoft Visual Studio 2022 or newer versions. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 2 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 2 Labtool SDK 2.1 Download the SDK To download the Labtool SDK: · Go to the web page of the supported device. See [15], [16], [17], [18], [19], and [20]. · Click Design Resources ( Figure 1). Figure 1.Design resources tab on the product page · Sign in to access secure files · Click Software in the Design resource section (Figure 2). Figure 2.Design resources section on the product page AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 3 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification · Select Test, Debug, Analyzer Software (Figure 3). Figure 3.Software items · Look for the latest Labtool SDK and click Download (Figure 4). Figure 4.Labtool SDK AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 4 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 3 Calibration data Calibration data includes Wi-Fi, Bluetooth, and IEEE 802.15.4 (IW612 and RW612 only) configuration and calibration parameters. Calibration data is design specific and includes the following: Wi-Fi · Wi-Fi MAC address · Crystal frequency calibration · Wi-Fi RSSI calibration · Wi-Fi transmit power calibration · Thermal compensation for Wi-Fi transmit power · Thermal compensation for crystal frequency · RF front-end control configuration · Wi-Fi system configuration Bluetooth/Bluetooth Low Energy (LE) · Initial Bluetooth transmit power · Bluetooth TX Power Class · Bluetooth RF front end (FE) Loss · Bluetooth device (BD) address · Bluetooth frequency calibration · Bluetooth UART baud rate 802.15.4 (IW612 and RW612 only) · 802.15.4 maximum power limit · EUI 64-bit MAC address · SPI clock frequency · 802.15.4 front-end (FE) loss AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 5 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 4 Flowchart Figure 5 illustrates the back-end of Labtool application. On Labtool applications, users input commands which call the APIs in sequence. If the values are within range, the API action is performed. The API data can be stored in the device storage or annex. Else, the user is prompted again for a valid command. Labtool application Input commands 6 11 112 0 0 12 0 6 ... Calls the API sequence No Parameters within range? Yes Performs API action Figure 5.Flowchart of Labtool back-end Device storage and annexes AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 6 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 5 Wi-Fi sequences This section describes the API sequence to calibrate a Wi-Fi radio with example parameters. Read more about the Wi-Fi subsystem API in [1]. 5.1 Initialize the Wi-Fi Before calibrating, the Wi-Fi DUT must be initialized. Other radios are turned off to ensure there is no interference with Wi-Fi operations. · To connect to the Wi-Fi DUT: DutIf_InitConnection(NULL) · To connect to Bluetooth DUT: Dut_Bt_OpenDevice (NULL) · To connect to 15.4 DUT: Dut_15_4_OpenDevice (NULL) · To disconnect the Bluetooth DUT: Dut_Bt_CloseDevice(NULL) · To disconnect 802.15.4 DUT: Dut_15_4_CloseDevice(NULL) · To disconnect the Wi-Fi DUT: DutIf_Disconnection(NULL) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 7 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 5.2 Configure the calibration data storage Calibration data can be stored in the EEPROM, the configuration file, or the on-chip OTP memory. · Set to EEPROM Dut_Shared_SetStorageType(0, 0) · Set to calibration .conf file Dut_Shared_SetStorageType(1, 0) · Set to OTP Dut_Shared_SetStorageType(2, 0) 5.3 Load Wi-Fi calibration data Calibration data can be stored in a configuration file. · Load the default Wi-Fi hardware configuration file DutIf_SetCustomizedSettings(NULL) 5.4 Set the thermal compensation for the crystal frequency The Wi-Fi thermal crystal frequency compensation parameter is used to maintain the crystal frequency accuracy across the operating temperature range. A third order polynomial equation is used for the crystal frequency parameter: Where: · Y is the crystal frequency offset · X is the thermal sensor (Tsen) reading · A is the third order coefficient · B is the second order coefficient · C is the first order coefficient · D is the constant coefficient To calculate the average frequency offset delta, refer to the section Wi-Fi thermal crystal frequency compensation in [2] and [3]. Store the values in annex 83. Dut_Shared_SetAnnexType83Data(ThirdOrderCoefficient, SecondOrderCoefficient, FirstOrderCoefficient, ConstantCoefficient) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 8 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 5.5 Set the thermal TX power compensation The Wi-Fi thermal power compensation parameter is used to maintain the transmit power accuracy across the operating temperature range. The power compensation parameter is expressed as a slope of a linear equation for power correction. As the temperature changes, the slope compensation is applied to maintain the transmit power accuracy. The formula for TX power thermal slope is shown below: Where: · Tsen is the temperature sensor reading. · Output Pwr is the Tx power measured at the RF connector of the DUT. To calculate the thermal slope, refer to the section Wi-Fi thermal Tx power compensation in [2] and [3]. Store the values in annex 75. Dut_Shared_SetAnnexType75Data_Rev2(int DUTIndex, int PathId, int Rev, int NumOfEnterirs, Thermal_POWER_RSSI_COMPENSSTION_VE *ThermalPowerRSSIData) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 9 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 5.6 Crystal frequency calibration The frequency calibration is used to calibrate the frequency accuracy when an external crystal is used as a reference clock source. The frequency calibration process involves tuning the load capacitance value integrated in the wireless SoC using the crystal compensation parameter RFXTAL. To measure the frequency change with the crystal calibration-offset change: · Start the calibration mode. DutIf_SetRfControlMode(0x10, 0) · Set the radio band and antenna mode. DutIf_SetRadioMode_Ext_W909X(mode0, mode1, 0) · Set the channel bandwidth to 20 MHz. DutIf_SetChannelBw(0, 0) · Set the radio channel. DutIf_SetRfChannel_new(channel, 0, 0) · Set the crystal calibration offset. Refer to DutIf_InitConnection . DutIf_SetRfXTal(extension, cal, 0) · Start TX for power index 4. DutIf_AdjustPcktSifs11ax_W909X(1, dataRate, pattern, length, Short_Preamble, Bssid, 0, 0, 0, 0, 0, 0, NULL, 4, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0) · Measure and record the frequency using the VSA. · Increase the crystal offset value by one step. Refer to DutIf_InitConnection . DutIf_SetRfXTal(extension, cal, 0) · Measure and record the frequency using the VSA. · Repeat the transmission and increment the crystal offset for at least 10 frequencies. To measure the frequency error with the change of temperature: · Start the calibration mode. DutIf_SetRfControlMode(0x10, 0) · Set the radio band and antenna mode. DutIf_SetRadioMode_Ext_W909X(mode0, mode1, 0) · Set the channel bandwidth to 20 MHz. DutIf_SetChannelBw(0, 0) · Set the radio channel. DutIf_SetRfChannel_new(channel, 0, 0) · Set the crystal calibration offset. Refer to DutIf_InitConnection . DutIf_SetRfXTal(extension, cal, 0) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 10 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification · Start TX for power index 4. DutIf_AdjustPcktSifs11ax_W909X(1, dataRate, pattern, length, Short_Preamble, Bssid, 0, 0, 0, 0, 0, 0, NULL, 4, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0) · Measure and record the frequency using the VSA. · Get the thermal sensor reading. DutIf_GetThermalSensorReading_W909X(SensorIndex, *pReadBack) · Stop TX. DutIf_AdjustPcktSifs11ax_W909X(0, dataRate, pattern, length, Short_Preamble, Bssid, 0, 0, 0, 0, 0, 0, NULL, 4, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0) · Repeat the above process over the operating temperature range. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 11 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 5.7 Calibrate RSSI The Wi-Fi RSSI calibration is used to tune the reported signal strength referenced at the antenna connector. The delta between the DUT read-back value and a tester signal level is stored as an RSSI offset. The offset is used to calibrate the reported signal strength. Each subband has four RSSI offset entries for each LNA gain state: · ELNA_LO_ILNA_HI_Mode is for external-low and internal-high LNA gain state. · ELNA_HI_ILNA_HI_Mode is for external-high and internal-high LNA gain state. · ELNA_LO_ILNA_LO_Mode is for external-low and internal-low LNA gain state. · ELNA_HI_ILNA_LO_Mode is for external-high and internal-low LNA gain state. RSSI is calibrated on one channel per subband. Based on the reference design, an external LNA is not used. The internal LNA high and low gain states are linear. As a result, one value is used for every gain state. To calibrate RSSI: · Set the radio band and antenna mode. DutIf_SetRadioMode_Ext_W909X(mode0, mode1, 0) · Set the channel bandwidth. DutIf_SetChannelBw(0, 0) · Set the radio channel. DutIf_SetRfChannel_new(channel, 0, 0) · Start RX test DutIf_WlanRSSI_Cal_Start(0) · Transmit Wi-Fi packets from a tester with -50 dBm power level OFDM-6 signal · Stop RX and get report DutIf_WlanRSSI_Cal_Stop(RSSI_Val, RSSI_Nf, Rssi_packet_count, LNAGainMode, 0) · Calculate RSSI offset RSSI Offset = INT(2*( Tester Tx power value - RSSI readback power value )) Where: Tester Tx power value is the RF tester signal level RSSI readback power value is the RSSI value read from DutIf_WlanRSSI_Cal_Stop RF tester repeats the steps four times for each gain state: ELNA_LO_ILNA_HI_Mode, ELNA_HI_ILNA_HI_Mode, ELNA_LO_ILNA_LO_Mode and ELNA_HI_ILNA_LO_Mode RX modes · Store RSSI offset in annex 98 Dut_Shared_ReadAnnex98DataFromFile_W909X(char *FileName, int DUTIndex, int PathId, int *NumOfEnterirs, RSSI_CAL_SE *RSSIData) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 12 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 5.8 Calibrate TX power The Wi-Fi transmit power calibration is used to tune the Wi-Fi transmit power for accurate output power at the antenna connector. The transmit power calibration process involves measuring the output power at the antenna connector for eight power indexes. Each power index corresponds to a specific output power. The transmit power is measured for each subband. A maximum of two 20 MHz channels per subband are allowed. Table 1 lists the recommended calibration channels. Table 1.Recommended RSSI calibration channels Band Subband RSSI calibration channel 2.4 GHz 0 2437 MHz 5 GHz 1 5180 MHz 2 5600 MHz 3 5825 MHz To calibrate TX power: · Start the calibration mode. DutIf_SetRfControlMode(0x10, 0) · Set the radio band and antenna mode. DutIf_SetRadioMode_Ext_W909X(mode0, mode1, 0) · Set the channel bandwidth to 20 MHz. DutIf_SetChannelBw(0, 0) · Set the radio channel. DutIf_SetRfChannel_new(channel, 0, 0) · Start TX for power index 0. DutIf_AdjustPcktSifs11ax_W909X(1, dataRate, pattern, length, Short_Preamble, Bssid, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0) · Measure and record the output power. · Stop TX. DutIf_AdjustPcktSifs11ax_W909X(0, dataRate, pattern, length, Short_Preamble, Bssid, 0, 0, 0, 0, 0, 0, NULL, 0, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0) · Repeat start/stop TX, measure, and record output power process for power indexes 1 5. DutIf_AdjustPcktSifs11ax_W909X(1, dataRate, pattern, length, Short_Preamble, Bssid, 0, 0, 0, 0, 0, 0, NULL, powerIndex, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 13 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification · At power index 5, collect the power detect offset and temperature for annex 97. DutIf_GetPwrDetOffset(*PwrReadingIndBm, *pPwrDetOffsetIndB, *pOffsetCode, PathId, 0) DutIf_GetThermalSensorReading_W909X(SensorIndex, *pReadBack) · Repeat start/stop TX, measure, and record the output power process for power indexes 6 and 7. · Write to Annex 97 Dut_Shared_SetAnnexType97Data_W909X(DUTIndex, PathId, *CalOption, NumOfEnterirs, *TX_PowerData, *BM_Data, TraTempThr) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 14 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 5.9 Store the data During the Wi-Fi TX/RX calibration process, the RF test App collects the values of the crystal, TX power, power detector reading offset and RSSI offset. Next, the RF test App stores the calibration data to annex 97 (Wi-Fi TX power table) and annex 98 (Wi-Fi RSSI calibration data). The RF test App keeps the data values for the main structure and the other annexes in a configuration database. · Set the main structure annex. Dut_Shared_SetCalMainDataRevF_V3() · Set the annex data for each annex. Dut_Shared_SetAnnexType<NUM>Data_W909X() · Program the annex data to storage. DutIf_SetCalDataRevF() AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 15 / 145 NXP Semiconductors 6 Wi-Fi APIs 6.1 List of Wi-Fi APIs Table 2.List of Wi-Fi APIs Command Connection DutIf_InitConnection DutIf_Disconnection Calibration file DutIf_SetCustomizedSettings DutIf_SetCalDataRevF Channel bandwidth DutIf_SetChannelBw RF channel DutIf_SetRfChannel_new Crystal adjustment DutIf_SetRfXTal Power control DutIf_SetRfControlMode Power detect reading offset DutIf_GetPwrDetOffset Thermal reading DutIf_GetThermalSensorReading_W909X Duty-cycle Transmit DutIf_AdjustPcktSifs11ax_W909X DutIf_AdjustPcktSifs_W909X DutIf_SetTxContMode_W90XX Receive DutIf_EnableBssidFilter DutIf_WlanRSSI_Cal_Start DutIf_WlanRSSI_Cal_Stops AN14125 Manufacturing Software Development Kit API Specification AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 16 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.2 Data rates Refer to the section Data rates in [10], [11], [12], [13], and [14]. 6.3 RF channels Refer to the section Wi-Fi RF channels in [4],[5], [6], [7], [8], and [9]. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 17 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.4 DutIf_InitConnection This API opens a Wi-Fi connection. DUT_WLAN_API int STDCALL DutIf_InitConnection(void **theObj, int PortNum) Table 3.Command parameters Parameter Type theObj void PortNum int Description Pointer to object Port number to establish connection Return parameters 0 = InitConnection Success Nonzero = InitConnection Failed 6.5 DutIf_Disconnection This API closes Wi-Fi connection. DUT_WLAN_API int STDCALL DutIf_Disconnection(void ** theObj) Table 4.Command parameters Parameter Type theObj void Description Pointer to object Return parameters 0 = Connection terminated Nonzero = Connection not terminated 6.6 DutIf_SetChannelBw This API sets the channel bandwidth. DUT_WLAN_API int STDCALL DutIf_SetChannelBw(int ChannelBw, DWORD DeviceId) Table 5.Command parameters Parameter Type ChannelBW int DeviceId Double word Description Channel bandwidth of Wi-Fi Device ID 0 = Default Return parameters 0 = SetChannelBw success Nonzero = SetChannelBw failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 18 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.7 DutIf_SetRfChannel_new This API sets the Wi-Fi RF channel. DUT_WLAN_API int STDCALL DutIf_SetRfChannel_new(int channel, int chanOffset, DWORD DeviceId) Table 6.Command parameters Parameter Type channel int chanOffset int DeviceId Double word Description Channel bandwidth of Wi-Fi Channel offset Device ID 0 = Default Return parameters 0 = SetRfChannel_new success Nonzero = SetRfChannel_new failed 6.8 DutIf_SetRfXTal This API sets RF crystal cap code. DUT_WLAN_API int STDCALL DutIf_SetRfXTal(int Extension,int Cal, DWORD DeviceId) Table 7.Command parameters Parameter Type Extension int cal int DeviceId Double word Description Extension value Calibration data value Device ID 0 = Default Return parameters 0 = SetRfXTal success Nonzero = SetRfXTal failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 19 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.9 DutIf_SetRfControlMode This API sets Wi-Fi DUT to regular or power calibration mode. Regular mode takes power specified in the Wi-Fi packet TX API to set RF power. Calibration mode takes the power index specified in the Wi-Fi packet TX API to set RF power. DUT_WLAN_API int STDCALL DutIf_SetRfControlMode(DWORD Mode, DWORD DeviceId) Table 8.Command parameters Parameter Type Mode Double word DeviceId Double word Description 0 = Regular mode 0x10 = Calibration mode Device ID 0 = Default Return parameters 0 = SetRfControlMode success Nonzero = SetRfControlMode failed 6.10 DutIf_GetPwrDetOffset This API returns power detection offset. DUT_WLAN_API int STDCALL DutIf_GetPwrDetOffset(float PwrReadingIndBm, float *pPwrDetOffsetIndB, signed char *pOffsetCode, DWORD PathId, DWORD DeviceId) Table 9.Command parameters Parameter Type PwrReadingIndBm float pPwrDetOffsetIndB float pOffsetCode Signed char PathID Double word DeviceId Double word Description Power reading in dBm Power detection offset in db Pointer to offset code ID of the RF transmission path 0 = Path A (SISO chipsets) 1 = Path B (MIMO chipsets) Device ID 0 = Default Return parameters 0 = GetPwrDetOffset return success Nonzero = GetPwrDetOffset return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 20 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.11 DutIf_GetThermalSensorReading_W909X This API returns the device thermal sensor reading. DUT_WLAN_API int STDCALL DutIf_GetThermalSensorReading_W909X(int SensorIndex, int *pReadBack) Table 10.Command parameters Parameter Type SensorIndex Int pReadBack Int Description Sensor index 0 = CAU 1 = Radio0_PathA 2 = Radio0_PathB Pointer to readback sensor reading value Return parameters 0 = GetThermalSensorReading_W909X return success Nonzero = GetThermalSensorReading_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 21 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.12 DutIf_AdjustPcktSifs11ax_W909X This API adjusts the packet for short interframe spacing (SIFS). DUT_WLAN_API int STDCALL DutIf_AdjustPcktSifs11ax_W909X(DWORD Enable, DWORD dataRate, DWORD pattern, DWORD length, int ShortPreamble, char *Bssid, DWORD ShortGI, DWORD AdvCoding, DWORD TxBfOn, DWORD GFMode, DWORD STBC, DWORD DPDEnable, Float *PowerLevel, DWORD SignalBw, DWORD AdjustTxBurstGap, DWORD BurstSifsInUs, DWORD NumPkt, DWORD MaxPktExt, DWORD BeamChange, DWORD Dcm, DWORD Doppler,DWORD MidamblePeriod, DWORD QNum, DWORD DeviceId) Table 11.Command parameters Parameter Type Enable Double word dataRate Pattern Length ShortPreamble Double word Double word Double word Int Bssid ShortGI AdvCoding TxBfOn GFMode AN14125 Application note char Double word Double word Double word Double word Description Enable/Disable 0 = disable 1 = enable Data rate (Section 6.2) 4-bytes payload data Payload length Short preamble value -1 = default, unless otherwise stated For legacy 802.11b: 0 = long 1 = short For legacy 802.11g: Not valid Set to -1 For 802.11n: Greenfield PPDU indicator 0 = HT-mix 1 = HT-GF For 11ac: Not valid Set to -1 For 11ax: PPDU type 0 = HE-SU 1 = HE-EXT-SU 2 = HE-MU 3 = HE-Triggered-based Pointer to BSSID 0 = long GI 1 = short GI -1 = default 0 = disable advanced coding 1 = enable advanced coding 0 = disable TX beamforming 1 = enable TX beamforming 0 = disable Greenfield 1 = enable Greenfield All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 22 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 11.Command parameters...continued Parameter Type Description STBC Double word Set 2 bits of Space-time block code data DPDEnable Double word Digital predistortion (DPD) 0 = disable DPD training 1 = enable DPD training PowerLevel float Power level in dBm If in calibration mode, power step index SignalBw Double word Signal bandwidth value -1 = default 0 = 20 MHz 1 = 40 MHz 3 = 5 MHz 4 = 80 MHz AdjustTxBurstGap Double word Adjust TX burst gap value 0 = default SIF gap 1 = set SIF gap BurstSifsInUs Double word SIF gap in microseconds NumPkt Double word Number of packets to send 0xffffffff = duty cycle TX MaxPktExt Double word Maximum Packet -1 = use current value 0 = 0 us 8 = 8 us 16 = 16 us BeamChange Double word Beam exchange 0 = disable 1 = enable Dcm Double DCM value word 0 = disable DCM 1 = enable DCM Doppler Double word Doppler value 0 = disable 1 = enable MidamblePeriod Double word Midamble period 10 or 20 = value -1 = use current value in firmware QNum Double word Queue number (0-12)(17-20) -1 = to use FW selected queue DeviceId Double word Device ID 0 = Default AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 23 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Return parameters 0 = AdjustPcktSifs11ax_W909X return success Nonzero = AdjustPcktSifs11ax_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 24 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.13 DutIf_AdjustPcktSifs_W909X This API adjusts the packet for short interframe spacing (SIFS) for legacy 802.11ax. DUT_WLAN_API int STDCALL DutIf_AdjustPcktSifs_W909X(DWORD Enable, DWORD dataRate, DWORD pattern, DWORD length, int ShortPreamble, char *Bssid, DWORD ShortGI, DWORD AdvCoding, DWORD TxBfOn, DWORD GFMode, DWORD STBC, DWORD DPDEnable, float *PowerLevel, DWORD SignalBw, DWORD AdjustTxBurstGap, DWORD BurstSifsInUs, DWORD DeviceId) Table 12.Command parameters Parameter Type Enable Double word dataRate Pattern Length ShortPreamble Double word Double word Double word Int Bssid ShortGI AdvCoding TxBfOn GFMode STBC char Double word Double word Double word Double word Double word Description Enable/Disable 0 = disable 1 = enable Data rate (Section 6.2) 4-bytes payload data Payload length Short preamble value -1 = default, unless otherwise stated For legacy 802.11b: 0 = long 1 = short For legacy 802.11g: Not valid Set to -1 For 802.11n: Greenfield PPDU indicator 0 = HT-mix 1 = HT-GF For 802.11ac: Not valid Set to -1 For 11ax: PPDU type 0 = HE-SU 1 = HE-EXT-SU 2 = HE-MU 3 = HE-Triggered-based Pointer to BSSID 0 = long GI 1 = short GI -1 = default 0 = disable advanced coding 1 = enable advanced coding 0 = disable TX beamforming 1 = enable TX beamforming 0 = disable Greenfield 1 = enable Greenfield Set 2 bits of space-time block code data AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 25 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 12.Command parameters...continued Parameter Type Description DPDEnable Double word Digital predistortion (DPD) 0 = disable DPD training 1 = enable DPD training PowerLevel float Power level in dBm If in calibration mode, power step index SignalBw Double word Signal bandwidth value -1 = default 0 = 20 MHz 1 = 40 MHz 3 = 5 MHz 4 = 80 MHz AdjustTxBurstGap Double word Adjust TX burst gap value 0 = default SIF gap 1 = set SIF gap BurstSifsInUs Double word SIF gap in microseconds DeviceId Double word Device ID 0 = Default Return parameters 0 = AdjustPcktSifs_W909X return success Nonzero = AdjustPcktSifs_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 26 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.14 DutIf_SetTxContMode_W90XX This API sets the TX continuous mode. DUT_WLAN_API int STDCALL DutIf_SetTxContMode_W90XX(BOOL enable, BOOL CWmode, DWORD dataRate, DWORD *PowerID, DWORD payloadPattern, DWORD CSmode, DWORD, ActSubCh, DWORD DeviceId) Table 13.Command parameters Parameter Type Enable Bool CWmode dataRate PowerID PayloadPattern CSmode ActSubch DeviceId Bool Double word Double word Double word Double word Double word Double word Description Enable/disable 0 = disable 1 = enable CW mode Set to 1 Data rate (Section 6.2) Pointer to PowerID Set to NULL Payload pattern value Set to 0 Carrier sense (CS) mode Set to 0 Act subchannel value Set to -1 Device ID 0 = Default Return parameters 0 = SetTxContMode return success Nonzero = SetTxContMode return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 27 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.15 DutIf_EnableBssidFilter This API enables BSSID filter. DUT_WLAN_API int STDCALL DutIf_EnableBssidFilter(int mode, BYTE *Bssid, char *SSID, DWORD DeviceId) Table 14.Command parameters Parameter Type Mode int BSSID SSID Byte char DeviceId Double word Return parameters 0 = EnableBssidFilter success Nonzero = EnableBssidFilter failed Description BSS mode Set to 0 Pointer to BSSID Pointer to SSID Set to NULL Device ID 0 = Default 6.16 DutIf_WlanRSSI_Cal_Start This API starts Wi-Fi RSSI calibration. DUT_WLAN_API int STDCALL DutIf_WlanRSSI_Cal_Start(DWORD DeviceId) Table 15.Command parameters Parameter Type DeviceId Double word Description Device ID 0 = Default Return parameters 0 = WlanRSSI_Cal_Start success Nonzero = WlanRSSI_Cal_Start failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 28 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 6.17 DutIf_WlanRSSI_Cal_Stops This API stops Wi-Fi RSSI calibration. DUT_WLAN_API int STDCALL DutIf_WlanRSSI_Cal_Stop(WORD RSSI_Val[MAXNUM_RXPATH], WORD RSSI_Nf[MAXNUM_RXPATH], DWORD Gain_Region[MAXNUM_RXPATH], DWORD *pRssi_packet_count, DWORD DeviceId); Table 16.Command parameters Parameter Type RSSI_Val word RSSI_Nf Word Gain_Region Double word pRssi_packet_count Double word DeviceId Double word Description RSSI value Noise floor reading LNA gain mode Pointer to RSSI packet count Device ID 0 = Default Return parameters 0 = WlanRSSI_Cal_Stop return success Nonzero = WlanRSSI_Cal_Stop return failed 6.18 DutIf_SetCustomizedSettings This API loads the default calibration data filename. DUT_WLAN_API int STDCALL DutIf_SetCustomizedSettings(char *FileName) Table 17.Command parameters Parameter Type FileName char Description Wi-Fi calibration data filename Set to NULL for the default filename Return parameters 0 = DutIf_SetCustomizedSettings return success Nonzero = DutIf_SetCustomizedSettings return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 29 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 7 Bluetooth/Bluetooth LE sequences This section describes the API sequence to calibrate a Bluetooth/Bluetooth LE radio. Refer to Bluetooth/ Bluetooth LE APIs for API details. 7.1 Initialize the DUT Before calibrating, the Bluetooth DUT must be initialized. Other radios are turned off to ensure there is no interference with Bluetooth operations. · To connect to Bluetooth/Bluetooth LE DUT. Dut_Bt_OpenDevice(NULL) · To disconnect the 802.15.4 DUT. Dut_15_4_CloseDevice(NULL) · To disconnect the Wi-Fi DUT. DutIf_Disconnection(NULL) · To disconnect the Bluetooth DUT. Dut_Bt_CloseDevice(NULL) 7.2 Reset the DUT To reset the Bluetooth/Bluetooth LE DUT: DutIf_SetBtBrfReset_W909X(0) 7.3 Load Bluetooth calibration data Calibration data can be stored in a configuration file. · Load the default Bluetooth hardware configuration file. Dut_Bt_ReloadCalData_W909X(0) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 30 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 7.4 Calibrate TX power Bluetooth front-end loss (FE loss) is used to tune the Bluetooth/Bluetooth LE transmit power (with step size of 0.5 dB) at the antenna connector. Increasing FE Loss results in increasing the output power from the radio. Similarly, decreasing FE Loss decreases the output power from the radio. To calibrate TX power and calculate FE loss: · Prepare a Bluetooth Calibration data file with FE Loss = 0. · Clear FE loss by loading the Bluetooth Calibration data file. Dut_Bt_ReloadCalData_W909X(0) · Disable power control. Dut_Bt_SetBtDisableBtuPwrCtl_W909X9(1) · Set the Bluetooth class. Dut_Bt_SetBtPwrControlClass_W909X(option) · Set the power level. Dut_Bt_SetBtPwrLvlValue_W909X(powerLevelDB, 0) · Transmit. Dut_Bt_TxBtBTUPwrDutyCycleHop(True, TxPwrLvldBm, PacketType, payloadPattern, payloadLenghtInByte, HopMode, interval, Whitening, *pChannelAccess, 0) · Calculate the FE loss. · Store FE loss as 8-bit number in annex 55. Dut_Shared_SetAnnexType55Data_Rev3(Version, RFXtal, InitPwr, FELoss, ForceClass2Op, Class1OpSupport, DisablePwrControl, MiscFlag, UsedInternalSleepClock, AOALocaltionSupport, NumberOfAntennas, Rssi_Golden_Lo, Rssi_Golden_Hi, BTBAUDRate, BDAddr[6], Encr_Key_Len_Max, Encr_Key_Len_Min, RegionCode) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 31 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 7.5 Calibrate the crystal Similar to Wi-Fi thermal crystal frequency compensation, Bluetooth/Bluetooth LE can calibrate the crystal frequency accuracy. To measure the frequency change with the crystal calibration-offset change: · Set a test RF channel. Dut_Bt_SetBtChannel_W909X(channel, 0, 0) · Set the initial RF crystal cap code. Dut_Bt_SetBtXtal_W909X(External mode, XtalValue, 0) · Start TX. Dut_Bt_TxBtBTUPwrDutyCycleHop(True, TxPwrLvldBm, PacketType, payloadPattern, payloadLenghtInByte, HopMode, interval, Whitening, *pChannelAccess, 0) · Check the center frequency offset on the RF tester. If the center frequency is within range, skip this step. Else, adjust the RF crystal cap code until the center frequency is within range. · Stop the TX and note down the crystal cap code for annex 55. Dut_Bt_TxBtBTUPwrDutyCycleHop(False, TxPwrLvldBm, PacketType, payloadPattern, payloadLenghtInByte, HopMode, interval, Whitening, *pChannelAccess, 0) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 32 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 7.6 Verify Bluetooth TX To verify Bluetooth TX: · Set the class mode. Dut_Bt_GetBtPwrControlClass_W909X(option, 0) · Set the channel. Dut_Bt_SetBtChannel_W909X(channel, 0, 0) · Start TX. Dut_Bt_TxBtBTUPwrDutyCycleHop(True, TxPwrLvldBm, PacketType, payloadPattern, payloadLenghtInByte, HopMode, interval, Whitening, char *pChannelAccess, 0) · Stop TX. Dut_Bt_TxBtBTUPwrDutyCycleHop(False, TxPwrLvldBm, PacketType, payloadPattern, payloadLenghtInByte, HopMode, interval, Whitening, char *pChannelAccess, 0) · Repeat the above steps for different band, channel bandwidth, channel, and TX data rates. and check TX performance. 7.7 Verify Bluetooth RX To verify Bluetooth RX: · Connect the DUT to Bluetooth tester. · Set the test for RF channel. Dut_Bt_SetBtChannel_W909X(channel, 0, 0) · Start RX test. Dut_Bt_MrvlRxTest_W909X(RxChannel, PacketNumber, PacketType, payloadPattern, PayloadLenghtInByte, TxBdAddress, 0) · Send out Bluetooth waveform to the DUT. · Stop RX test and check RX report. Dut_Bt_MrvlRxTestResult_Ext_W909X() · Repeat the above steps for different channels and/or data rates, and check RX performance. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 33 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 7.8 Verify Bluetooth LE TX To verify Bluetooth LE TX: · Set the class mode. Dut_Bt_GetBtPwrControlClass_W909X(option, 0) · Set TX power. Dut_Bt_BleWriteTxPower_W909X(Tx power, 0) · Specify the frequency index (channel) and physical data rate, and start TX. Dut_Bt_BleEnhancedTxTest_W909X(Freq index, Phy, 0, 0) · Check Bluetooth LE power, spectrum, and the center frequency offset. · Stop TX Dut_Bt_BleTestEnd_W909X(pRxedPckCnt, 0) · Repeat the above steps for different channels, power, TX data rates, and check TX performance. 7.9 Verify Bluetooth LE RX To verify Bluetooth LE RX: · Specify the frequency index (channel), the physical data rate, and start RX. Dut_Bt_BleEnhancedRxTest_W909X(Freq index, Phy, 0, 0) · Send out Bluetooth LE waveform to the DUT. · Stop RX Dut_Bt_BleTestEnd_W909X(pRxedPckCnt, 0) · Check RX report. Dut_Bt_BleGetRxTestBer_W909X(pCrcErrCnt, pNoCorrelationCnt, 0) · Repeat the above steps for different channels and/or data rates, and check RX performance. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 34 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 7.10 Store the data The application stores the cap code value for the DUT in the main structure and annex 55. The RF test application keeps the data values for the main structure annex and other annexes in a calibration database. · Set the main structure annex. Dut_Shared_SetCalMainDataRevF_V3() · Set the annex data for each annex. Dut_Shared_SetAnnexType<NUM>Data_W909X() · Program the annex data to storage. DutIf_SetCalDataRevF() DutIf_SetCalDataRevFBTOnly() AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 35 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8 Bluetooth/Bluetooth LE APIs 8.1 List of Bluetooth APIs Table 18.List of Bluetooth APIs Commands Connection Dut_Bt_OpenDevice Dut_Bt_CloseDevice Reset Dut_Bt_SetBtBrfReset_W909X Power Dut_Bt_SetBtPwrControlClass_W909X Dut_Bt_SetBtPwrLvlValue_W909X DutIf_SetRfControlMode Channel Dut_Bt_SetBtChannel_W909X Crystal adjustment Dut_Bt_SetBtXtal_W909X Dut_Bt_WriteBrfRegister Calibration file Dut_Bt_ReloadCalData_W909X DutIf_SetCalDataRevFBTOnly Duty-cycle transmit Dut_Bt_TxBtBTUPwrDutyCycleHop Dut_Bt_BleWriteTxPower_W909X Dut_Bt_BleEnhancedTxTest_W909X Dut_Bt_TxBtCw_W909X Receive Dut_Bt_MrvlRxTest_W909X Bt_MrvlRxTestResult_Ext_W909X Dut_Bt_BleEnhancedRxTest_W909X Dut_Bt_BleGetRxTestBer_W909X Dut_Bt_BleTestEnd_W909X AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 36 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.2 Dut_Bt_OpenDevice This API opens the Bluetooth connection. DUT_BT_API int STDCALL Dut_Bt_OpenDevice(void **theObj, int PortNum) Table 19.Command parameters Parameter Type theObj void PortNum int Description Pointer to object Set to NULL Port number to establish connection Return parameters 0 = InitConnection Success Nonzero = InitConnection Failed 8.3 Dut_Bt_CloseDevice This API closes Bluetooth connection. DUT_BT_API int STDCALL Dut_Bt_CloseDevice(void **theObj) Table 20.Command parameters Parameter Type theObj void Description Pointer to object Set to NULL Return parameters 0 = Dut_Bt_CloseDevice Connection terminated Nonzero = Dut_Bt_CloseDevice Connection not terminated AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 37 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.4 Dut_Bt_SetBtBrfReset_W909X This API resets Bluetooth. DUT_WLAN_API int STDCALL DutIf_SetBtBrfReset_W909X(DWORD DeviceId) Table 21.Command parameters Parameter Type DeviceId Double word Description Device ID 0 = Default Return parameters 0 = SetBtBrfReset_W909X return success Nonzero = SetBtBrfReset_W909X return failed 8.5 Dut_Bt_SetBtXtal_W909X This API sets the Bluetooth crystal cap code. DUT_BT_API int STDCALL Dut_Bt_SetBtXtal_W909X(BYTE ExtMode,BYTE XtalValue, DWORD DeviceId) Table 22.Command parameters Parameter Type ExtMode byte XtalValue byte DeviceID double word Description External mode Crystal cap code value Device ID 0 = Default Return parameters 0 = SetBtXtal return success Nonzero = SetBtXtal return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 38 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.6 Dut_Bt_SetBtChannel_W909X This API sets the Bluetooth channel. DUT_BT_API int STDCALL Dut_Bt_SetBtChannel_W909X(int channelNum,bool BT2, DWORD DeviceId) Table 23.Command parameters Parameter Type channelNum int BT2 Bool DeviceID Double word Description Channel number Bluetooth 2 True/False Set to 0 Device ID 0 = Default Return parameters 0 = SetBtChannel_W909X return success Nonzero = SetBtChannel_W909X return failed 8.7 Dut_Bt_SetBtPwrControlClass_W909X This API sets the Bluetooth power control. DUT_BT_API int STDCALL Dut_Bt_SetBtPwrControlClass_W909X(DWORD option, DWORD DeviceId) Table 24.Command parameters Parameter Type option Double word DeviceID Double word Description Power level option 0 = class 2 1 = class 1.5 3 = class 1 Device ID 0 = Default Return parameters 0 = SetBtPwrControlClass_W909X return success Nonzero = SetBtPwrControlClass_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 39 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.8 Dut_Bt_TxBtBTUPwrDutyCycleHop This API sets the Bluetooth transmit power duty cycle. DUT_BT_API int STDCALL Dut_Bt_TxBtBTUPwrDutyCycleHop(bool enable, int TxPwrLvldBm, int PacketType, int payloadPattern, int payloadLenghtInByte, bool HopMode, int interval, int Whitening, unsigned char *pChannelAccess, DWORD DeviceId) Table 25.Command parameters Parameter Type enable Bool TxPwrLvldBm Int PacketType Int payloadPattern Int PayloadLenghtInByte Int HopMode Bool Interval Int Whitening Int pChannelAccess Unsigned char Description Start/Stop TX True = start TX False = stop TX Transmit Power level in dBm Rate and time slot GFSK, 1M FEC 0x01 = DM1 0x03 = DM3 0x05 = DM5 GFSK, 1M 0x11 = DH1 0x13 = DH3 0x15 = DH5 DQPSK, 2M 0x21 = 2-DH1 0x23 = 2-DH3 0x25 = 2-DH5 8PSK, 3M 0x31 = 2-DH1 0x33 = 3-DH3 0x35 = 3-DH5 Payload pattern 0 = all 1 = all 2 = PN9 3 = 0xAA 4 = 0xF0 Payload length in bytes Set to -1 for maximum payload length Enable/disable channel hopping 0 = disable channel hopping 1 = enable channel hopping Interval Enable/disable whitening 0 = disable whitening 1 = enable whitening 10-byte array to specify the channel mask AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 40 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 25.Command parameters...continued Parameter Type Description DeviceID Double word Device ID 0 = Default Return parameters 0 = TxBtBTUPwrDutyCycleHop return success Nonzero = TxBtBTUPwrDutyCycleHop return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 41 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.9 Dut_Bt_TxBtCw_W909X This API sets continuous transmit. DUT_BT_API int STDCALL Dut_Bt_TxBtCw_W909X(bool enable, DWORD DeviceId) Table 26.Command parameters Parameter Type enable Bool DeviceID Double word Description Start/Stop CW TX True = start CW TX False = stop CW TX Device ID 0 = Default Return parameters 0 = Dut_Bt_TxBtCw_W909X return success Nonzero = Dut_Bt_TxBtCw_W909X return failed 8.10 Dut_Bt_BleWriteTxPower_W909X This API writes the transmit power value. DUT_BT_API int STDCALL Dut_Bt_BleWriteTxPower_W909X(int TxPwr,DWORD DeviceId) Table 27.Command parameters Parameter Type TxPower int DeviceID Double word Description TX power level in dBm Device ID 0 = Default Return parameters 0 = Dut_Bt_TxBtCw_W909X return success Nonzero = Dut_Bt_TxBtCw_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 42 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.11 Dut_Bt_BleEnhancedTxTest_W909X This API returns the Bluetooth LE enhanced transmit test. DUT_BT_API int STDCALL Dut_Bt_BleEnhancedTxTest_W909X(int FreqIndex, int LenOfTxData, int PayloadPattern, int Phy, DWORD DeviceId) Table 28.Command parameters Parameter Type FreqIndex int LenOfTxData Int PayloadPattern Int Phy DeviceID Int Double word Description Bluetooth LE channel index Range 0 39 for channels 0-39 Payload size 0-37 bytes Payload pattern 0 = PN9 1 = 0xF0 2 = 0xAA 3 = PN15 4 = all 1 5 = all 0 6 = 0x0F 7 = 0x55 Physical data rate 1 = 1 Mbit/s 2 = 2 Mbit/s 3 = LR8 4 = LR2 Device ID 0 = Default Return parameters 0 = BleEnhancedTxTest_W909X return success Nonzero = BleEnhancedTxTest_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 43 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.12 Dut_Bt_MrvlRxTest_W909X This API tests RX. DUT_BT_API int STDCALL Dut_Bt_MrvlRxTest_W909X(int RxChannel, int PacketNumber, int PacketType, int payloadPattern, int PayloadLenghtInByte, char TxBdAddress, DWORD DeviceId) Table 29.Command parameters Parameter Type RxChannel int PacketNumber Int PacketType Int payloadPattern Int payloadLenghtInByte Int TxBdaddress DeviceID Char Double word Description RX channel Packet number Rate and time slot GFSK, 1M FEC 0x01 = DM1 0x03 = DM3 0x05 = DM5 GFSK, 1M 0x11 = DH1 0x13 = DH3 0x15 = DH5 DQPSK, 2M 0x21 = 2-DH1 0x23 = 2-DH3 0x25 = 2-DH5 8PSK, 3M 0x31 = 2-DH1 0x33 = 3-DH3 0x35 = 3-DH5 Payload pattern 0 = all 1 = all 2 = PN9 3 = 0xAA 4 = 0xF0 Payload length in bytes Set to -1 for maximum payload length BD address of the transmit device Device ID 0 = Default Return parameters 0 = MrvlRxTest_W909X return success Nonzero = MrvlRxTest_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 44 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.13 Bt_MrvlRxTestResult_Ext_W909X This API returns the Bluetooth extended NXP RX test result. DUT_BT_API int STDCALL Dut_Bt_MrvlRxTestResult_Ext_W909X(BYTE* Report_Status, DWORD* Report_TotalPcktCount, DWORD* Report_NoRxCount, DWORD* Report_Correlation, DWORD* Report_HecMatchCount, DWORD* Report_HecMatchCrcPckts, DWORD* Report_HdrErrCount, DWORD* Report_CrcErrCount, DWORD* Report_TotPktRx, DWORD* Report_PktNoError, DWORD* Report_DropPkt, FLOAT* Report_PER, DWORD* Report_TotalBitsExp, DWORD* Report_TotalBitsError, FLOAT* Report_BER, DWORD* Report_TotalByteCount, DWORD* Report_BitErrorRx, DWORD* Report_AvgRssi, DWORD* Report_Max, DWORD DeviceId) Table 30.Command parameters Parameter Type Report_Status Byte* Report_TotalPcktCount Report_NoRxCount Report_Correlation Report_HecMatchCount Report_HecMatchCrcPckts Report_HdrErrCount Report_CrcErrCount Report_TotPktRx Report_PktNoError Report_DropPkt Report_PER Report_TotalBitsExp Report_TotalBitsError Report_BER Report_TotalByteCount Report_BitErrorRx Double word* Double word* Double word* Double word* Double word* Double word* Double word* Double word* Double word* Double word* Double word* Double word* Double word* FLOAT* Double word* Double word* Description Return RX session status 0 = completed 1 = aborted Number of packets expected to receive Return number of packets missed during RX session Return successful full correlation counts Return successful RX HEC match counts Return successful HEC match counts Return successful RX header error counts Return RX CRC error counts Return the number of packets received during an RX session Return the number of packets received during an RX session with no error Return the number of packets received during an RX session Return PER rate Number of bits expected to receive Return number of bit errors Return BER rate Return the total bytes received during an RX session Return but error counts AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 45 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 30.Command parameters...continued Parameter Type Description Report_AvgRssi Double word* Return average RSSI in dBm Report_Max Double word* Reserved DeviceID Double word Device ID 0 = Default Return parameters 0 = MrvlRxTestResult_Ext_W909X return success Nonzero = MrvlRxTestResult_Ext_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 46 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.14 Dut_Bt_BleEnhancedRxTest_W909X This API returns the Bluetooth LE RX test. DUT_BT_API int STDCALL Dut_Bt_BleEnhancedRxTest_W909X(int FreqIndex, int Phy, int ModIndex, DWORD DeviceId) Command parameters Table 31.Command parameters Parameter Type Description FreqIndex Int Bluetooth LE channel index Phy Int Physical data rate 1 = 1 Mbit/s 2 = 2 Mbit/s 3 = LR8 4 = LR2 ModIndex int Mode index value Set to 0 DeviceID Double word Device ID 0 = Default Return parameters 0 = BleEnhancedRxTest_W909X return success Nonzero = BleEnhancedRxTest_W909X return failed 8.15 Dut_Bt_BleTestEnd_W909X This API returns the Bluetooth LE test end. DUT_BT_API int STDCALL Dut_Bt_BleTestEnd_W909X(int *pRxedPckCnt, DWORD DeviceId) Table 32.Command parameters Parameter Type Description pRxedPckCnt Int return number of packet received DeviceID Double word Device ID 0 = Default Return parameters 0 = BleTestEnd_W909X return success Nonzero = BleTestEnd_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 47 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.16 Dut_Bt_BleGetRxTestBer_W909X This API returns the Bluetooth LE TX test. DUT_BT_API int STDCALL Dut_Bt_BleGetRxTestBer_W909X(int *pCrcErrCnt, int *pNoCorrelationCnt, DWORD DeviceId) Table 33.Command parameters Parameter Type Description pCrcErrCnt Int Return CRC error count pNoCorrelationCnt Int Return missing correlation count DeviceID Double word Device ID 0 = Default Return parameters 0 = BleGetRxTestBer_W909X return success Nonzero = BleGetRxTestBer_W909X return failed 8.17 Dut_Bt_ReloadCalData_W909X This API loads the Bluetooth calibration data. DUT_BT_API int STDCALL Dut_Bt_ReloadCalData_W909X(DWORD DeviceId = 0) Table 34.Command parameters Parameter Type Description DeviceID Double word Device ID 0 = Default Return parameters 0 = Dut_Bt_ReloadCalData_W909X return success Nonzero = Dut_Bt_ReloadCalData_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 48 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 8.18 Dut_Bt_WriteBrfRegister This API writes the BRF register. DUT_BT_API int STDCALL Dut_Bt_WriteBrfRegister(DWORD address,WORD *data,DWORD DeviceID ) Table 35.Command parameters Parameter Type Address Double word Data word DeviceID Double word Description Register address to write Data to write in address Device ID 0 = default Return parameters 0 = Dut_Bt_WriteBrfRegister return success Nonzero = Dut_Bt_WriteBrfRegister return failed 8.19 Dut_Bt_SetBtPwrLvlValue_W909X This API sets the Bluetooth power level value. DUT_BT_API int STDCALL Dut_Bt_SetBtPwrLvlValue_W909X(double PwrLvlValueDB,DWORD IsEDR, DWORD DeviceId) Table 36.Command parameters Parameter Type PwrLvlValueDB double isEDR Double word DeviceID Double word Description Power level in dB EDR data Bluetooth/Bluetooth LE device ID 0 = default Return parameters 0 = Dut_Bt_WriteBrfRegister return success Nonzero = Dut_Bt_WriteBrfRegister return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 49 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 9 802.15.4 radio sequences This section describes the API sequence to calibrate 802.15.4 radio. Refer to 802.15.4 APIs for API details. 9.1 Initialize the DUT Before calibrating, the 802.15.4 DUT must be initialized. · To connect to 802.15.4 DUT: Dut_15_4_OpenDevice(NULL) · To disconnect 802.15.4 DUT: Dut_15_4_CloseDevice(NULL) 9.2 Reset the DUT To reset 802.15.4 DUT: Dut_15_4_ResetMCU(0) 9.3 Configure the data calibration storage The calibration data can be stored in the EEPROM, the configuration file, or the on-chip OTP memory. · Set to EEPROM. Dut_Shared_SetStorageType(0, 0) · Set to the calibration configuration file. Dut_Shared_SetStorageType(1, 0) · Set to the OTP. Dut_Shared_SetStorageType(2, 0) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 50 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 9.4 Verify 802.15.4 TX To verify 802.15.4 TX: · Set the RF channel. Dut_15_4_SetChannel(channel, 0) · Set TX power level. Dut_15_4_SetPwrLvl(PwrLevel, 0) · Start TX. Dut_15_4_TxDutycycle(0, 0) · Check 802.15.4 TX power, spectrum, and center frequency offset. · Run 802.15.4 RX test, and check RX performance and RSSI accuracy. · Disable TX. Dut_15_4_TxDutycycle(1, 0) · Repeat the above steps for different channels and TX data rates, and check TX performance. 9.5 Verify 802.15.4 RX To verify 802.15.4 RX: · Set the RF channel. Dut_15_4_SetChannel(channel, 0) · Start RX test Dut_15_4_StartRxTest(0) · Send 802.15.4 waveform to the DUT. · Check 802.15.4 RX test result. Dut_15_4_RxTestResult(BYTE * Status,DWORD * RxTotalPcktCount,DWORD * RxPcktCount,int * RSSI,0) · Repeat the above steps for different channels and check RX performance. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 51 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 9.6 Set EUI-64 MAC address To set the EUI-64 MAC address: Dut_15_4_SetEUI64MacAddress(EUI64MacAddress,0) To get the EUI-64 MAC address: Dut_15_4_SetEUI64MacAddress(EUI64MacAddress, 0) 9.7 Store the data RF test App should maintain a configuration database with the data values for the main structure annex and other annexes, so the data can be programmed to the calibration storage. · Set the main structure annex. Dut_Shared_SetCalMainDataRevF_V3() · Set the annex data for each annex. Dut_Shared_SetAnnexType<NUM>Data_W909X() · Program the annex data to the calibration storage. DutIf_SetCalDataRevF15p4Only() AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 52 / 145 NXP Semiconductors 10 802.15.4 radio APIs 10.1 List of 802.15.4 APIs Table 37.List of 802.15.4 radio APIs Commands Connection Dut_15_4_OpenDevice Dut_15_4_CloseDevice Reset Dut_15_4_ResetMCU Power level Dut_15_4_SetPwrLvl Channel Dut_15_4_SetChannel Calibration file DutIf_SetCalDataRevF15p4Only Duty-cycle transmit Dut_15_4_TxDutycycle Dut_15_4_TxBurst Receive Dut_15_4_StartRxTest Dut_15_4_RxTestResult EUI-64 address Dut_15_4_GetEUI64MacAddress Dut_15_4_SetEUI64MacAddress AN14125 Manufacturing Software Development Kit API Specification AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 53 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 10.2 Dut_15_4_OpenDevice This API opens 802.15.4 connection. DUT_15_4_API int STDCALL Dut_15_4_OpenDevice(void ** theObj, int PortNum ) Table 38.Command parameters Parameter Type theObj void PortNum Int Description Pointer to the object 802.15.4 port number Return parameters 0 = Dut15_4_OpenDevice return success Nonzero = Dut15_4_OpenDevice return failed 10.3 Dut_15_4_CloseDevice This API closes 802.15.4 connection. DUT_15_4_API int STDCALL Dut_15_4_CloseDevice(void ** theObj) Table 39.Command parameters Parameter Type theObj void Description Pointer to the object Return parameters 0 = Dut15_4_CloseDevice return success Nonzero = Dut15_4_CloseDevice return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 54 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 10.4 Dut_15_4_ResetMCU This API reset the 802.15.4 radio. DUT_ResetMCUDUT_15_4_API int STDCALL Dut_15_4_ResetMCU(DWORD DeviceId) Table 40.Command parameters Parameter Type Description Device ID Double word Device ID NULL = default Return parameters 0 = Dut_15_4_ResetMCU return success Nonzero = Dut_15_4_ResetMCU return failed 10.5 Dut_15_4_SetChannel This API sets the channel number. DUT_SetChannel DUT_15_4_API int STDCALL Dut_15_4_SetChannel(int ChannelNum, DWORD DeviceId ) Table 41.Command parameters Parameter Type Description ChannelNum int Channel number DeviceId Double word Device ID Default = 0 Return parameters 0 = Dut_15_4_SetChannel return success Nonzero = Dut_15_4_SetChannel return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 55 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 10.6 Dut_15_4_SetPwrLvl This API sets the 802.15.4 power level. DUT_15_4_API int STDCALL Dut_15_4_SetPwrLvl(int PwrLvl,DWORD DeviceId ) Table 42.Command parameters Parameter Type Description PwrLvl int Power level value DeviceId Double word Device ID Default = 0 Return parameters 0 = Dut_15_4_SetPwrLvl return success Nonzero = Dut_15_4_SetPwrLvl return failed 10.7 Dut_15_4_TxDutycycle This API sets the 802.15.4 TX duty cycle. DUT_15_4_API int STDCALL Dut_15_4_TxDutycycle(bool Enable, DWORD DeviceId) Table 43.Command parameters Parameter Type Description Enable bool Enable/Disable transmit 0 = start duty cycle TX 1 = stop TX DeviceId Double word Device ID Default = 0 Return parameters 0 = Dut_15_4_TxDutycycle return success Nonzero = Dut_15_4_TxDutycycle return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 56 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 10.8 Dut_15_4_TxBurst This API performs TX test in burst mode. DUT_15_4_API int STDCALL Dut_15_4_TxBurst ( int PacketOption, int PktGap, DWORD DeviceId ) Table 44.Command parameters Parameter Type Description PacketOption Int Packet Option 0 = 1 packet 1 = 25 packets 2 = 100 packets 3 = 500 packets 4 = 1000 packets 5 = 2000 packets 6 = 5000 packets 7 = 10000 packets PktGap Int Value of packet gap Must be greater than 6 ms DeviceId Double word Device ID Default = 0 Return parameters 0 = Zigbee15_4_TxBurst return success Nonzero = Zigbee15_4_TxBurst return failed 10.9 Dut_15_4_SetChannel This API sets 802.15.4 RX test RF channel. DUT_15_4_API int STDCALL Dut_15_4_SetChannel(int ChannelNum,DWORD DeviceId) Table 45.Command parameters Parameter Type Description ChannelNum int Channel number DeviceId Double word Device ID Default = 0 Return parameters 0 = Zigbee15_4_SetChannel return success Nonzero = Zigbee15_4_SetChannel return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 57 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 10.10 Dut_15_4_StartRxTest This API starts RX test. DUT_15_4_API int STDCALL Dut_15_4_StartRxTest(DWORD DeviceId) Table 46.Command parameters Parameter Type Description DeviceId Double word Device ID Default = 0 Return parameters 0 = Zigbee15_4_StartRxTest return success Nonzero = Zigbee15_4_StartRxTest return failed 10.11 Dut_15_4_RxTestResult This API returns RX test results. DUT_15_4_API int STDCALL Dut_15_4_RxTestResult(BYTE * Status,DWORD * RxTotalPcktCount,DWORD * RxPcktCount,int * RSSI,DWORD DeviceId) Table 47.Command parameters Parameter Type Description Status Byte Status of RX test 0 = RX test completed 1 = RX test aborted RxTotalPcktCount Double word Total number of packets specifies in packet waveform RxPcktCount Double word Packets received during RX test session RSSI Int Average RSSI value in dBm DeviceId Double word Device ID Default = 0 Return parameters 0 = Zigbee15_4_RxTestResult return success Nonzero = Zigbee15_4_RxTestResult return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 58 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 10.12 Dut_15_4_GetEUI64MacAddress This API gets the EUI-64 MAC address. DUT_15_4_API int STDCALL Dut_15_4_GetEUI64MacAddress(unsigned char * EUI64MacAddress, DWORD DeviceId) Table 48.Command parameters Parameter Type Description EUI64MacAddress Unsigned char EUI-64 Mac Address DeviceId Double word Device ID Default = 0 Return parameters 0 = GetEUI64MacAddress return success Nonzero = GetEUI64MacAddress return failed 10.13 Dut_15_4_SetEUI64MacAddress This API sets the EUI-64 MAC address. DUT_15_4_API int STDCALL Dut_15_4_SetEUI64MacAddress(unsigned char * EUI64MacAddress, DWORD DeviceId) Table 49.Command parameters Parameter Type Description EUI64MacAddress Unsigned char EUI-64 MAC address DeviceId Double word Device ID Default = 0 Return parameters 0 = SetEUI64MacAddress return success Nonzero = SetEUI64MacAddress return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 59 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 11 Storage API This section describes the storage APIs. 11.1 List of storage APIs Table 50.List of storage APIs Commands Dut_Shared_SetStorageType DutIf_ForceE2PromType DutIf_SetCalDataRevF DutIf_SetCalDataRevFBTOnly DutIf_SetCalDataRevF15p4Only 11.2 Dut_Shared_SetStorageType This API configures the storage type. DUT_SHARED_API int STDCALL Dut_Shared_SetStorageType(int StorageType, DWORD DeviceId) Table 51.Command parameters Parameter Type Description Storage Type Byte Storage type 0 = EEPROM 1 = Configuration file 2 = OTP DeviceId Double word Device ID Default = 0 Return parameters 0 = Dut_Shared_SetStorageType return success Nonzero = Dut_Shared_SetStorageType return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 60 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 11.3 DutIf_ForceE2PromType This API specifies the calibration data storage type. DUT_WLAN_API int STDCALL DutIf_ForceE2PromType(DWORD IfType, DWORD AddrWidth, DWORD DeviceType); Table 52.Command parameters Parameter Type Description IfType Double word Serial communication 1 = SPI 2 = I2C AddrWidth Double word Address width in byte DeviceType Double word Storage type 1 = EEPROM Return parameters 0 = DutIf_ForceE2PromType return success Nonzero = DutIf_ForceE2PromType return failed 11.4 DutIf_SetCalDataRevF This API stores combo (Wi-Fi, Bluetooth, and 802.15.4) data. DUT_WLAN_API int STDCALL DutIf_SetCalDataRevF( int PurgeAfter, char *FlexFileNameNoE2prom) Table 53.Command parameters Parameter Type PurgeAfter int FlexFileNameNoE2prom char Description 1 = calibration will be cleared after data is programmed to storage device/ file Output Filename to store combo configuration data NULL = default calibration Filename Return parameters 0 = DutIf_SetCalDataRevF return success Nonzero = DutIf_SetCalDataRevF return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 61 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 11.5 DutIf_SetCalDataRevFBTOnly This API sets the Bluetooth calibration data. DUT_WLAN_API int STDCALL DutIf_SetCalDataRevFBTOnly(char *FlexFileNameNoE2prom); Table 54.Command parameters Parameter Type FlexFileNameNoE2prom char Description Output Filename to store Bluetooth configuration data NULL = default calibration Filename Return parameters 0 = DutIf_SetCalDataRevFBTOnly return success Nonzero = DutIf_SetCalDataRevFBTOnly return failed 11.6 DutIf_SetCalDataRevF15p4Only This API sets the 802.15.4 calibration data. DUT_WLAN_API int STDCALL DutIf_SetCalDataRevF15p4Only (char *FlexFileNameNoE2prom); Table 55.Command parameters Parameter Type FlexFileNameNoE2prom char Description Output Filename to store 802.15.4 configuration data NULL = default calibration Filename Return parameters 0 = DutIf_SetCalDataRevF15p4Only return success Nonzero = DutIf_SetCalDataRevF15p4Only return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 62 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12 Annexes Hardware main structure is the first and main structure of the calibration structure chain. From the main structure, there is a pointer to the next (annex) structure. · The annex structure is formed as a link-list. · The pointer to the next annex structure: The last annex has a pointer for the next annex equal to 0xFFFFFFFF. Length-In-Byte is the length of each annex structure itself. Aligned to 32 bits. · The type of the annex is an indicator of the annex structure: Annex types 0 and 255 are un-defined. Annex types 201 to 254 are assigned to customers. · Contact your NXP representative for the document with the annex type definitions. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 63 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.1 Hardware main structure Table 56.Hardware main structure Offset Byte3 Byte2 Byte1 0x00 Length-In-Byte (aligned to 4 bytes) Checksum 0x04 Pointer to the first annex structure 0x08 TX Path Configuration RX Path Configuration SPI Size 0x0C RF crystal Temperature at Cal time 0x10 Foundry code Design Type Misc_Flag 0x14 Cal data Version 0x18 MFG FW Version 0x1C DLL Version Byte0 Rev (0x0F) Device ID (upper 4 bits) SOC O.R. Region code Table 57.Command parameters Parameter Length-In-Byte Checksum Rev Pointer for first annex structure TX Path Configuration Description 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Revision of structure Set to 0x07 Pointer for first annex structure Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 64 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 57.Command parameters...continued Parameter Description RX Path Configuration Maximum RX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. SPI Size Size of SPI EEPROM SPI[6:0] = size of the device SPI[7] = size is in number in kB SPI[7] = size in number in MB Device ID 4-bit device ID Bit [7:4] RF Xtal External crystal calibration value Applicable only if MiscFlag[0] = 1, meaning that an external crystal is used. Temperature at Cal time Temperature reading at calibration time Foundry code Foundry code SOC O.R. O.R revision for SoC O.R[7:6] = customer ID O.R[5:4] = major O.R revision number O.R[3:0] = minor O.R revision number AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 65 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 57.Command parameters...continued Parameter Description Design Type Code for the reference design type 0x00 = Reserved Misc_Flag Flag[0] = Crystal oscillator 0 = use internal crystal oscillator 1 = use external crystal oscillator Flag[1] = Sleep clock 0 = use internal sleep clock 1 = use external sleep clock Flag[2] = Wi-Fi wake up 0 = feature not available 1 = feature available Flag[3] = flip-chip indication, FW checks this bit when there is a difference in setting 0 = nonflip chip 1 = flip chip indication Flag[4] = Calibration data handling options 0 = program all annexes on storage device 1 = only program-specific data on storage device and generate conf file to store module-specific annexes Flag[5] = external calibration data handling in FW 0 = legacy handling, discard all annexes in FW and use new one 1 = retain old annexes from FW and override new one Region code 1 byte region code according to 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Cal data Version Calibration data version MFG FW Version Manufacturing Task version (FW) DLL Version Manufacturing DLL version (Host) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 66 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.2 Bluetooth configuration Annex 55 Table 58.Annex 55 structure Offset Byte3 Byte2 0x00 Length-In-Byte (aligned to 4 bytes) Byte1 Checksum 0x04 0x08 0x0C 0x10 0x14 0x18 FE Loss Reserved BD Address[3] Region code Pointer to the next annex structure Initial Power in dBm RFXTAL Reserved Number of Antennas Bluetooth Baud Rate BD Address[2] BD Address[1] Reserved BD Address[5] Byte0 Annex Type (0x37)(0x5 F for second device) Version Bluetooth Option BD Address[0] BD Address[4] Table 59.Command parameters Parameter Description Length-In-Byte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x37 0x57 for second device Pointer for first annex structure Pointer for first annex structure FE Loss Signed byte to keep the front-end loss value in 0.5 dB step Initial Power Initial Bluetooth TX power in dBm 0.5 dB step RFXTAL External crystal calibration value used of standalone Bluetooth device Set to 0 for Wi-Fi and Bluetooth device Version Info filed definition version 0x01 = include AOA support and number of antennas (version 1) 0x02 = include Bluetooth Class 1 support (version 2) 0x03 = region information support (version 3) Number of Antennas Number of antennas available on the hardware AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 67 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 59.Command parameters...continued Parameter Description Bluetooth Option Bluetooth option[0] = Force Class 2 operation Bluetooth option[1] = Disable power control for class 2 Bluetooth option[2] = Ext crystal used Bluetooth option[3] = Use internal sleep clock (0 External, 1- Internal) Bluetooth option[4] = Bluetooth AOA location support (0 Disabled, 1 Enabled) Bluetooth option[5] = Force Class 1 mode Bluetooth option[7:6] = Reserved Default = Force Class 1.5 Bluetooth Baud Rate Bluetooth baud rate BD Address Reverse of Wi-Fi MAC address stored on SPI header BD_Addr[5] = most significant byte BD_Addr[0] = least significant byte Region code 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 68 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.3 Thermal power and RSSI compensation Annex 75 Table 60.Annex 75 structure Offset Byte3 Byte2 Byte1 0x00 Length-In-Byte (aligned to 4 bytes) Checksum 0x04 Pointer to the next annex structure 0x08 Reserved Reserved Number of thermal compensation entries 0x0C Thermal compensation data entry 0x10 0x14 Thermal data for next band/subband Byte0 Annex type (0x4B) Device ID/Path ID Table 61.Command parameters Parameter Description Length-InByte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x4B Pointer for next annex structure Pointer for next annex structure Number of RSSI Cal entries Number of RSSI calibration data entries stored on this annex Device ID/ Path ID Bit[7:4] = 4-bit Device ID, set to 0x0 Bit[3:0] = path number. Range 0x0 0xf AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 69 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 61.Command parameters...continued Parameter Description Thermal Compensation Data Entry Data structure for RSSI calibration data entry Table 62.RCCI calibration entries Byte 3 Byte 2 Denominator Numerator cold Reserved Back-off value Byte 1 Numerator Hot RSSI Temp slope numerator bypass Byte 0 Band/Subband RSSI temp Slope numerator normal Denominator = common denominator Numerator cold = Slope numerator for cold temperature range Numerator hot = Slope numerator for hot temperature range Band/Subband[7:6] = Band index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband[5:2] = Subband index Back-off value = a static back-off 8-bit signed integer. The scale is 1/16. High temp static back-off is used only for the ePA design for temperatures above 85°C ambient or 95°C read on TSEN. RSSI temp slope numerator bypass = When external LNA is used, this field keeps the RSSI offset temperature slope numerator for external LNA bypass mode. RSSI temp slope numerator normal = RSSI offset temperature slope numerator for normal mode. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 70 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.4 Thermal crystal Annex 83 Table 63.Annex 83 structure Offset Byte3 Byte2 Byte1 0x00 Length-In-Byte (aligned to 4 bytes) Checksum 0x04 Pointer to the next annex structure 0x08 Third Order Coefficient (a) 0x0C Second Order Coefficient (b) 0x10 First Order Coefficient (c) 0x14 Constant Coefficient (d) Byte0 Annex type (0x53) Table 64.Command parameters Parameter Description Length-In-Byte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x53 Pointer for next annex structure Pointer for next annex structure Third order efficient (a) Taken from Unit of float32 Second order efficient (b) Taken from Unit of float32 First order efficient (c) Taken from Unit of float32 Constant coefficient (d) Taken from Unit of float32 The crystal thermal behavior can be calculated using the equation: Where: y = Frequency offset for a given temperature x in relative crystal cap code values. That is, how many relative crystal cap codes are the frequency error off by. x = Temperature from device thermal sensor reading. That is, device thermal sensor reading at a given temperature in degrees Celsius. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 71 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.5 FEM configuration Annex 90 Table 65.Annex 90 structure Offset Byte3 Byte2 Byte1 Byte0 0x00 Length-In-Byte (aligned to 4 bytes) Checksum Annex Type (0x5A) 0x04 Pointer to the first annex structure 0x08 Concurrency Info FEM Capabilities Number of FEM Data Entries Revision 0x0C 2.4 GHz TXVR_A bit mask (16 bits) 2.4 GHz TXVR_B bit mask (16 bits) 0x10 5 GHz TXVR_A bit mask (16 bits) 5 GHz TXVR_B bit mask (16 bits) 0x14 5 GHz Antenna Diversity mask (16 bits) 2.4 GHz Antenna Diversity mask (16 bits) 0x18 . . FEM Data Entry More Entries...... Table 66.Command parameters Parameter Description Length-InByte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x5A Pointer for first annex structure Pointer for first annex structure Concurrency info 2.4 GHz 2x2 + Bluetooth concurrent capabilities [3:0] [0] = Wi-Fi 2x2 TX + Bluetooth TX and RX concurrent allowed [1] = Wi-Fi 1x2 or 2x2 RX + Bluetooth TX concurrent allowed [2] = Wi-Fi 1x2 or 2x2 RX + Bluetooth RX concurrent allowed [3] = Wi-Fi 1x1 or 1x2 TX + Bluetooth TX and RX concurrent allowed 2.4 GHz 1x1 + Bluetooth concurrent capabilities [7:4] [4] = Wi-Fi TX + Bluetooth TX concurrent allowed [5] = Wi-Fi TX + Bluetooth RX concurrent allowed [6] = Wi-Fi RX + Bluetooth TX concurrent allowed [7] = Wi-Fi RX + Bluetooth RX concurrent allowed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 72 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 66.Command parameters...continued Parameter Description FEM capabilities FEM capability information 0 = 2.4 GHz capable 1 = 5 GHz capable 2 = Use internal Bluetooth 3 = Bluetooth location feature · 0 = disabled · 1 = enabled 4 = Use external 2.4 GHz LNA 5 = Use external 5 GHz LNA 6 = Reserved 7 = Use external 5 GHz PA Number of FEM Data Entries Number of FEM data entries Rev Revision of structure 2.4 GHz TXVR_A bit mask 16-bit RF control line bit mask for 2.4 GHz TVXR 2.4 GHz TXVR_B bit mask 16-bit RF control line bit mask for 2.4 GHz TVXR 5 GHz TXVR_A 16-bit RF control line bit mask for 5 GHz TVXR bit mask 5 GHz TXVR_B 16-bit RF control line bit mask for 5 GHz TVXR bit mask 5 G Antenna Diversity mask 16-bit antenna diversity RF control line flip mask 2.4 G Antenna Diversity Mask 16-bit antenna diversity RF control line flip mask FEM Data Entry Data entry. See Table 67. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 73 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 66.Command parameters...continued Parameter Description Operation Mode Mask FEM Data Entry Mode bit position 0 = 2.4 GHz 2x2 802.11ax/802.11ac 1 = 2.4 GHz 1x1 A 802.11ax/802.11ac 2 = 2.4 GHz 1x1 B 802.11ax/802.11ac 3 = 2.4 GHz 1x2 4 = 5 GHz 2x2 802.11ax/802.11ac 5 = 5 GHz 1x1 A 802.11ax/802.11ac 6 = 5 GHz 1x1 B 802.11ax/802.11ac 7 = 5 GHz 1x2 8 = 5 GHz 1x1A 0-DFS 9 = 5 GHz 80+80 10 = 5 GHz 2x2 802.11p 11 = 5 GHz 1x1 B 802.11p Note: In 2.4 GHz, 0x000F means MODE_1x1A, MODE_1x1B, MODE_1x2, and MODE_2x2 are supported. Front-end #X 16-bit RF Control Info RF Ctrl Info Each bit is mapping to the corresponding external RF control pin AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 74 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 67.FEM data entry Offset Byte3 Byte2 0x00 Reserved Reserved 0x04 Front-end#1 RF Ctrl Info (16 bits) 0x08 Front-end#3 RF Ctrl Info (16 bits) 0x0C Front-end#5 RF Ctrl Info (16 bits) 0x10 Front-end#7 RF Ctrl Info (16 bits) 0x14 Front-end#9 RF Ctrl Info (16 bits) 0x18 Front-end#11 RF Ctrl Info (16 bits) 0x1C Front-end#13 RF Ctrl Info (16 bits) 0x20 Front-end#15 RF Ctrl Info (16 bits) 0x24 Front-end#17 RF Ctrl Info (16 bits) 0x28 Front-end#19 RF Ctrl Info (16 bits) Byte1 Operation Mode Mask Front-end#0 RF Ctrl Info (16 bits) Front-end#2 RF Ctrl Info (16 bits) Front-end#4 RF Ctrl Info (16 bits) Front-end#6 RF Ctrl Info (16 bits) Front-end#8 RF Ctrl Info (16 bits) Front-end#10 RF Ctrl Info (16 bits) Front-end#12 RF Ctrl Info (16 bits) Front-end#14 RF Ctrl Info (16 bits) Front-end#16 RF Ctrl Info (16 bits) Front-end#18 RF Ctrl Info (16 bits) Byte0 AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 75 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.6 TX power table Annex 97 Table 68.Annex 97 structure Offset Byte3 Byte2 Byte1 0x00 Length-In-Byte (aligned to 4 bytes) Checksum 0x04 Pointer to the next annex structure 0x08 Temp Threshold Cal Option Number of Power Table Entries 0x0C Power Table Entry 0x10 0x14 More power table entries ...... Byte0 Annex Type (0x61) Device ID/Path ID Table 69.Command parameters Parameter Description Length-In-Byte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x61 Pointer for next annex structure Pointer for next annex structure Temp threshold Temperature threshold for IQ calibration and DPD retrigger Cal Option Bit[0-1] = power control method 0x0 = close loop power control 0x01 = open loop power control Bit[2] = external PA power detector polarization 0 = positive 1 = negative Bit[3] = Use annex 78 power polynomial data 0 = not in use 1 = to use Number of power table entries Number of power table entries stored on this annex Device ID/Path ID Bit[7:4] = 4-bit Device ID, set to 0x0 Bit[3:0] = path number. Range 0x0 0xf Power table entry See Table 70. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 76 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 70.Power table entries Byte3-2 Band/Subband channel Reserved (2 bits) Power level MB0/RF1 (10 bits) Reserved (2 bits) Power level BM0/RF4 (10 bits) Reserved (2 bits) Power level BM0/RF7 (10 bits) Reserved (2 bits) Power level BM1/RF1 (10 bits) Reserved (2 bits) Power level BM1/RF4 (10 bits) Reserved (2 bits) Power level BM1/RF7 (10 bits) Byte 1 Total number of BM indexes in Cal Power level BM0/RF0 (10 bits) Power level BM0/RF3 (10 bits) Power level BM0/RF6 (10 bits) Power level BM1/RF0 (10 bits) Power level BM1/RF3 (10 bits) Power level BM1/RF6 (10 bits) Power info for BM2 Power info for BMX Byte 0 Power detector offset Temperature (10 bits) Power level MB0/RF2 (10 bits) Power level BM0/RF5 (10 bits) Temperature (10 bits) Power level BM1/RF2 (10 bits) Power level BM1/RF5 (10 bits) Table 71.Command parameters Parameter Description Band/Subband/ Channel Bit [15:14] = band index 0x00 = 2.4 GHz 0x01 = 5 GHz 0x10 = 6 GHz Bit[13:10] = subband index Bit[9:0] = channel number Number of BM indexes in calibration Stored at byte 1 of the power table entry Power detector offset 8-bit signed integer to indicate power detector offset If not used, set to 0x00.d Power level BMX/RFX 10-bit power level info to keep the power level measured during power calibration for the specified BM index/RF step Bit[9] = sign bit Bit[8:3] = integer power level Bit[2:0] = fraction power level AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 77 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.7 RSSI offset Annex 98 Table 72.Annex 98 structure Offset Byte3 Byte2 0x00 Length-In-Byte (aligned to 4 bytes) 0x04 Pointer to the next annex structure 0x08 Reserved Reserved 0x0C RSSI Cal Data Entry 0x10 ... More entries... Byte1 Checksum Number of RSSI Cal Entries Byte0 Annex Type (0x62) Device ID/Path ID Table 73.Command parameters Parameter Description Length-In-Byte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x63 Pointer for first annex structure Pointer for first annex structure Number of RSSI Cal Number of RSSI Cal Entries Entries RSSI Cal data entry See Table 74. Band/Subband Bit [7:6] = Band Index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband Bit [5:2] = Subband Index RSSI Cal E-LNA HIGH, I-LNA HIGH Mode = RSSI calibration data for high external LNA gain, high internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA LOW, I-LNA HIGH Mode = RSSI calibration data for low external LNA gain, high internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA HIGH, I-LNA LOW mode = RSSI calibration data for high external LNA gain, low internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA LOW, I-LNA LOW mode = RSSI calibration data for low external LNA gain, low internal LNA gain mode. The value is in 0.5dB step. RSSI Cal Common offset = if any of the above cal values are outside the [-8, 7.5] dB range, write the average here and the deviations from average into the other RSSI cal entries. The resolution is 1dB. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 78 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 74.RSSI calibration data entries [31:26] [25:20] [19:15] Band/Subband RSSI cal common RSSI Cal E-LNA offset HIGH, I-LNA LOW mode [14:10] RSSI Cal E-LNA LOW, I-LNA LOW mode [9:5] [4:0] RSSI Cal E-LNA RSSI Cal E-LNA HIGH, LOW, I-LNA HIGH Mode I-LNA HIGH Mode AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 79 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.8 Antenna isolation Annex 99 Table 75.Annex 99 structure Offset Byte3 Byte2 0x00 Length-In-Byte (aligned to 4 bytes) 0x04 Pointer to the next annex structure 0x08 Reserved Zigbee Antennas Bluetooth/ Bluetooth LE Antennas 0x0C Ant sharing Info (32 bits) 0x10 Isolation Data Entry 0x14 More Data entries... ...... Wi-Fi Antennas Byte1 Checksum Number of Data Entries Byte0 Annex Type (0x63) Revision Table 76.Isolation data entries [31:24] [23:16] Reserved Isolation Value [15:12] ANT B [11:8] Tech B [7:4] ANT A [3:0] Tech A Table 77.Command parameters Parameter Description Length-In-Byte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x63 Pointer for first annex structure Pointer for first annex structure Zigbee Antennas 4-bit value Maximum 16 antennas per radio Bluetooth/Bluetooth 4-bit value LE Antennas Maximum 16 antennas per radio Wi-Fi antennas 4-bit value Maximum 16 antennas per radio Number of data entries Number of Isolation data entries in this annex Rev Revision of structure Antenna sharing info See Table 78. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 80 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 77.Command parameters...continued Parameter Description Isolation data entry Default = 255 dB Range of 255 dB [31:24] = reserved [23:16] = isolation value, range 0 255 dB, default = 255 dB [15 :12] = ANT B ID for Tech B [11:8] = Tech B · 0 = Wi-Fi · 1 = Bluetooth/Bluetooth LE · 2 = 802.15.4 [7 :4] = ANT A ID for Tech A [3 :0] = ANT B ID for Tech B Antenna sharing information: · If Bit [7:0] are zero, the antennas are shared. · If Bit [15:8] are zero, all antennas are separate. Table 78.Antenna sharing information Byte Configuration Bit Setting Byte 0 SLNA LSB-0 Shared LNA Wi-Fi + Bluetooth 1 Reserved 2 Shared LNA Wi-Fi + 802.15.4 3 Shared LNA Bluetooth + 802.15.4 4 5 6 7 Byte 1 Antenna 8 sharing 9 10 11 12 13 14 15 Reserved Reserved Reserved Reserved Antenna sharing for Wi-Fi and Bluetooth Reserved Antenna sharing for Wi-Fi and 802.15.4 Antenna sharing for Bluetooth and 802.15.4 Reserved Reserved Reserved Reserved Description Value If set, Wi-Fi and Bluetooth share LNA 0 If set, Wi-Fi and Bluetooth 2 share 0 LNA If set, Wi-Fi and 802.15.4 share LNA 0 If set, Bluetooth and 802.15.4 share 0 LNA Reserved 0 Reserved 0 Reserved 0 Reserved 0 If set, Wi-Fi and Bluetooth share the 0 antenna Reserved 0 If set, Wi-Fi and 802.15.4 share the 0 antenna If set, Bluetooth and 802.15.4 share 0 the antenna Reserved 0 Reserved 0 Reserved 0 Reserved 0 AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 81 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 78.Antenna sharing information...continued Byte Configuration Bit Setting Description Byte 2 Shared path 16:17 Wi-Fi path shared with Bluetooth If bit [8] is set, shared path = A (0) / B (1) / C (2) / D (3) 18:19 Reserved Reserved 20:21 Wi-Fi path shared with 802.15.4 If bit [10] is set, shared path = A (0) / B (1) / C (2) / D (3) 22 Bluetooth path shared with 802.15.4 If bit [11] is set, shared path = A (0) / B (1) 23 Reserved Reserved Byte 3 -- 24 Reserved Reserved 25:31 Reserved Reserved 32-bit mask Value 0 0 0 0 0 0 0 0xXXXX AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 82 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.9 Bluetooth hardware Annex 100 Table 79.Annex 100 structure Offset Byte3 Byte2 0x00 Length-In-Byte (aligned to 4 bytes) Byte1 Checksum Byte0 Annex Type (0x64/ 0x65) 0x04 0x08 0x0C Pointer to the next annex structure Bluetooth/Bluetooth LE ext PA FEM CTRL BITMASK Ext ANT Gain value Ext ANT Gain Present Bluetooth/Bluetooth LE ext LNA FEM CTRL BITMASK Reserved Ext_PA Gain Ext_PA Present Ext_LNA Gain Ext_LNA Present Table 80.Command parameters Parameter Description Length-In-Byte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication Checksum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x37 0x57 for the second device Pointer for next annex structure Pointer for next annex structure Bluetooth/Bluetooth Defines the state of RF control line for TX through PA LE ext PA FEM CTRL Bit[15:0] BITMASK Ext_PA Gain External PA gain in dB Bit[7:1] Ext_PA Present 0 = External PA gain is not present 1 = External PA gain is present Bluetooth/Bluetooth Defines the state of RF control line for RX through LNA LE ext LNA FEM CTRL Bit[15:0] BITMASK Ext_LNA Gain External LNA gain in dB Bit[7:1] Ext_LNA Present 0 = External LNA gain is not present 1 = External LNA gain is present Ext ANT Gain value Specifies the external antenna gain in 0.5 dB step Bit[4:1] Ext ANT Gain Present 0 = External antenna gain is not present 1 = External antenna gain is present AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 83 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 12.10 Configuration Annex 104 Table 81.Annex 104 structure Offset Byte3 Byte2 Byte1 0x00 Length-In-Byte (aligned to 4 bytes) CheckSum 0x04 Pointer to the next annex structure 0x08 Reserved SpiMaxFrequency TxPowerLimit 0x0C EUI64[3] EUI64[2] EUI64[1] 0x10 EUI64[7] EUI64[6] EUI64[5] 0x14 Reserved Byte0 Annex Type (0x68) Rev EUI64[0] EUI64[4] Table 82.Command parameters Parameter Description Length-In-Byte 32 bytes as indicated by 0x48[15:0] 0x4C = starting address 0xFFFFF000 = recommended for main and annex structure followed with its pointer indication CheckSum 1 byte sum of all the bytes in the structure, including reserved bytes, excluding checksum bytes Annex type 0x68 Pointer for next annex structure Pointer for next annex structure Rev Revision of structure SpiMaxFrequency Max SPI bus spped supported 0x00 = default clock speed supports SPI range up to 4 MHz, internal AHB2 bus frequency is set to 16 MHz 0x01 = higher SPI clock speed supports SPI range frequency up to 10 MHz, internal AHB2 bus frequency is set to 64 HHz TxPowerLimit Tx power clamp applied to IEEE 802.15.4 0x00 = no Tx power clamp is applied 0x14 = limit Tx power to 10 dBm (for regulatory purposes) Set to max Tx power with 0.5 dBm granularity EUI164 802.15.4 EUI 64 MAC address Most significant byte = EUI64[7] Least significant byte = EUI64[0] AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 84 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13 Annex APIs 13.1 List of annex APIs Table 83.List of annex APIs Command Hardware main structure Dut_Shared_ReadMainDataFromFile_RevF_V3 Dut_Shared_SetCalMainDataRevF_V3 Dut_Shared_GetCalMainDataRevF_V3 Dut_Shared_WriteMainDataToFile_RevF_V3 Bluetooth configuration Annex 55 Dut_Shared_ReadAnnex55DataFromFile_Rev3 Dut_Shared_WriteAnnex55DataToFile_Rev3 Dut_Shared_GetAnnexType55Data_Rev3 Dut_Shared_SetAnnexType55Data_Rev3 Thermal power and RSSI compensation Annex 75 Dut_Shared_ReadAnnex75DataFromFile_Rev2 Dut_Shared_SetAnnexType75Data_Rev2 Dut_Shared_GetAnnexType75Data_Rev2 Dut_Shared_WriteAnnex75DataToFile_Rev2 Thermal crystal Annex 83 Dut_Shared_ReadAnnex83DataFromFile Dut_Shared_SetAnnexType83Data Dut_Shared_GetAnnexType83Data Dut_Shared_WriteAnnex83DataToFile FEM configuration Annex 90 Dut_Shared_ReadAnnex90DataFromFile_W909X Dut_Shared_SetAnnexType90Data_W909X Dut_Shared_GetAnnexType90Data_W909X TX power table Annex 97 Dut_Shared_ReadAnnex97DataFromFile_W909X Dut_Shared_SetAnnexType97Data_W909X Dut_Shared_GetAnnexType97Data_W909X Dut_Shared_WriteAnnex97DataToFile_W909X AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 85 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 83.List of annex APIs...continued Command RSSI offset Annex 98 Dut_Shared_ReadAnnex98DataFromFile_W909X Dut_Shared_SetAnnexType98Data_W909X Dut_Shared_GetAnnexType98Data_W909X Dut_Shared_WriteAnnex98DataToFile_W909X Antenna isolation Annex 99 Dut_Shared_ReadAnnex99DataFromFile Dut_Shared_SetAnnexType99Data Dut_Shared_GetAnnexType99Data Dut_Shared_WriteAnnex99DataToFile Bluetooth hardware Annex 100 Dut_Shared_ReadAnnex100DataFromFile_Rev2 Dut_Shared_SetAnnexType100Data_Rev2 Dut_Shared_GetAnnexType100Data_Rev2 Dut_Shared_WriteAnnex100DataToFile_Rev2 802.15.4 configuration Annex 104 Dut_Shared_ReadAnnex104DataFromFile Dut_Shared_SetAnnexType104Data Dut_Shared_GetAnnexType104Data Dut_Shared_WriteAnnex104DataToFile AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 86 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.2 Hardware main structure 13.2.1 Dut_Shared_ReadMainDataFromFile_RevF_V3 This API reads the main structure value from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadMainDataFromFile_RevF_V3(char *FileName, BYTE *StructRev, BYTE *DesignType, BYTE *SpiSizeInfo, BYTE *DeviceID, BYTE *TXAntConf, BYTE *RXAntConf, BYTE *SocOrRev, WORD *TemperatureAtCalTime, BYTE *RFXTAL, BYTE *RegionCode, bool *ExtXtalSource, bool *ExtSleepClk, bool *WlanWakeUp, bool *FlipChip, bool *Caldatahandling, bool *CalDataLoad, DWORD *TestToolVer, DWORD *MfgTaskVersion, DWORD *DllVersion); Table 84.Command parameters Parameter Type FileName char StructRev byte DesignType byte SpiSizeInfo byte DeviceID byte TXAntConf byte RXAntConf byte SocOrRev byte Description Filename Revision of structure Set to 0x07 Code for the reference design type 0x00 = Reserved Size of SPI EEPROM SPI[6:0] = size of the device SPI[7] = size is in number in kB SPI[7] = size in number in MB Device ID Default = 0 Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. O.R revision for SoC O.R[7:6] = customer ID O.R[5:4] = major O.R revision number O.R[3:0] = minor O.R revision number AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 87 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 84.Command parameters...continued Parameter Type TemperatureAtCalTime word RFXTAL byte RegionCode byte ExtXtalSource ExtSleepClk WlanWakeUp FlipChip Caldatahandling CalDataLoad TestToolVer MfgTaskVersion DllVersion Bool Bool Bool Bool Bool Bool Double word Double word Double word Description Temperature reading at calibration time External crystal Calibration Value 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Crystal oscillator False = use internal crystal oscillator True = use external crystal oscillator Sleep clock False = use internal sleep clock True = use external sleep clock Wi-Fi wake-up False = feature not available True = feature available Flip-chip indication, FW checks this bit when there is a difference in setting False = nonflip chip True = flip chip indication Calibration data handling options False = program all annexes on storage device True = only program-specific data on storage device and generate conf file to store module-specific annexes External calibration data handling in FW False = legacy handling, discard all annexes in FW and use new one True = retain old annexes from FW and override new one Test algorithm code version Manufacturing Task version (FW) Manufacturing DLL version (Host) Return parameters 0 = Dut_Shared_ReadMainDataFromFile_RevF_V3 return success Nonzero = Dut_Shared_ReadMainDataFromFile_RevF_V3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 88 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.2.2 Dut_Shared_SetCalMainDataRevF_V3 This API sets the main structure values. DUT_SHARED_API int STDCALL Dut_Shared_SetCalMainDataRevF_V3(BYTE StructRev, BYTE DesignType, BYTE SpiSizeInfo, BYTE DeviceID, BYTE TXAntConf, BYTE RXAntConf, BYTE SocOrRev, WORD TemperatureAtCalTime, BYTE RFXTAL, BYTE RegionCode, bool ExtXtalSource, bool ExtSleepClk, bool WlanWakeUp, bool FlipChip, bool Caldatahandling, bool CalDataLoad, DWORD TestToolVer, DWORD MfgTaskVersion, DWORD DllVersion); Table 85.Command parameters Parameter Type StructRev byte DesignType byte SpiSizeInfo byte DeviceID byte TXAntConf byte RXAntConf byte SocOrRev byte TemperatureAtCalTime RFXTAL word byte Description Revision of structure Set to 0x07 Code for the reference design type 0x00 = Reserved Size of SPI EEPROM SPI[6:0] = size of the device SPI[7] = size is in number in kB SPI[7] = size in number in MB Device ID Default = 0 Maximum possible TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. O.R revision for SoC O.R[7:6] = customer ID O.R[5:4] = major O.R revision number O.R[3:0] = minor O.R revision number Temperature reading at calibration time External crystal calibration value AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 89 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 85.Command parameters...continued Parameter Type RegionCode byte ExtXtalSource ExtSleepClk Bool Bool Description 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Crystal oscillator False = use internal crystal oscillator True = use external crystal oscillator Sleep clock False = use internal sleep clock True = use external sleep clock WlanWakeUp FlipChip Caldatahandling CalDataLoad TestToolVer MfgTaskVersion DllVersion Bool Bool Bool Bool Double word Double word Double word Wi-Fi wake-up False = feature not available True = feature available Flip-chip indication, FW checks this bit when there is a difference in setting False = nonflip chip True = flip chip indication Calibration data handling options False = program all annexes on storage device True = only program-specific data on storage device and generate conf file to store module-specific annexes External calibration data handling in FW False = legacy handling, discard all annexes in FW and use new one True = retain old annexes from FW and override new one Test algorithm code version Manufacturing Task version (FW) Manufacturing DLL version (Host) Return parameters 0 = Dut_Shared_SetCalMainDataRevF_V3 return success Nonzero = Dut_Shared_SetCalMainDataRevF_V3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 90 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.2.3 Dut_Shared_GetCalMainDataRevF_V3 This API gets the main structure data. DUT_SHARED_API int STDCALL Dut_Shared_GetCalMainDataRevF_V3(BYTE *StructRev, BYTE *DesignType, BYTE *SpiSizeInfo, BYTE *DeviceID, BYTE *TXAntConf, BYTE *RXAntConf, BYTE *SocOrRev, WORD *TemperatureAtCalTime, BYTE *RFXTAL, BYTE *RegionCode, bool *ExtXtalSource, bool *ExtSleepClk, bool *WlanWakeUp, bool *FlipChip, bool *Caldatahandling, bool *CalDataLoad, DWORD *TestToolVer, DWORD *MfgTaskVersion, DWORD *DllVersion); Table 86.Command parameters Parameter Type StructRev byte DesignType byte SpiSizeInfo byte DeviceID byte TXAntConf byte RXAntConf byte SocOrRev byte TemperatureAtCalTime RFXTAL word byte Description Revision of structure Set to 0x07 Code for the reference design type Size of SPI EEPROM SPI[6:0] = size of the device SPI[7] = size is in number in kB SPI[7] = size in number in MB Device ID Default = 0 Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. O.R revision for SoC O.R[7:6] = Customer ID O.R[5:4] = major O.R revision number O.R[3:0] = minor O.R revision number Temperature reading at calibration time External crystal calibration value AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 91 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 86.Command parameters...continued Parameter Type RegionCode byte ExtXtalSource ExtSleepClk Bool Bool Description 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Crystal oscillator False = use internal crystal oscillator True = use external crystal oscillator Sleep clock False = use internal sleep clock True = use external sleep clock WlanWakeUp Bool Wi-Fi wake-up False = feature not available True = feature available FlipChip Caldatahandling CalDataLoad TestToolVer MfgTaskVersion DllVersion Bool Bool Bool Double word Double word Double word Flip-chip indication, FW checks this bit when there is a difference in setting False = nonflip chip True = flip chip indication Calibration data handling options False = program all annexes on storage device True = only program-specific data on storage device and generate conf file to store module-specific annexes External calibration data handling in FW False = legacy handling, discard all annexes in FW and use new one True = retain old annexes from FW and override new one Test algorithm code version Manufacturing Task version (FW) Manufacturing DLL version (Host) Return parameters 0 = Dut_Shared_GetCalMainDataRevF_V3 return success Nonzero = Dut_Shared_GetCalMainDataRevF_V3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 92 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.2.4 Dut_Shared_WriteMainDataToFile_RevF_V3 This API write the main structure data. DUT_SHARED_API int STDCALL Dut_Shared_WriteMainDataToFile_RevF_V3(char *FileName, BYTE StructRev, BYTE DesignType, BYTE SpiSizeInfo, BYTE DeviceID, BYTE TXAntConf, BYTE RXAntConf, BYTE SocOrRev, WORD TemperatureAtCalTime, BYTE RFXTAL, BYTE RegionCode, bool ExtXtalSource, bool ExtSleepClk, bool WlanWakeUp, bool FlipChip, bool Caldatahandling, bool CalDataLoad, DWORD TestToolVer, DWORD MfgTaskVersion, DWORD DllVersion); Table 87.Command parameters Parameter Type FileName char StructRev byte DesignType byte SpiSizeInfo byte DeviceID byte TXAntConf byte RXAntConf byte SocOrRev byte TemperatureAtCalTime RFXTAL word byte Description Filename Revision of structure Set to 0x07 Code for the reference design type 0x00 = Reserved Size of SPI EEPROM SPI[6:0] = size of the device SPI[7] = size is in number in kB SPI[7] = size in number in MB Device ID Default = 0 Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. Maximum TX path configuration available for the device PathConf[7:0] where bit 0 to 7 are mapped to Path A to H 0x00 = No path available 0x01 = Only Path A available 0x02 = Only Path B available 0x03 = Path A and Path B available 0x04 = Only Path C available 0x05 = Path A and Path C available 0x06 = Path B and Path C available 0x07 = Path A, B, and C all available 0x0F = Path A, B, C, D all available Note: If set to 0x00, FW does not perform antenna diversity. O.R revision for SoC O.R[7:6] = customer ID O.R[5:4] = major O.R revision number O.R[3:0] = minor O.R revision number Temperature reading at calibration time External crystal calibration value AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 93 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 87.Command parameters...continued Parameter Type RegionCode byte ExtXtalSource ExtSleepClk WlanWakeUp FlipChip Caldatahandling CalDataLoad TestToolVer MfgTaskVersion DllVersion Bool Bool Bool Bool Bool Bool Double word Double word Double word Description 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Crystal oscillator False = use internal crystal oscillator True = use external crystal oscillator Sleep clock False = use internal sleep clock True = use external sleep clock Wi-Fi wake-up False = feature not available True = feature available Flip-chip indication, FW checks this bit when there is a difference in setting False = nonflip chip True = flip chip indication Calibration data handling options False = program all annexes on storage device True = only program-specific data on storage device and generate conf file to store module-specific annexes External calibration data handling in FW False = legacy handling, discard all annexes in FW and use new one True = retain old annexes from FW and override new one Test algorithm code version Manufacturing Task version (FW) Manufacturing DLL version (Host) Return parameters 0 = Dut_Shared_WriteMainDataToFile_RevF_V3 return success Nonzero = Dut_Shared_WriteMainDataToFile_RevF_V3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 94 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.3 Bluetooth configuration Annex 55 13.3.1 Dut_Shared_ReadAnnex55DataFromFile_Rev3 This API reads annex 55 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex55DataFromFile_Rev3(char *FileName, BYTE *Version,BYTE *RFXtal, BYTE *InitPwr,BYTE *FELoss,bool *ForceClass2Op, bool *Class1OpSupport, bool *DisablePwrControl, bool *MiscFlag, bool *UsedInternalSleepClock, bool *AOALocaltionSupport, BYTE *NumberOfAntennas, BYTE *Rssi_Golden_Lo,BYTE *Rssi_Golden_Hi, DWORD *BTBAUDRate, BYTE BDAddr[6],BYTE *Encr_Key_Len_Max, BYTE *Encr_Key_Len_Min, BYTE *RegionCode); Table 88.Command parameters Parameter Type FileName char Version byte RFXtal InitPwr FELoss ForceClass20p Class10pSupport DisablePwrControl MiscFlag byte byte byte Bool Bool Bool Bool Description Filename Info filed definition version 0x01 = include AOA support and number of antennas (version 1) 0x02 = include Bluetooth Class 1 support (version 2) 0x03 = region information support (version 3) External crystal calibration value used of standalone Bluetooth device Set to 0 for Wi-Fi and Bluetooth device Initial power Signed byte to keep the front-end loss value in 0.5 dB step Class 2 support False = class 2 not supported True = class 2 supported Force class 1 support False = class 1 not supported True = class 1 supported Power control False = power control disabled True = power control enabled Flag[0] = Crystal oscillator 0 = use internal crystal oscillator 1 = use external crystal oscillator Flag[1] = Sleep clock 0 = use internal sleep clock 1 = use external sleep clock Flag[2] = Wi-Fi wake up 0 = feature not available 1 = feature available Flag[3] = flip-chip indication, FW checks this bit when there is a difference in setting 0 = nonflip chip 1 = flip chip indication Flag[4] = Calibration data handling options 0 = program all annexes on storage device 1 = only program-specific data on storage device and generate conf file to store module-specific annexes Flag[5] = external calibration data handling in FW 0 = legacy handling, discard all annexes in FW and use new one 1 = retain old annexes from FW and override new one AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 95 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 88.Command parameters...continued Parameter Type UsedInternalSleepClock Bool AOALocaltionSupport Bool NumberOfAntennas byte Rssi_Golden_Lo byte Rssi_Golden_Hi byte BTBAUDRate byte BDAddr byte Encr_Key_Len_Max byte Encr_Key_Len_Min byte RegionCode byte Description Sleep clock False = External sleep clock True = internal sleep clock AOA location support False = not supported True = supported Number of antennas available on hardware Golden RSSI for internal-low LNA gain state Golden RSSI for internal-high LNA gain state Bluetooth baud rate Reverse of Wi-Fi MAC address stored on SPI header BD_Addr[5] = most significant byte BD_Addr[0] = least significant byte Encryption key length maximum Encryption key length minimum 1 byte region code according to 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Return parameters 0 = Dut_Shared_ReadAnnex55DataFromFile_Rev3 return success Nonzero = Dut_Shared_ReadAnnex55DataFromFile_Rev3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 96 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.3.2 Dut_Shared_SetAnnexType55Data_Rev3 This API sets the annex 55 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType55Data_Rev3( BYTE Version, BYTE RFXtal, BYTE InitPwr, BYTE FELoss, bool ForceClass2Op, bool Class1OpSupport, bool DisablePwrControl, bool MiscFlag, bool UsedInternalSleepClock, bool AOALocaltionSupport, BYTE NumberOfAntennas, BYTE Rssi_Golden_Lo, BYTE Rssi_Golden_Hi, DWORD BTBAUDRate, BYTE BDAddr[6], BYTE Encr_Key_Len_Max, BYTE Encr_Key_Len_Min, BYTE RegionCode); Table 89.Command parameters Parameter Type Version byte RFXtal InitPwr FELoss ForceClass20p Class10pSupport DisablePwrControl MiscFlag byte byte byte Bool Bool Bool Bool UsedInternalSleepClock Bool Description Info filed definition version 0x01 = include AOA support and number of antennas (version 1) 0x02 = include Bluetooth Class 1 support (version 2) 0x03 = region information support (version 3) External crystal calibration value used of standalone Bluetooth device Set to 0 for Wi-Fi and Bluetooth device Initial power Signed byte to keep the front-end loss value in 0.5 dB step Class 2 support False = class 2 not supported True = class 2 supported Force class 1 support False = class 1 not supported True = class 1 supported Power control False = power control disabled True = power control enabled Flag[0] = Crystal oscillator 0 = use internal crystal oscillator 1 = use external crystal oscillator Flag[1] = Sleep clock 0 = use internal sleep clock 1 = use external sleep clock Flag[2] = Wi-Fi wake up 0 = feature not available 1 = feature available Flag[3] = flip-chip indication, FW checks this bit when there is a difference in setting 0 = nonflip chip 1 = flip chip indication Flag[4] = Calibration data handling options 0 = program all annexes on storage device 1 = only program-specific data on storage device and generate conf file to store module-specific annexes Flag[5] = external calibration data handling in FW 0 = legacy handling, discard all annexes in FW and use new one 1 = retain old annexes from FW and override new one Sleep clock False = External sleep clock True = internal sleep clock AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 97 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 89.Command parameters...continued Parameter Type AOALocaltionSupport Bool NumberOfAntennas byte Rssi_Golden_Lo byte Rssi_Golden_Hi byte BTBAUDRate byte BDAddr byte Encr_Key_Len_Max byte Encr_Key_Len_Min byte RegionCode byte Description AOA location support False = not supported True = supported Number of antennas available on hardware Golden RSSI for internal-low LNA gain state Golden RSSI for internal-high LNA gain state Bluetooth Baud Rate Reverse of Wi-Fi MAC address stored on SPI header BD_Addr[5] = most significant byte BD_Addr[0] = least significant byte Encryption key length maximum Encryption key length minimum 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Return parameters 0 = Dut_Shared_SetAnnexType55Data_Rev3 return success Nonzero = Dut_Shared_SetAnnexType55Data_Rev3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 98 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.3.3 Dut_Shared_GetAnnexType55Data_Rev3 This API gets the annex 55 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType55Data_Rev3( BYTE *Version, BYTE *RFXtal, BYTE *InitPwr, BYTE *FELoss, bool *ForceClass2Op, bool *Class1OpSupport, bool *DisablePwrControl, bool *MiscFlag, bool *UsedInternalSleepClock, bool *AOALocaltionSupport, BYTE *NumberOfAntennas, BYTE *Rssi_Golden_Lo, BYTE *Rssi_Golden_Hi, DWORD *BTBAUDRate, BYTE BDAddr[6], BYTE *Encr_Key_Len_Max, BYTE *Encr_Key_Len_Min, BYTE *RegionCode); Table 90.Command parameters Parameter Type Version byte RFXtal InitPwr FELoss ForceClass20p Class10pSupport DisablePwrControl MiscFlag byte byte byte Bool Bool Bool Bool UsedInternalSleepClock Bool Description Info filed definition version 0x01 = include AOA support and number of antennas (version 1) 0x02 = include Bluetooth Class 1 support (version 2) 0x03 = region information support (version 3) External crystal calibration value of the standalone Bluetooth device Set to 0 for Wi-Fi and Bluetooth devices. Initial power Signed byte to keep the front-end loss value in 0.5 dB step Class 2 support False = class 2 not supported True = class 2 supported Force class 1 support False = class 1 not supported True = class 1 supported Power control False = power control disabled True = power control enabled Flag[0] = Crystal oscillator 0 = use internal crystal oscillator 1 = use external crystal oscillator Flag[1] = Sleep clock 0 = use internal sleep clock 1 = use external sleep clock Flag[2] = Wi-Fi wake up 0 = feature not available 1 = feature available Flag[3] = flip-chip indication, FW checks this bit when there is a difference in setting 0 = nonflip chip 1 = flip chip indication Flag[4] = Calibration data handling options 0 = program all annexes on storage device 1 = only program-specific data on storage device and generate conf file to store module-specific annexes Flag[5] = external calibration data handling in FW 0 = legacy handling, discard all annexes in FW and use new one 1 = retain old annexes from FW and override new one Sleep clock False = External sleep clock True = internal sleep clock AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 99 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 90.Command parameters...continued Parameter Type AOALocationSupport Bool NumberOfAntennas byte Rssi_Golden_Lo byte Rssi_Golden_Hi byte BTBAUDRate byte BDAddr byte Encr_Key_Len_Max byte Encr_Key_Len_Min byte RegionCode byte Description AOA location support False = not supported True = supported Number of antennas available on hardware Golden RSSI for internal-low LNA gain state Golden RSSI for internal-high LNA gain state Bluetooth Baud Rate Reverse of Wi-Fi MAC address stored on SPI header BD_Addr[5] = most significant byte BD_Addr[0] = least significant byte Encryption key length maximum Encryption key length minimum 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Return parameters 0 = Dut_Shared_GetAnnexType55Data_Rev3 return success Nonzero = Dut_Shared_GetAnnexType55Data_Rev3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 100 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.3.4 Dut_Shared_WriteAnnex55DataToFile_Rev3 This API writes the annex 55 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex55DataToFile_Rev3(char *FileName, BYTE Version, BYTE RFXtal,BYTE InitPwr, BYTE FELoss, bool ForceClass2Op,bool Class1OpSupport, bool DisablePwrControl, bool MiscFlag, bool UsedInternalSleepClock, bool AOALocaltionSupport, BYTE NumberOfAntennas, BYTE Rssi_Golden_Lo, BYTE Rssi_Golden_Hi, DWORD BTBAUDRate, BYTE BDAddr[6], BYTE Encr_Key_Len_Max, BYTE Encr_Key_Len_Min, BYTE RegionCode); Table 91.Command parameters Parameter Type FileName char Version byte RFXtal InitPwr FELoss ForceClass20p Class10pSupport DisablePwrControl MiscFlag byte byte byte Bool Bool Bool Bool UsedInternalSleepClock Bool Description Filename Info filed definition version 0x01 = include AOA support and number of antennas (version 1) 0x02 = include Bluetooth Class 1 support (version 2) 0x03 = region information support (version 3) External crystal calibration value used of standalone Bluetooth device Set to 0 for Wi-Fi and Bluetooth device Initial power Signed byte to keep the front-end loss value in 0.5 dB step Class 2 support False = class 2 not supported True = class 2 supported Force class 1 support False = class 1 not supported True = class 1 supported Power control False = power control disabled True = power control enabled Flag[0] = Crystal oscillator 0 = use internal crystal oscillator 1 = use external crystal oscillator Flag[1] = Sleep clock 0 = use internal sleep clock 1 = use external sleep clock Flag[2] = Wi-Fi wake up 0 = feature not available 1 = feature available Flag[3] = flip-chip indication, FW checks this bit when there is a difference in setting 0 = nonflip chip 1 = flip chip indication Flag[4] = Calibration data handling options 0 = program all annexes on storage device 1 = only program-specific data on storage device and generate conf file to store module-specific annexes Flag[5] = external calibration data handling in FW 0 = legacy handling, discard all annexes in FW and use new one 1 = retain old annexes from FW and override new one Sleep clock False = External sleep clock True = internal sleep clock AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 101 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Table 91.Command parameters...continued Parameter Type AOALocaltionSupport Bool NumberOfAntennas byte Rssi_Golden_Lo byte Rssi_Golden_Hi byte BTBAUDRate byte BDAddr byte Encr_Key_Len_Max byte Encr_Key_Len_Min byte RegionCode byte Description AOA location support False = not supported True = supported Number of antennas available on hardware Golden RSSI for internal-low LNA gain state Golden RSSI for internal-high LNA gain state Bluetooth Baud Rate Reverse of Wi-Fi MAC address stored on SPI header BD_Addr[5] = most significant byte BD_Addr[0] = least significant byte 1 byte region code according to the 802.11 standard 0x10 = FCC (USA) default 0x20 = IC 0x30 = ETSI (European) 0x31 = Spain 0x32 = France 0x40 = MKK (Japan) 0x41 = MKK (Japan) 0x50 = China Return parameters 0 = Dut_Shared_WriteAnnex55DataToFile_Rev3 return success Nonzero = Dut_Shared_WriteAnnex55DataToFile_Rev3 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 102 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.4 Thermal power and RSSI compensation Annex 75 Thermal power and RSSI compensation is stored in annex 75. 13.4.1 Structures The following structures are stored in Annex 75. typedef struct Annex75_V2 { BYTE backoff; BYTE reserved; } Annex75_V2; typedef struct Thermal_POWER_RSSI_COMPENSSTION_VE { BANDSUBBAND_verE BANDSUBBNAD_Info; union { BYTE CCK_SLOPE; BYTE Numerator_Hot; }; union { BYTE OFDM_SLOPE; BYTE Numerator_Cold; }; BYTE Denominator; BYTE RSSITempSlopeNumeratorNormal; BYTE RSSITempSlopeNumeratorBypass; union { WORD SwitchPointTemperature; Annex75_V2 V2_Data; }; }Thermal_POWER_RSSI_COMPENSSTION_VE; AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 103 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.4.2 Dut_Shared_ReadAnnex75DataFromFile_Rev2 This API reads annex 75 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex75DataFromFile_Rev2(char *FileName, int DUTIndex, int PathId, int *Rev, int *NumOfEnterirs, Thermal_POWER_RSSI_COMPENSSTION_VE *ThermalPowerRSSIData); Table 92.Command parameters Parameter Type Description FileName char Filename DUTIndex Int 4-bit Device ID set to 0x0 PathID Int Path number range 0x0 0xf Rev Int Revision NumOfEnterirs int Number of RSSI Calibration data entries stored on this annex ThermalPowerRSSIData Thermal_POWER_ Denominator = common denominator RSSI_COMPENSATION_ Numerator cold = Slope numerator for cold temperature range VE Numerator hot = Slope numerator for hot temperature range Band/Subband[7:6] = Band index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband[5:2] = Subband index Back-off value = a static back-off 8-bit signed integer. The scale is 1/16. High temp static back-off is used only for the ePA design for temperatures above 85°C ambient or 95°C read on TSEN. RSSI temp slope numerator bypass = When external LNA is used, this field keeps the RSSI offset temperature slope numerator for external LNA bypass mode. RSSI temp slope numerator normal = RSSI offset temperature slope numerator for normal mode. Return parameters 0 = Dut_Shared_ReadAnnex75DataFromFile_Rev2 return success Nonzero = Dut_Shared_ReadAnnex75DataFromFile_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 104 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.4.3 Dut_Shared_SetAnnexType75Data_Rev2 This API sets the annex 75 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType75Data_Rev2(int DUTIndex, int PathId, int Rev, int NumOfEnterirs, Thermal_POWER_RSSI_COMPENSSTION_VE *ThermalPowerRSSIData); Table 93.Command parameters Parameter Type Description DUTIndex Int 4-bit Device ID set to 0x0 PathID Int Path number range 0x0 0xf Rev Int Revision NumOfEnterirs int Number of RSSI Calibration data entries stored on this annex ThermalPowerRSSIData Thermal_POWER_ Denominator = common denominator RSSI_COMPENSATION_ Numerator cold = Slope numerator for cold temperature range VE Numerator hot = Slope numerator for hot temperature range Band/Subband[7:6] = Band index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband[5:2] = Subband index Back-off value = a static back-off 8-bit signed integer. The scale is 1/16. High temp static back-off is used only for the ePA design for temperatures above 85°C ambient or 95°C read on TSEN. RSSI temp slope numerator bypass = When external LNA is used, this field keeps the RSSI offset temperature slope numerator for external LNA bypass mode. RSSI temp slope numerator normal = RSSI offset temperature slope numerator for normal mode. Return parameters 0 = Dut_Shared_ReadAnnex75DataFromFile_Rev2 return success Nonzero = Dut_Shared_ReadAnnex75DataFromFile_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 105 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.4.4 Dut_Shared_GetAnnexType75Data_Rev2 This API gets the annex 75 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType75Data_Rev2(int DUTIndex, int PathId, int *Rev, int *NumOfEnterirs, Thermal_POWER_RSSI_COMPENSSTION_VE *ThermalPowerRSSIData); Table 94.Command parameters Parameter Type Description DUTIndex Int 4-bit Device ID set to 0x0 PathID Int Path number range 0x0 0xf Rev Int Revision NumOfEnterirs int Number of RSSI Calibration data entries stored on this annex ThermalPowerRSSIData Thermal_POWER_ Denominator = common denominator RSSI_COMPENSATION_ Numerator cold = Slope numerator for cold temperature range VE Numerator hot = Slope numerator for hot temperature range Band/Subband[7:6] = Band index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband[5:2] = Subband index Back-off value = a static back-off 8-bit signed integer. The scale is 1/16. High temp static back-off is used only for the ePA design for temperatures above 85°C ambient or 95°C read on TSEN. RSSI temp slope numerator bypass = When external LNA is used, this field keeps the RSSI offset temperature slope numerator for external LNA bypass mode. RSSI temp slope numerator normal = RSSI offset temperature slope numerator for normal mode. Return parameters 0 = Dut_Shared_GetAnnexType75Data_Rev2 return success Nonzero = Dut_Shared_GetAnnexType75Data_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 106 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.4.5 Dut_Shared_WriteAnnex75DataToFile_Rev2 This API writes the annex 75 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex75DataToFile_Rev2(char *FileName, int DUTIndex, int PathId, int Rev, int NumOfEnterirs, Thermal_POWER_RSSI_COMPENSSTION_VE *ThermalPowerRSSIData); Table 95.Command parameters Parameter Type Description FileName char Filename DUTIndex Int 4-bit Device ID set to 0x0 PathID Int Path number range 0x0 0xf Rev Int Revision NumOfEnterirs int Number of RSSI Calibration data entries stored on this annex ThermalPowerRSSIData Thermal_POWER_ Denominator = common denominator RSSI_COMPENSATION_ Numerator cold = Slope numerator for cold temperature range VE Numerator hot = Slope numerator for hot temperature range Band/Subband[7:6] = Band index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband[5:2] = Subband index Back-off value = a static back-off 8-bit signed integer. The scale is 1/16. High temp static back-off is used only for the ePA design for temperatures above 85°C ambient or 95°C read on TSEN. RSSI temp slope numerator bypass = When external LNA is used, this field keeps the RSSI offset temperature slope numerator for external LNA bypass mode. RSSI temp slope numerator normal = RSSI offset temperature slope numerator for normal mode. Return parameters 0 = Dut_Shared_WriteAnnex75DataToFile_Rev2 return success Nonzero = Dut_Shared_WriteAnnex75DataToFile_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 107 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.5 Thermal crystal Annex 83 13.5.1 Dut_Shared_ReadAnnex83DataFromFile This API reads annex 83 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex83DataFromFile(char *FileName, float *ThirdOrderCoefficient, float *SecondOrderCoefficient, float *FirstOrderCoefficient, float * ConstantCoefficient); Table 96.Command parameters Parameter Type FileName char ThirdOrderCoefficient Float SecondOrderCoefficient Float FirstOrderCoefficient Float ConstantCoefficient Float Description Filename Taken from Taken from Taken from Taken from Return parameters 0 = Dut_Shared_ReadAnnex83DataFromFile return success Nonzero = Dut_Shared_ReadAnnex83DataFromFile return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 108 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.5.2 Dut_Shared_SetAnnexType83Data This API sets the annex 83 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType83Data(float ThirdOrderCoefficient, float SecondOrderCoefficient, float FirstOrderCoefficient, float ConstantCoefficient); Table 97.Command parameters Parameter Type ThirdOrderCoefficient Float SecondOrderCoefficient Float FirstOrderCoefficient Float ConstantCoefficient Float Description Taken from Taken from Taken from Taken from Return parameters 0 = Dut_Shared_SetAnnexType83Data return success Nonzero = Dut_Shared_SetAnnexType83Data return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 109 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.5.3 Dut_Shared_GetAnnexType83Data This API gets the annex 83 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType83Data(float *ThirdOrderCoefficient, float *SecondOrderCoefficient, float *FirstOrderCoefficient, float *ConstantCoefficient); Table 98.Command parameters Parameter Type ThirdOrderCoefficient Float SecondOrderCoefficient Float FirstOrderCoefficient Float ConstantCoefficient Float Description Taken from Taken from Taken from Taken from Return parameters 0 = Dut_Shared_GetAnnexType83Data return success Nonzero = Dut_Shared_GetAnnexType83Data return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 110 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.5.4 Dut_Shared_WriteAnnex83DataToFile This API writes the annex 83 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex83DataToFile(char *FileName,float ThirdOrderCoefficient, float SecondOrderCoefficient, float FirstOrderCoefficient, float ConstantCoefficient); Table 99.Command parameters Parameter Type FileName char ThirdOrderCoefficient Float SecondOrderCoefficient Float FirstOrderCoefficient Float ConstantCoefficient Float Description Filename Taken from Taken from Taken from Taken from Return parameters 0 = Dut_Shared_WriteAnnex83DataToFile return success Nonzero = Dut_Shared_WriteAnnex83DataToFile return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 111 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.6 FEM configuration Annex 90 Front-end modules (FEM) are configured with Annex 90. 13.6.1 Structures The following structures are stored in Annex 90. typedef struct FEM_FrontEnd { WORD FrontEnd; }FEM_FrontEnd; #define FEMFrontEndNum 20 typedef struct FEM_DATA_R4_VF { WORD AntOperationMode; WORD Reserved; FEM_FrontEnd FrontEnd[FEMFrontEndNum]; }FEM_DATA_R4_VF; AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 112 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.6.2 Dut_Shared_ReadAnnex90DataFromFile_W909X This API reads annex 90 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex90DataFromFile_W909X(char *FileName, int *pNumOfEnterirs, int *pFEMRev, int *pFEMCap, int *pFEMConcurrency, int *pFEM2G_TVXR_A_Mask, int *pFEM2G_TVXR_B_Mask, int *pFEM5G_TVXR_A_Mask, int *pFEM5G_TVXR_B_Mask, int *pFEM2G_AntDivMask, int *pFEM5G_AntDivMask, FEM_DATA_R4_VF *pData); Table 100.Command parameters Parameter Type FileName char pNumOfEnterirs Int pFEMRev Int pFEMCap Int pFEMConcurrency Int Description Filename Number of FEM data entries Revision FEM capability information 0 = 2G capable 1 = 5 GHz capable 2 = Use internal Bluetooth 3 = Bluetooth location feature · 0 = disabled · 1 = enabled 4 = Use external 2.4 GHz LNA 5 = Use external 5 GHz LNA 6 = Reserved 7 = Use external 5 GHz PA 2.4 GHz 2x2 + Bluetooth Concurrent Capabilities [3:0] [0] = Wi-Fi 2x2 TX + Bluetooth TX and RX concurrent allowed [1] = Wi-Fi 1x2 or 2x2 RX + Bluetooth TX concurrent allowed [2] = Wi-Fi 1x2 or 2x2 RX + Bluetooth RX concurrent allowed [3] = Wi-Fi 1x1 or 1x2 TX + Bluetooth TX and RX concurrent allowed pFEM2G_TVXR_A_Mask pFEM2G_TVXR_B_Mask pFEM5G_TVXR_A_Mask pFEM5G_TVXR_B_Mask pFEM2G_AntDivMask pFEM5G_AntDivMask pData Int Int Int Int Int Int FEM_DATA_ R4_VF 2.4 GHz 1x1 + Bluetooth concurrent capabilities [7:4] [4] = Wi-Fi TX + Bluetooth TX concurrent allowed [5] = Wi-Fi TX + Bluetooth RX concurrent allowed [6] = Wi-Fi RX + Bluetooth TX concurrent allowed [7] = Wi-Fi RX + Bluetooth RX concurrent allowed 16-bit RF control line bit mask for 2.4 GHz TVXR 16-bit RF control line bit mask for 2.4 GHz TVXR 16-bit RF control line bit mask for 5 GHz TVXR 16-bit RF control line bit mask for 5 GHz TVXR 16-bit antenna diversity RF control line flip mask 16-bit antenna diversity RF control line flip mask FEM configuration data contain antenna operation mode and front end Return parameters 0 = Dut_Shared_ReadAnnex90DataFromFile_W909X return success Nonzero = Dut_Shared_ReadAnnex90DataFromFile_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 113 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.6.3 Dut_Shared_SetAnnexType90Data_W909X This API sets Annex 90 data values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType90Data_W909X(int NumOfEnterirs, int FEMRev, int FEMCap, int FEMConcurrency, int FEM2G_TVXR_A_Mask, int FEM2G_TVXR_B_Mask, int FEM5G_TVXR_A_Mask, int FEM5G_TVXR_B_Mask, int FEM2G_AntDivMask, int FEM5G_AntDivMask, FEM_DATA_R4_VF *pData); Table 101.Command parameters Parameter Type pNumOfEnterirs Int pFEMRev Int pFEMCap Int pFEMConcurrency Int Description Number of FEM data entries Revision FEM capability information 0 = 2.4 GHz capable 1 = 5 GHz capable 2 = Use internal Bluetooth 3 = Bluetooth location feature · 0 = disabled · 1 = enabled 4 = Use external 2.4 GHz LNA 5 = Use external 5 GHz LNA 6 = Reserved 7 = Use external 5 GHz PA 2.4 GHz 2x2 + Bluetooth concurrent capabilities [3:0] [0] = Wi-Fi 2x2 TX + Bluetooth TX and RX concurrent allowed [1] = Wi-Fi 1x2 or 2x2 RX + Bluetooth TX concurrent allowed [2] = Wi-Fi 1x2 or 2x2 RX + Bluetooth RX concurrent allowed [3] = Wi-Fi 1x1 or 1x2 TX + Bluetooth TX and RX concurrent allowed pFEM2G_TVXR_A_Mask pFEM2G_TVXR_B_Mask pFEM5G_TVXR_A_Mask pFEM5G_TVXR_B_Mask pFEM2G_AntDivMask pFEM5G_AntDivMask pData Int Int Int Int Int Int FEM_DATA_ R4_VF 2.4 GHz 1x1+Bluetooth concurrent capabilities [7:4] [4] = Wi-Fi TX + Bluetooth TX concurrent allowed [5] = Wi-Fi TX + Bluetooth RX concurrent allowed [6] = Wi-Fi RX + Bluetooth TX concurrent allowed [7] = Wi-Fi RX + Bluetooth RX concurrent allowed 16-bit RF control line bit mask for 2.4 GHz TVXR 16-bit RF control line bit mask for 2.4 GHz TVXR 16-bit RF control line bit mask for 5 GHz TVXR 16-bit RF control line bit mask for 5 GHz TVXR 16-bit antenna diversity RF control line flip mask 16-bit antenna diversity RF control line flip mask FEM configuration data contain antenna operation mode and front end Return parameters 0 = Dut_Shared_SetAnnexType90Data_W909X return success Nonzero = Dut_Shared_SetAnnexType90Data_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 114 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.6.4 Dut_Shared_GetAnnexType90Data_W909X This API gets Annex 90 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType90Data_W909X(int *pNumOfEnterirs, int *pFEMRev, int *pFEMCap, int *pFEMConcurrency, int *pFEM2G_TVXR_A_Mask, int *pFEM2G_TVXR_B_Mask, int *pFEM5G_TVXR_A_Mask, int *pFEM5G_TVXR_B_Mask, int *pFEM2G_AntDivMask, int *pFEM5G_AntDivMask, FEM_DATA_R4_VF *pData); Table 102.Command parameters Parameter Type pNumOfEnterirs Int pFEMRev Int pFEMCap Int pFEMConcurrency Int Description Number of FEM data entries Revision FEM capability information 0 = 2.4 GHz capable 1 = 5 GHz capable 2 = Use internal Bluetooth 3 = Bluetooth location feature · 0 = disabled · 1 = enabled 4 = Use external 2.4 GHz LNA 5 = Use external 5 GHz LNA 6 = Reserved 7 = Use external 5 GHz PA 2.4 GHz 2x2 + Bluetooth concurrent capabilities [3:0] [0] = Wi-Fi 2x2 TX + Bluetooth TX and RX concurrent allowed [1] = Wi-Fi 1x2 or 2x2 RX + Bluetooth TX concurrent allowed [2] = Wi-Fi 1x2 or 2x2 RX + Bluetooth RX concurrent allowed [3] = Wi-Fi 1x1 or 1x2 TX + Bluetooth TX and RX concurrent allowed pFEM2G_TVXR_A_Mask pFEM2G_TVXR_B_Mask pFEM5G_TVXR_A_Mask pFEM5G_TVXR_B_Mask pFEM2G_AntDivMask pFEM5G_AntDivMask pData Int Int Int Int Int Int FEM_DATA_ R4_VF 2.4 GHz 1x1 + Bluetooth concurrent capabilities [7:4] [4] = Wi-Fi TX + Bluetooth TX concurrent allowed [5] = Wi-Fi TX + Bluetooth RX concurrent allowed [6] = Wi-Fi RX + Bluetooth TX concurrent allowed [7] = Wi-Fi RX + Bluetooth RX concurrent allowed 16 bits RF control line bit mask for 2.4 GHz TVXR 16 bits RF control line bit mask for 2.4 GHz TVXR 16 bits RF control line bit mask for 5 GHz TVXR 16 bits RF control line bit mask for 5 GHz TVXR 16 bits antenna diversity RF control line flip mask 16 bits antenna diversity RF control line flip mask FEM configuration data contain antenna operation mode and front end Return parameters 0 = Dut_Shared_GetAnnexType90Data_W909X return success Nonzero = Dut_Shared_GetAnnexType90Data_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 115 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.6.5 Dut_Shared_WriteAnnex90DataToFile_W909X This API writes the annex 90 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex90DataToFile_W909X(char *FileName, int NumOfEnterirs, int FEMRev, int FEMCap, int FEMConcurrency, int FEM2G_TVXR_A_Mask, int FEM2G_TVXR_B_Mask, int FEM5G_TVXR_A_Mask, int FEM5G_TVXR_B_Mask, int FEM2G_AntDivMask, int FEM5G_AntDivMask, FEM_DATA_R4_VF *pData); Table 103.Command parameters Parameter Type pNumOfEnterirs Int pFEMRev Int pFEMCap Int pFEMConcurrency Int Description Number of FEM data entries Revision FEM capability information 0 = 2.4 GHz capable 1 = 5 GHz capable 2 = Use internal Bluetooth 3 = Bluetooth location feature · 0 = disabled · 1 = enabled 4 = Use external 2.4 GHz LNA 5 = Use external 5 GHz LNA 6 = Reserved 7 = Use external 5 GHz PA 2.4 GHz 2x2 + Bluetooth concurrent capabilities [3:0] [0] = Wi-Fi 2x2 TX + Bluetooth TX and RX concurrent allowed [1] = Wi-Fi 1x2 or 2x2 RX + Bluetooth TX concurrent allowed [2] = Wi-Fi 1x2 or 2x2 RX + Bluetooth RX concurrent allowed [3] = Wi-Fi 1x1 or 1x2 TX + Bluetooth TX and RX concurrent allowed pFEM2G_TVXR_A_Mask pFEM2G_TVXR_B_Mask pFEM5G_TVXR_A_Mask pFEM5G_TVXR_B_Mask pFEM2G_AntDivMask pFEM5G_AntDivMask pData Int Int Int Int Int Int FEM_DATA_ R4_VF 2.4 GHz 1x1 + Bluetooth concurrent capabilities [7:4] [4] = Wi-Fi TX + Bluetooth TX concurrent allowed [5] = Wi-Fi TX + Bluetooth RX concurrent allowed [6] = Wi-Fi RX + Bluetooth TX concurrent allowed [7] = Wi-Fi RX + Bluetooth RX concurrent allowed 16-bit RF control line bit mask for 2.4 GHz TVXR 16-bit RF control line bit mask for 2.4 GHz TVXR 16-bit RF control line bit mask for 5 GHz TVXR 16-bit RF control line bit mask for 5 GHz TVXR 16-bit antenna diversity RF control line flip mask 16-bit antenna diversity RF control line flip mask FEM configuration data contain antenna operation mode and front end Return parameters 0 = Dut_Shared_WriteAnnex90DataToFile_W909X return success Nonzero = Dut_Shared_WriteAnnex90DataToFile_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 116 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.7 TX power table Annex 97 TX power table information is stored in annex 97. 13.7.1 Structures The following structures are stored in Annex 97. typedef struct TX_POWER_CAL_OPTION_VF { BYTE PowerControlMethod:2; //[1:0] BYTE ExternalPAPowerDetectPolar:1; BYTE UsePolynomialData:1; //[3] BYTE Reserved:4; //[7:4] }TX_POWER_CAL_OPTION_VF; //[2] typedef struct TX_POWER_SE_SUB { DWORD Temperature:10; //Bit[9:0]; DWORD PWRLevelBMRF0:10; //Bit[19:10]; DWORD PWRLevelBMRF1:10; //Bit[29:20]; DWORD Reserve1:2; //Bit[31:30]; DWORD PWRLevelBMRF2:10; //Bit[9:0]; DWORD PWRLevelBMRF3:10; //Bit[19:10]; DWORD PWRLevelBMRF4:10; //Bit[29:20]; DWORD Reserve2:2; //Bit[31:30]; DWORD PWRLevelBMRF5:10; //Bit[9:0]; DWORD PWRLevelBMRF6:10; //Bit[19:10]; DWORD PWRLevelBMRF7:10; //Bit[29:20]; DWORD Reserve3:2; //Bit[31:30]; }TX_POWER_SE_SUB; typedef struct TX_POWER_SE { BYTE PwrDetOffset; //Byte 0 BYTE NumerOfBM; WORD ChannelNum:10; //Byte 3-2 ,[9:0] WORD SubBandIndex:4; //Byte 3-2 ,[13:10] WORD BandId:2; //Byte 3-2 ,[15:14] }TX_POWER_SE; AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 117 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.7.2 Dut_Shared_ReadAnnex97DataFromFile_W909X This API reads annex 97 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex97DataFromFile_W909X(char *FileName, int DUTIndex, int PathId, TX_POWER_CAL_OPTION_VF *CalOption, int *NumOfEnterirs, TX_POWER_SE *TX_PowerData, int *pTraTempThr); Table 104.Command parameters Parameter Type FileName char DUTIndex Int PathID Int CalOption TX_POWER_CAL_ OPTION_VF NumOfEnterirs Tx_PowerData pTraTempThr int TX_POWER_SE Int Description Filename 4-bit Device ID set to 0x0 path number range 0x0 0xf Bit[0-1] = power control method 0x0 = close loop power control 0x01 = open loop power control Bit[2] = external PA power detector polarization 0 = positive 1 = negative Bit[3] = Use annex 78 power polynomial data 0 = not in use 1 = to use Number of power table entries stored on this annex TX power data containing power detector offset, number of BM, Channel number Subband index, Band ID Temperature threshold Return parameters 0 = Dut_Shared_ReadAnnex97DataFromFile_W909X return success Nonzero = Dut_Shared_ReadAnnex97DataFromFile_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 118 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.7.3 Dut_Shared_SetAnnexType97Data_W909X This API sets the annex 97 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType97Data_W909X(int DUTIndex, int PathId, TX_POWER_CAL_OPTION_VF *CalOption, int NumOfEnterirs, TX_POWER_SE *TX_PowerData, TX_POWER_SE_SUB *BM_Data, int TraTempThr); Table 105.Command parameters Parameter Type DUTIndex Int PathID Int CalOption TX_POWER_CAL_ OPTION_VF NumOfEnterirs Tx_PowerData BM_Data TraTempThr int TX_POWER_SE TX_POWER_SE_ SUB Int Description 4-bit device ID set to 0x0 path number range 0x0 0xf Bit[0-1] = power control method 0x0 = close loop power control 0x01 = open loop power control Bit[2] = external PA power detector polarization 0 = positive 1 = negative Bit[3] = Use annex 78 power polynomial data 0 = not in use 1 = to use Number of power table entries stored on this annex TX power data containing power detector offset, number of BM, Channel number Subband index, Band ID Defined Power levels 0 - 7 Temperature threshold Return parameters 0 = Dut_Shared_SetAnnexType97Data_W909X return success Nonzero = Dut_Shared_SetAnnexType97Data_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 119 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.7.4 Dut_Shared_GetAnnexType97Data_W909X This API gets the annex 97 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType97Data_W909X(int DUTIndex, int PathId, TX_POWER_CAL_OPTION_VF *CalOption, int *NumOfEnterirs, TX_POWER_SE *TX_PowerData, TX_POWER_SE_SUB *BM_Data, int *pTraTempThr); Table 106.Command parameters Parameter Type DUTIndex Int PathID Int CalOption TX_POWER_CAL_ OPTION_VF NumOfEnterirs Tx_PowerData BM_Data TraTempThr int TX_POWER_SE TX_POWER_SE_ SUB Int Description 4-bit device ID set to 0x0 path number range 0x0 0xf Bit[0-1] = power control method 0x0 = close loop power control 0x01 = open loop power control Bit[2] = external PA power detector polarization 0 = positive 1 = negative Bit[3] = Use annex 78 power polynomial data 0 = not in use 1 = to use Number of power table entries stored on this annex TX power data containing power detector offset, number of BM, Channel number Subband index, Band ID Defined Power levels 0 - 7 Temperature threshold Return parameters 0 = Dut_Shared_GetAnnexType97Data_W909X return success Nonzero = Dut_Shared_GetAnnexType97Data_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 120 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.7.5 Dut_Shared_WriteAnnex97DataToFile_W909X This API writes the annex 97 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex97DataToFile_W909X(char *FileName, int DUTIndex, int PathId, TX_POWER_CAL_OPTION_VF *CalOption, int NumOfEnterirs, TX_POWER_SE *TX_PowerData, int TraTempThr); Table 107.Command parameters Parameter Type FileName char DUTIndex Int PathID Int CalOption TX_POWER_CAL_ OPTION_VF NumOfEnterirs Tx_PowerData BM_Data TraTempThr int TX_POWER_SE TX_POWER_SE_ SUB Int Description Filename 4-bit Device ID set to 0x0 path number range 0x0 0xf Bit[0-1] = power control method 0x0 = close loop power control 0x01 = open loop power control Bit[2] = external PA power detector polarization 0 = positive 1 = negative Bit[3] = Use annex 78 power polynomial data 0 = not in use 1 = to use Number of power table entries stored on this annex TX power data containing power detector offset, number of BM, Channel number Subband index, Band ID Defined Power levels 0 - 7 Temperature threshold Return parameters 0 = Dut_Shared_WriteAnnex97DataToFile_W909X return success Nonzero = Dut_Shared_WriteAnnex97DataToFile_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 121 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.8 RSSI offset Annex 98 13.8.1 Structures This structure is stored in Annex 75. typedef struct RSSI_CAL_SE { DWORD ELNA_LO_ILNA_HI_Mode:5; //[4:0] DWORD ELNA_HI_ILNA_HI_Mode:5; //[5:9] DWORD ELNA_LO_ILNA_LO_Mode:5; //[10:14] DWORD ELNA_HI_ILNA_LO_Mode:5; //[15:19] DWORD RSSICalOffSet:6; //[20:25] DWORD CAL_SubBandID:4;; //[26:29] DWORD CAL_BandID:2; //[30:31] } RSSI_CAL_SE; AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 122 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.8.2 Dut_Shared_ReadAnnex98DataFromFile_W909X This API reads annex 98 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex98DataFromFile_W909X(char *FileName, int DUTIndex, int PathId, int *NumOfEnterirs, RSSI_CAL_SE *RSSIData); Table 108.Command parameters Parameter Type FileName char DUTIndex Int PathID Int NumOfEnterirs RSSIData Int RSSI_CAL_SE Description Filename 4-bit device ID set to 0x0 Path number range 0x0 0xf Number of RSSI Cal Entries See Table 74 "RSSI calibration data entries". Band/Subband Bit [7:6] = Band Index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband Bit [5:2] = Subband Index RSSI Cal E-LNA HIGH, I-LNA HIGH mode = RSSI calibration data for high external LNA gain, high internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA LOW, I-LNA HIGH mode = RSSI calibration data for low external LNA gain, high internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA HIGH, I-LNA LOW mode = RSSI calibration data for high external LNA gain, low internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA LOW, I-LNA LOW mode = RSSI calibration data for low external LNA gain, low internal LNA gain mode. The value is in 0.5dB step. RSSI Cal Common offset = if any of the above cal values are outside the [-8, 7.5] dB range, write the average here and the deviations from average into the other RSSI cal entries. The resolution is 1dB. Return parameters 0 = Dut_Shared_ReadAnnex98DataFromFile_W909X return success Nonzero = Dut_Shared_ReadAnnex98DataFromFile_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 123 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.8.3 Dut_Shared_SetAnnexType98Data_W909X This API sets the annex 98 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType98Data_W909X(int DUTIndex, int PathId, int NumOfEnterirs, RSSI_CAL_SE *RSSIData); Table 109.Command parameters Parameter Type DUTIndex Int PathID Int NumOfEnterirs RSSIData Int RSSI_CAL_SE Description 4-bit device ID set to 0x0 Path number range 0x0 0xf Number of RSSI Cal Entries See Table 74 "RSSI calibration data entries". Band/Subband Bit [7:6] = Band Index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband Bit [5:2] = Subband Index RSSI Cal E-LNA HIGH, I-LNA HIGH mode = RSSI calibration data for high external LNA gain, high internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA LOW, I-LNA HIGH mode = RSSI calibration data for low external LNA gain, high internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal E-LNA HIGH, I-LNA LOW mode = RSSI calibration data for high external LNA gain, low internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA LOW, I-LNA LOW mode = RSSI calibration data for low external LNA gain, low internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal Common offset = if any of the above cal values are outside the [-8, 7.5] dB range: write the average here and the deviations from average into the other RSSI cal entries. The resolution is 1 dB. Return parameters 0 = Dut_Shared_SetAnnexType98Data_W909X return success Nonzero = Dut_Shared_SetAnnexType98Data_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 124 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.8.4 Dut_Shared_GetAnnexType98Data_W909X This API gets the annex 98 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType98Data_W909X(int DUTIndex, int PathId, int *NumOfEnterirs, RSSI_CAL_SE *RSSIData); Table 110.Command parameters Parameter Type DUTIndex Int PathID Int NumOfEnterirs RSSIData Int RSSI_CAL_SE Description 4-bit device ID set to 0x0 Path number range 0x0 0xf Number of RSSI Cal Entries See Table 74 "RSSI calibration data entries". Band/Subband Bit [7:6] = Band Index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband Bit [5:2] = Subband Index RSSI Cal E-LNA HIGH, I-LNA HIGH mode = RSSI calibration data for high external LNA gain, high internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal E-LNA LOW, I-LNA HIGH mode = RSSI calibration data for low external LNA gain, high internal LNA gain mode. The value is in 0.5dB step. RSSI Cal E-LNA HIGH, I-LNA LOW mode = RSSI calibration data for high external LNA gain, low internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal E-LNA LOW, I-LNA LOW mode = RSSI calibration data for low external LNA gain, low internal LNA gain mode. The value is in 0.5dB step. RSSI Cal Common offset = if any of the above cal values are outside the [-8, 7.5] dB range, write the average here and the deviations from average into the other RSSI cal entries. The resolution is 1 dB. Return parameters 0 = Dut_Shared_GetAnnexType98Data_W909X return success Nonzero = Dut_Shared_GetAnnexType98Data_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 125 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.8.5 Dut_Shared_WriteAnnex98DataToFile_W909X This API writes the annex 98 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex98DataToFile_W909X(char *FileName, int DUTIndex, int PathId, int NumOfEnterirs, RSSI_CAL_SE *RSSIData); Table 111.Command parameters Parameter Type FileName char DUTIndex s Int PathID Int NumOfEnterirs RSSIData Int RSSI_CAL_SE Description Filename 4-bit device ID set to 0x0 Path number range 0x0 0xf Number of RSSI Cal Entries See Table 74 "RSSI calibration data entries". Band/Subband Bit [7:6] = Band Index 0b00 = 2.4 GHz band 0b01 = 5 GHz band 0b10 = Reserved 0b11 = Reserved Band/Subband Bit [5:2] = Subband Index RSSI Cal E-LNA HIGH, I-LNA HIGH mode = RSSI calibration data for high external LNA gain, high internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal E-LNA LOW, I-LNA HIGH mode = RSSI calibration data for low external LNA gain, high internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal E-LNA HIGH, I-LNA LOW mode = RSSI calibration data for high external LNA gain, low internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal E-LNA LOW, I-LNA LOW mode = RSSI calibration data for low external LNA gain, low internal LNA gain mode. The value is in 0.5 dB step. RSSI Cal Common offset = if any of the above cal values are outside the [-8, 7.5] dB range, write the average here and the deviations from average into the other RSSI cal entries. The resolution is 1 dB. Return parameters 0 = Dut_Shared_WriteAnnex98DataToFile_W909X return success Nonzero = Dut_Shared_WriteAnnex98DataToFile_W909X return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 126 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.9 Antenna isolation Annex 99 Antenna isolation information is stored in annex 99. 13.9.1 Structures The following structures are stored in Annex 99. typedef struct ANT_ISOLATION_DATA_VF { WORD TechA:4; //[3:0] WORD AntA:4; //[7:4] WORD TechB:4; //[11:8] WORD AntB:4; //[15:12] BYTE Isolation; BYTE Reserved; } ANT_ISOLATION_DATA_VF; //Annex 99 Antenna Isolation Annex Rev 1 typedef struct ANNEX_TYPE_99_ANT_ISOLATION_DATA { ANNEX_TYPE_HEADER_COMMON typeHdr; BYTE Revision; BYTE NumOfEnterirs; WORD Num_WLAN_Ant:4; //[3:0] WORD Num_BT_Ant:4; //[7:4] WORD Num_ZB_Ant:4; //[11:8] WORD Reserved:4; //[15:12] DWORD Ant_Sharing_Info; ANT_ISOLATION_DATA_VF Data[0]; }ANNEX_TYPE_99_ANT_ISOLATION_DATA; AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 127 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.9.2 Dut_Shared_ReadAnnex99DataFromFile This API reads annex 99 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex99DataFromFile(char *FileName, int *pNumOfEnterirs, int *pRevision, int *pNumWLANAnt, int *pNumBTAnt, int *pNumZBAnt, DWORD *pAnt_Sharing_Info, ANT_ISOLATION_DATA_VF *pIsolationData); Table 112.Command parameters Parameter Type FileName char pNumOfEnterirs Int pRevision Int pNumWLANAnt Int pNumBTAnt Int pNumZBAnt Int pAnt_Sharing_Info Double word pIsolationData ANT_ISOLATION_DATA_VF Description Filename Number of Isolation data entries in this annex Revision of structure 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio If Bit 7:0 are zero, then no shared LNA. If Bit 15:8 are zero, all antennas are separate. Default = 255 dB Range of 255 dB [31:24] = reserved [23:16] = isolation value, range 0 255 dB, default = 255 dB [15 :12] = ANT B ID for Tech B [11 :8] = Tech B · 0 = Wi-Fi · 1 = Bluetooth/Bluetooth LE · 2 = 802.15.4 [7 :4] = ANT A ID for Tech A Return parameters 0 = Dut_Shared_ReadAnnex99DataFromFile return success Nonzero = Dut_Shared_ReadAnnex99DataFromFile return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 128 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.9.3 Dut_Shared_SetAnnexType99Data This API sets the annex 99 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType99Data(int NumOfEnterirs, int Revision, int NumWLANAnt, int NumBTAnt, int NumZBAnt, DWORD Ant_Sharing_Info, ANT_ISOLATION_DATA_VF *pIsolationData); Table 113.Command parameters Parameter Type pNumOfEnterirs Int pRevision Int pNumWLANAnt Int pNumBTAnt Int pNumZBAnt Int pAnt_Sharing_Info Double word pIsolationData ANT_ISOLATION_DATA_VF Description Number of Isolation data entries in this annex Revision of structure 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio If Bit 7:0 are zero, then no shared LNA. If Bit 15:8 are zero, all antennas are separate. Default = 255 dB Range of 255 dB [31:24] = reserved [23:16] = isolation value, range 0 255 dB, default = 255 dB [15:12] = ANT B ID for Tech B [11:8] = Tech B · 0 = Wi-Fi · 1 = Bluetooth/Bluetooth LE · 2 = 802.15.4 [7:4] = ANT A ID for Tech A Return parameters 0 = Dut_Shared_SetAnnexType99Data return success Nonzero = Dut_Shared_SetAnnexType99Data return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 129 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.9.4 Dut_Shared_GetAnnexType99Data This API gets the annex 99 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType99Data(int *pNumOfEnterirs, int *pRevision, int *pNumWLANAnt, int *pNumBTAnt, int *pNumZBAnt, DWORD *pAnt_Sharing_Info, ANT_ISOLATION_DATA_VF *pIsolationData); Table 114.Command parameters Parameter Type pNumOfEnterirs Int pRevision Int pNumWLANAnt Int pNumBTAnt Int pNumZBAnt Int pAnt_Sharing_Info Double word pIsolationData ANT_ISOLATION_DATA_VF Description Number of Isolation data entries in this annex Revision of structure 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio If Bit 7:0 are zero, then no shared LNA. If Bit 15:8 are zero, all antennas are separate. Default = 255 dB Range of 255 dB [31:24] = reserved [23:16] = isolation value, range 0 255 dB, default = 255 dB [15 :12] = ANT B ID for Tech B [11 :8] = Tech B · 0 = Wi-Fi · 1 = Bluetooth/Bluetooth LE · 2 = 802.15.4 [7 :4] = ANT A ID for Tech A Return parameters 0 = Dut_Shared_GetAnnexType99Data return success Nonzero = Dut_Shared_GetAnnexType99Data return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 130 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.9.5 Dut_Shared_WriteAnnex99DataToFile This API writes the annex 55 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex99DataToFile(char *FileName, int NumOfEnterirs, int Revision, int NumWLANAnt, int NumBTAnt, int NumZBAnt, DWORD Ant_Sharing_Info, ANT_ISOLATION_DATA_VF *pIsolationData); Table 115.Command parameters Parameter Type pNumOfEnterirs Int pRevision Int pNumWLANAnt Int pNumBTAnt Int pNumZBAnt Int pAnt_Sharing_Info Double word pIsolationData ANT_ISOLATION_DATA_VF IsolationData ANT_ISOLATION_DATA_VF Description Number of Isolation data entries in this annex Revision of structure 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio 4-bit value Maximum 16 antennas per radio If Bit 7:0 are zero, then no shared LNA. If Bit 15:8 are zero, all antennas are separate. Default = 255 dB Range of 255 dB [31:24] = reserved [23:16] = isolation value, range 0 255 dB, default = 255 dB [15 :12] = ANT B ID for Tech B [11 :8] = Tech B · 0 = Wi-Fi · 1 = Bluetooth/Bluetooth LE · 2 = 802.15.4 [7 :4] = ANT A ID for Tech A Return parameters 0 = Dut_Shared_WriteAnnex99DataToFile return success Nonzero = Dut_Shared_WriteAnnex99DataToFile return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 131 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.10 Bluetooth hardware Annex 100 13.10.1 Dut_Shared_ReadAnnex100DataFromFile_Rev2 This API reads annex 100 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex100DataFromFile_Rev2(char *FileName, BYTE *pEPA_Present, BYTE *pEPA_Gain, WORD *pEPA_FEM_Mask, BYTE *pELNA_Present, BYTE *pELNA_Gain, WORD *pELNA_FEM_Mask, BYTE *pEANT_Present, BYTE *pANT_Gain); Table 116.Command parameters Parameter Type FileName byte pEPA_Present byte pEPA_Gain byte pEPA_FEM_Mask word pELNA_Present byte pELNA_Gain byte pELNA_FEM_Mask word pEANT_Present byte pANT_Gain byte Description Filename 0 = External PA gain is not present 1 = External PA gain is present External PA gain in dB Bit[7:1] Defines the state of RF control line for TX through PA Bit[15:0] 0 = External LNA gain is not present 1 = External LNA gain is present External LNA gain in dB Bit[7:1] Defines the state of RF control line for RX through LNA Bit[15:0] 0 = External antenna gain is not present 1 = External antenna gain is present Specifies the external antenna gain in 0.5 dB step Bit[4:1] Return parameters 0 = Dut_Shared_ReadAnnex100DataFromFile_Rev2 return success Nonzero = Dut_Shared_ReadAnnex100DataFromFile_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 132 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.10.2 Dut_Shared_SetAnnexType100Data_Rev2 This API sets the annex 100 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType100Data_Rev2(BYTE EPA_Present, BYTE EPA_Gain, WORD EPA_FEM_Mask, BYTE ELNA_Present, BYTE ELNA_Gain, WORD ELNA_FEM_Mask, BYTE EANT_Present, BYTE EANT_Gain); Table 117.Command parameters Parameter Type FileName byte pEPA_Present byte pEPA_Gain byte pEPA_FEM_Mask word pELNA_Present byte pELNA_Gain byte pELNA_FEM_Mask word pEANT_Present byte pANT_Gain byte Description Filename 0 = External PA gain is not present 1 = External PA gain is present External PA gain in dB Bit[7:1] Defines the state of RF control line for TX through PA Bit[15:0] 0 = External LNA gain is not present 1 = External LNA gain is present External LNA gain in dB Bit[7:1] Defines the state of RF control line for RX through LNA Bit[15:0] 0 = External antenna gain is not present 1 = External antenna gain is present Specifies the external antenna gain in 0.5 dB step Bit[4:1] Return parameters 0 = Dut_Shared_ReadAnnex100DataFromFile_Rev2 return success Nonzero = Dut_Shared_ReadAnnex100DataFromFile_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 133 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.10.3 Dut_Shared_GetAnnexType100Data_Rev2 This API gets the annex 100 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType100Data_Rev2(BYTE *pEPA_Present, BYTE *pEPA_Gain, WORD *pEPA_FEM_Mask, BYTE *pELNA_Present, BYTE *pELNA_Gain, WORD *pELNA_FEM_Mask, BYTE *pEANT_Present, BYTE *pEANT_Gain); Table 118.Command parameters Parameter Type pEPA_Present byte pEPA_Gain byte pEPA_FEM_Mask word pELNA_Present byte pELNA_Gain byte pELNA_FEM_Mask word pEANT_Present byte pANT_Gain byte Description 0 = External PA gain is not present 1 = External PA gain is present External PA gain in dB Bit[7:1] Defines the state of RF control line for TX through PA Bit[15:0] 0 = External LNA gain is not present 1 = External LNA gain is present External LNA gain in dB Bit[7:1] Defines the state of RF control line for RX through LNA Bit[15:0] 0 = External antenna gain is not present 1 = External antenna gain is present Specifies the external antenna gain in 0.5 dB step Bit[4:1] Return parameters 0 = Dut_Shared_GetAnnexType100Data_Rev2 return success Nonzero = Dut_Shared_GetAnnexType100Data_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 134 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.10.4 Dut_Shared_WriteAnnex100DataToFile_Rev2 This API writes the annex 100 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex100DataToFile_Rev2(char *FileName, BYTE EPA_Present, BYTE EPA_Gain, WORD EPA_FEM_Mask, BYTE ELNA_Present, BYTE ELNA_Gain, WORD ELNA_FEM_Mask, BYTE EANT_Present, BYTE EANT_Gain); Table 119.Command parameters Parameter Type FileName char pEPA_Present byte pEPA_Gain byte pEPA_FEM_Mask word pELNA_Present byte pELNA_Gain byte pELNA_FEM_Mask word pEANT_Present byte pANT_Gain byte Description Filename 0 = External PA gain is not present 1 = External PA gain is present External PA gain in dB Bit[7:1] Defines the state of RF control line for TX through PA Bit[15:0] 0 = External LNA gain is not present 1 = External LNA gain is present External LNA gain in dB Bit[7:1] Defines the state of RF control line for RX through LNA Bit[15:0] 0 = External antenna gain is not present 1 = External antenna gain is present Specifies the external antenna gain in 0.5 dB step Bit[4:1] Return parameters 0 = Dut_Shared_WriteAnnex100DataToFile_Rev2 return success Nonzero = Dut_Shared_WriteAnnex100DataToFile_Rev2 return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 135 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.11 configuration Annex 104 13.11.1 Dut_Shared_ReadAnnex104DataFromFile This API reads annex 104 values from a file. DUT_SHARED_API int STDCALL Dut_Shared_ReadAnnex104DataFromFile(char *FileName, BYTE *Version, BYTE *TxPowerLimit, BYTE _15_4_Addr[SIZE_15_4_ADDRESS_INBYTE]); Table 120.Command parameters Parameter Type FileName char Version byte TxPowerLimit byte _15_4_Addr byte Description Filename Version Tx power clamp applied to IEEE 802.15.4 0x00 = no Tx power clamp is applied 0x14 = limit Tx power to 10 dBm (for regulatory purposes) Set to max Tx power with 0.5 dBm granularity 802.15.4 EUI 64 MAC address Most significant byte = EUI64[7] Least significant byte = EUI64[0] Return parameters 0 = Dut_Shared_ReadAnnex104DataFromFile return success Nonzero = Dut_Shared_ReadAnnex104DataFromFile return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 136 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.11.2 Dut_Shared_SetAnnexType104Data This API sets the annex 104 values. DUT_SHARED_API int STDCALL Dut_Shared_SetAnnexType104Data(BYTE Version, BYTE TxPowerLimit, BYTE _15_4_Addr[SIZE_15_4_ADDRESS_INBYTE]); Table 121.Command parameters Parameter Type Version byte TxPowerLimit byte _15_4_Addr byte Description Version Tx power clamp applied to IEEE 802.15.4 0x00 = no Tx power clamp is applied 0x14 = limit Tx power to 10 dBm (for regulatory purposes) Set to max Tx power with 0.5 dBm granularity 802.15.4 EUI 64 MAC address Most significant byte = EUI64[7] Least significant byte = EUI64[0] Return parameters 0 = Dut_Shared_SetAnnexType104Data return success Nonzero = Dut_Shared_SetAnnexType104Data return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 137 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.11.3 Dut_Shared_GetAnnexType104Data This API gets the annex 104 data. DUT_SHARED_API int STDCALL Dut_Shared_GetAnnexType104Data(BYTE *Version, BYTE *TxPowerLimit, BYTE _15_4_Addr[SIZE_15_4_ADDRESS_INBYTE]); Table 122.Command parameters Parameter Type Version byte _15_4_Addr byte Description Version 802.15.4 EUI 64 MAC address Most significant byte = EUI64[7] Least significant byte = EUI64[0] Return parameters 0 = Dut_Shared_GetAnnexType104Data return success Nonzero = Dut_Shared_GetAnnexType104Data return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 138 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.11.4 Dut_Shared_WriteAnnex104DataToFile This API writes the annex 104 data. DUT_SHARED_API int STDCALL Dut_Shared_WriteAnnex104DataToFile(char *FileName, BYTE Version, BYTE TxPowerLimit, BYTE _15_4_Addr[SIZE_15_4_ADDRESS_INBYTE]); Table 123.Command parameters Parameter Type FileName char Version byte TxPowerLimit byte _15_4_Addr byte Description Filename Version Tx power clamp applied to IEEE 802.15.4 0x00 = no Tx power clamp is applied 0x14 = limit Tx power to 10 dBm (for regulatory purposes) Set to max Tx power with 0.5 dBm granularity 802.15.4 EUI 64 MAC address Most significant byte = EUI64[7] Least significant byte = EUI64[0] Return parameters 0 = Dut_Shared_WriteAnnex104DataToFile return success Nonzero = Dut_Shared_WriteAnnex104DataToFile return failed AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 139 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 14 Note about the source code in the document The example code shown in this document has the following copyright and BSD-3-Clause license: Copyright 2023, 2025 NXP Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials must be provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 140 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 15 References [1] Application note AN13538: Wi-Fi Embedded Subsystem API Specification V18 (link) [2] Application note AN13983: Calibration Structure for AW611, IW611, and IW612 (link) [3] Application note AN13639: Calibration Structure for RW61x [4] Data sheet AW611: 1x1 Wi-Fi 6 and Bluetooth Combo Solution (link) [5] Data sheet IW610: 1x1 Wi-Fi 6 and Bluetooth Low Energy/802.15.4 Solution Family (link) [6] Data sheet IW611: 2.4/5 GHz Dual-band 1x1 Wi-Fi 6 and Bluetooth Solution (link) [7] Data sheet IW612: 1x1 Dual-band Wi-Fi 6, Bluetooth and 802.15.4 Tri-radio Solution (link) [8] Data sheet RW610: Wireless MCU with Integrated Wi-Fi 6 and Bluetooth Low Energy (link) [9] Data sheet RW612: Wireless MCU with Integrated Tri-radio Wi-Fi 6 + Bluetooth Low Energy / 802.15.4 (link) [10] User manual UM11694: Manufacturing Software User Manual for AW611 (link) [11] User manual UM12062: Manufacturing Software User Manual for IW610 (link) [12] User manual UM11749: Manufacturing Software User Manual for IW611 (link) [13] User manual UM11717: Manufacturing Software User Manual for IW612 (link) [14] User manual UM11801: Manufacturing Software User Manual for RW61x (link) [15] Webpage AW611: 2.4/5 GHz Dual-band 1x1 Wi-Fi® 6 (802.11ax) + Bluetooth® Automotive Solution (link) [16] Webpage IW610: 2.4/5GHz Dual-band 1x1 Wi-Fi® 6 + Bluetooth Low Energy + 802.15.4 Tri-Radio Solution (link) [17] Webpage IW611: 2.4/5GHz Dual-band 1x1 Wi-Fi® 6 (802.11ax) + Bluetooth® Solution (link) [18] Webpage IW612: 2.4/5 GHz Dual-band 1x1 Wi-Fi® 6 (802.11ax) + Bluetooth® + 802.15.4 Tri-radio Solution (link) [19] Webpage RW610: Wireless MCU with Integrated Radio: 1x1 Wi-Fi® 6 + Bluetooth® Low Energy Radios (link) [20] Webpage RW612: Wireless MCU with Integrated Tri-radio: 1x1 Wi-Fi® 6 + Bluetooth® Low Energy / 802.15.4 (link) AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 141 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 16 Revision history Table 124.Revision history Document ID Release date AN14125 v.2.0 28 February 2025 AN14125 v.1.0 4 December 2023 Description · Document access changed to public. · Section 1.2 "Supported products": updated. · Section 3 "Calibration data": updated. · Section 6.2 "Data rates": updated. · Section 6.3 "RF channels": updated. · Section Bluetooth channels: removed. · Section 12.8 "Antenna isolation Annex 99": updated. · Section 15 "References": updated. · Initial version AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 142 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Legal information Definitions Draft -- A draft status on a document indicates that the content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included in a draft version of a document and shall have no liability for the consequences of use of such information. Disclaimers Limited warranty and liability -- Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. NXP Semiconductors takes no responsibility for the content in this document if provided by an information source outside of NXP Semiconductors. In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including - without limitation lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory. Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors' aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors. Right to make changes -- NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof. Applications -- Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or customer product design. It is customer's sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer's applications and products planned, as well as for the planned application and use of customer's third party customer(s). Customers should provide appropriate design and operating safeguards to minimize the risks associated with their applications and products. NXP Semiconductors does not accept any liability related to any default, damage, costs or problem which is based on any weakness or default in the customer's applications or products, or the application or use by customer's third party customer(s). Customer is responsible for doing all necessary testing for the customer's applications and products using NXP Semiconductors products in order to avoid a default of the applications and the products or of the application or use by customer's third party customer(s). NXP does not accept any liability in this respect. Terms and conditions of commercial sale -- NXP Semiconductors products are sold subject to the general terms and conditions of commercial sale, as published at https://www.nxp.com/profile/terms, unless otherwise agreed in a valid written individual agreement. In case an individual agreement is concluded only the terms and conditions of the respective agreement shall apply. NXP Semiconductors hereby expressly objects to applying the customer's general terms and conditions with regard to the purchase of NXP Semiconductors products by customer. Suitability for use in automotive applications -- This NXP product has been qualified for use in automotive applications. If this product is used by customer in the development of, or for incorporation into, products or services (a) used in safety critical applications or (b) in which failure could lead to death, personal injury, or severe physical or environmental damage (such products and services hereinafter referred to as "Critical Applications"), then customer makes the ultimate design decisions regarding its products and is solely responsible for compliance with all legal, regulatory, safety, and security related requirements concerning its products, regardless of any information or support that may be provided by NXP. As such, customer assumes all risk related to use of any products in Critical Applications and NXP and its suppliers shall not be liable for any such use by customer. Accordingly, customer will indemnify and hold NXP harmless from any claims, liabilities, damages and associated costs and expenses (including attorneys' fees) that NXP may incur related to customer's incorporation of any product in a Critical Application. Export control -- This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from competent authorities. HTML publications -- An HTML version, if available, of this document is provided as a courtesy. Definitive information is contained in the applicable document in PDF format. If there is a discrepancy between the HTML document and the PDF document, the PDF document has priority. Translations -- A non-English (translated) version of a document, including the legal information in that document, is for reference only. The English version shall prevail in case of any discrepancy between the translated and English versions. Security -- Customer understands that all NXP products may be subject to unidentified vulnerabilities or may support established security standards or specifications with known limitations. Customer is responsible for the design and operation of its applications and products throughout their lifecycles to reduce the effect of these vulnerabilities on customer's applications and products. Customer's responsibility also extends to other open and/or proprietary technologies supported by NXP products for use in customer's applications. NXP accepts no liability for any vulnerability. Customer should regularly check security updates from NXP and follow up appropriately. Customer shall select products with security features that best meet rules, regulations, and standards of the intended application and make the ultimate design decisions regarding its products and is solely responsible for compliance with all legal, regulatory, and security related requirements concerning its products, regardless of any information or support that may be provided by NXP. NXP has a Product Security Incident Response Team (PSIRT) (reachable at [email protected]) that manages the investigation, reporting, and solution release to security vulnerabilities of NXP products. NXP B.V. -- NXP B.V. is not an operating company and it does not distribute or sell products. Trademarks Notice: All referenced brands, product names, service names, and trademarks are the property of their respective owners. NXP -- wordmark and logo are trademarks of NXP B.V. Bluetooth -- the Bluetooth wordmark and logos are registered trademarks owned by Bluetooth SIG, Inc. and any use of such marks by NXP Semiconductors is under license. AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 143 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification Contents 1 About this document .......................................2 8.7 Dut_Bt_SetBtPwrControlClass_W909X ...........39 1.1 Purpose ..............................................................2 8.8 Dut_Bt_TxBtBTUPwrDutyCycleHop ................ 40 1.2 Supported products ........................................... 2 8.9 Dut_Bt_TxBtCw_W909X ..................................42 1.3 System requirements .........................................2 8.10 Dut_Bt_BleWriteTxPower_W909X ...................42 2 Labtool SDK ..................................................... 3 8.11 Dut_Bt_BleEnhancedTxTest_W909X .............. 43 2.1 Download the SDK ............................................ 3 8.12 Dut_Bt_MrvlRxTest_W909X ............................ 44 3 Calibration data ............................................... 5 8.13 Bt_MrvlRxTestResult_Ext_W909X ...................45 4 Flowchart .......................................................... 6 8.14 Dut_Bt_BleEnhancedRxTest_W909X .............. 47 5 Wi-Fi sequences .............................................. 7 8.15 Dut_Bt_BleTestEnd_W909X ............................ 47 5.1 Initialize the Wi-Fi .............................................. 7 8.16 Dut_Bt_BleGetRxTestBer_W909X ...................48 5.2 Configure the calibration data storage ...............8 8.17 Dut_Bt_ReloadCalData_W909X ...................... 48 5.3 Load Wi-Fi calibration data ................................8 8.18 Dut_Bt_WriteBrfRegister ..................................49 5.4 Set the thermal compensation for the 8.19 Dut_Bt_SetBtPwrLvlValue_W909X ..................49 crystal frequency ............................................... 8 9 802.15.4 radio sequences ............................. 50 5.5 Set the thermal TX power compensation ...........9 9.1 Initialize the DUT ............................................. 50 5.6 Crystal frequency calibration ........................... 10 9.2 Reset the DUT .................................................50 5.7 Calibrate RSSI .................................................12 9.3 Configure the data calibration storage ............. 50 5.8 Calibrate TX power ..........................................13 9.4 Verify 802.15.4 TX ...........................................51 5.9 Store the data ..................................................15 9.5 Verify 802.15.4 RX .......................................... 51 6 Wi-Fi APIs .......................................................16 9.6 Set EUI-64 MAC address ................................ 52 6.1 List of Wi-Fi APIs .............................................16 9.7 Store the data ..................................................52 6.2 Data rates ........................................................ 17 10 802.15.4 radio APIs ........................................53 6.3 RF channels .................................................... 17 10.1 List of 802.15.4 APIs ....................................... 53 6.4 DutIf_InitConnection ........................................ 18 10.2 Dut_15_4_OpenDevice ....................................54 6.5 DutIf_Disconnection .........................................18 10.3 Dut_15_4_CloseDevice ................................... 54 6.6 DutIf_SetChannelBw ........................................18 10.4 Dut_15_4_ResetMCU ......................................55 6.7 DutIf_SetRfChannel_new ................................ 19 10.5 Dut_15_4_SetChannel .....................................55 6.8 DutIf_SetRfXTal ............................................... 19 10.6 Dut_15_4_SetPwrLvl ....................................... 56 6.9 DutIf_SetRfControlMode .................................. 20 10.7 Dut_15_4_TxDutycycle ....................................56 6.10 DutIf_GetPwrDetOffset .................................... 20 10.8 Dut_15_4_TxBurst ........................................... 57 6.11 DutIf_GetThermalSensorReading_W909X ...... 21 10.9 Dut_15_4_SetChannel .....................................57 6.12 DutIf_AdjustPcktSifs11ax_W909X ................... 22 10.10 Dut_15_4_StartRxTest .....................................58 6.13 DutIf_AdjustPcktSifs_W909X ...........................25 10.11 Dut_15_4_RxTestResult .................................. 58 6.14 DutIf_SetTxContMode_W90XX ....................... 27 10.12 Dut_15_4_GetEUI64MacAddress ....................59 6.15 DutIf_EnableBssidFilter ................................... 28 10.13 Dut_15_4_SetEUI64MacAddress .................... 59 6.16 DutIf_WlanRSSI_Cal_Start .............................. 28 11 Storage API .................................................... 60 6.17 DutIf_WlanRSSI_Cal_Stops ............................ 29 11.1 List of storage APIs ......................................... 60 6.18 DutIf_SetCustomizedSettings .......................... 29 11.2 Dut_Shared_SetStorageType .......................... 60 7 Bluetooth/Bluetooth LE sequences ............. 30 11.3 DutIf_ForceE2PromType ................................. 61 7.1 Initialize the DUT ............................................. 30 11.4 DutIf_SetCalDataRevF .................................... 61 7.2 Reset the DUT .................................................30 11.5 DutIf_SetCalDataRevFBTOnly .........................62 7.3 Load Bluetooth calibration data ....................... 30 11.6 DutIf_SetCalDataRevF15p4Only ..................... 62 7.4 Calibrate TX power ..........................................31 12 Annexes .......................................................... 63 7.5 Calibrate the crystal .........................................32 12.1 Hardware main structure ................................. 64 7.6 Verify Bluetooth TX ..........................................33 12.2 Bluetooth configuration Annex 55 .................67 7.7 Verify Bluetooth RX ......................................... 33 12.3 Thermal power and RSSI compensation 7.8 Verify Bluetooth LE TX .................................... 34 Annex 75 ......................................................... 69 7.9 Verify Bluetooth LE RX ....................................34 12.4 Thermal crystal Annex 83 .............................71 7.10 Store the data ..................................................35 12.5 FEM configuration Annex 90 ........................ 72 8 Bluetooth/Bluetooth LE APIs ........................36 12.6 TX power table Annex 97 .............................76 8.1 List of Bluetooth APIs ...................................... 36 12.7 RSSI offset Annex 98 ...................................78 8.2 Dut_Bt_OpenDevice ........................................ 37 12.8 Antenna isolation Annex 99 ..........................80 8.3 Dut_Bt_CloseDevice ........................................37 12.9 Bluetooth hardware Annex 100 .................... 83 8.4 Dut_Bt_SetBtBrfReset_W909X ........................38 12.10 Configuration Annex 104 .............................. 84 8.5 Dut_Bt_SetBtXtal_W909X ............................... 38 13 Annex APIs .....................................................85 8.6 Dut_Bt_SetBtChannel_W909X ........................ 39 13.1 List of annex APIs ........................................... 85 AN14125 Application note All information provided in this document is subject to legal disclaimers. Rev. 2.0 -- 28 February 2025 © 2025 NXP B.V. All rights reserved. Document feedback 144 / 145 NXP Semiconductors AN14125 Manufacturing Software Development Kit API Specification 13.2 13.2.1 13.2.2 13.2.3 13.2.4 13.3 13.3.1 13.3.2 13.3.3 13.3.4 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.4.5 13.5 13.5.1 13.5.2 13.5.3 13.5.4 13.6 13.6.1 13.6.2 13.6.3 13.6.4 13.6.5 13.7 13.7.1 13.7.2 13.7.3 13.7.4 13.7.5 13.8 13.8.1 13.8.2 13.8.3 13.8.4 Hardware main structure ................................. 87 Dut_Shared_ReadMainDataFromFile_ RevF_V3 .......................................................... 87 Dut_Shared_SetCalMainDataRevF_V3 ...........89 Dut_Shared_GetCalMainDataRevF_V3 .......... 91 Dut_Shared_WriteMainDataToFile_RevF_ V3 .................................................................... 93 Bluetooth configuration Annex 55 .................95 Dut_Shared_ReadAnnex55DataFromFile_ Rev3 .................................................................95 Dut_Shared_SetAnnexType55Data_Rev3 .......97 Dut_Shared_GetAnnexType55Data_Rev3 ...... 99 Dut_Shared_WriteAnnex55DataToFile_ Rev3 ...............................................................101 Thermal power and RSSI compensation Annex 75 ....................................................... 103 Structures .......................................................103 Dut_Shared_ReadAnnex75DataFromFile_ Rev2 ...............................................................104 Dut_Shared_SetAnnexType75Data_Rev2 .....105 Dut_Shared_GetAnnexType75Data_Rev2 .... 106 Dut_Shared_WriteAnnex75DataToFile_ Rev2 ...............................................................107 Thermal crystal Annex 83 ...........................108 Dut_Shared_ReadAnnex83DataFromFile ..... 108 Dut_Shared_SetAnnexType83Data ............... 109 Dut_Shared_GetAnnexType83Data ...............110 Dut_Shared_WriteAnnex83DataToFile .......... 111 FEM configuration Annex 90 ...................... 112 Structures .......................................................112 Dut_Shared_ReadAnnex90DataFromFile_ W909X ........................................................... 113 Dut_Shared_SetAnnexType90Data_ W909X ........................................................... 114 Dut_Shared_GetAnnexType90Data_ W909X ........................................................... 115 Dut_Shared_WriteAnnex90DataToFile_ W909X ........................................................... 116 TX power table Annex 97 ...........................117 Structures .......................................................117 Dut_Shared_ReadAnnex97DataFromFile_ W909X ........................................................... 118 Dut_Shared_SetAnnexType97Data_ W909X ........................................................... 119 Dut_Shared_GetAnnexType97Data_ W909X ........................................................... 120 Dut_Shared_WriteAnnex97DataToFile_ W909X ........................................................... 121 RSSI offset Annex 98 ................................. 122 Structures .......................................................122 Dut_Shared_ReadAnnex98DataFromFile_ W909X ........................................................... 123 Dut_Shared_SetAnnexType98Data_ W909X ........................................................... 124 Dut_Shared_GetAnnexType98Data_ W909X ........................................................... 125 13.8.5 13.9 13.9.1 13.9.2 13.9.3 13.9.4 13.9.5 13.10 13.10.1 13.10.2 13.10.3 13.10.4 13.11 13.11.1 13.11.2 13.11.3 13.11.4 14 15 16 Dut_Shared_WriteAnnex98DataToFile_ W909X ........................................................... 126 Antenna isolation Annex 99 ........................127 Structures .......................................................127 Dut_Shared_ReadAnnex99DataFromFile ..... 128 Dut_Shared_SetAnnexType99Data ............... 129 Dut_Shared_GetAnnexType99Data ...............130 Dut_Shared_WriteAnnex99DataToFile .......... 131 Bluetooth hardware Annex 100 .................. 132 Dut_Shared_ReadAnnex100DataFromFile_ Rev2 ...............................................................132 Dut_Shared_SetAnnexType100Data_Rev2 ...133 Dut_Shared_GetAnnexType100Data_Rev2 .. 134 Dut_Shared_WriteAnnex100DataToFile_ Rev2 ...............................................................135 configuration Annex 104 .............................136 Dut_Shared_ReadAnnex104DataFromFile ... 136 Dut_Shared_SetAnnexType104Data ............. 137 Dut_Shared_GetAnnexType104Data .............138 Dut_Shared_WriteAnnex104DataToFile ........ 139 Note about the source code in the document ......................................................140 References ....................................................141 Revision history ...........................................142 Legal information .........................................143 Please be aware that important notices concerning this document and the product(s) described herein, have been included in section 'Legal information'. © 2025 NXP B.V. All rights reserved. For more information, please visit: https://www.nxp.com Document feedback Date of release: 28 February 2025 Document identifier: AN14125Apache FOP Version 2.6