Production Line Tool v5.0
The DA1470x Production Line Tool Software Package
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions
u_dll.h File Reference

Firmware download and memory programming API header file. More...

#include <stdint.h>
#include "dbg_dll.h"
#include "ic_specifics.h"

Go to the source code of this file.

Classes

struct  __udll_fw_load
 u_dll library firmware load parameters More...
 
struct  __udll_fw_versions
 Holds the versions of the firmware used during device testing. More...
 
struct  __udll_fw_ver
 u_dll library firmware version parameters. More...
 
struct  __udll_ram_fw
 u_dll library RAM firmware download parameters. More...
 
struct  __udll_otp_wr
 u_dll library OTP image programming parameters. More...
 
struct  __udll_cs_booter
 u_dll library Booter properties for the Configuration Script data holding structure. More...
 
struct  __udll_cs_uart_stx
 u_dll library Configuration Script UART STX timeout data. More...
 
struct  __udll_cs_sdk_entry
 u_dll library SDK Value data holding structure. 0xE9RRYYXX E9: indicates that the following word(s) are not to be stored to registers but will be used by the SDK SW RR: is an index (Set ID) and can be used for different sets of parameters by the SW application. One Set ID comprises 256 Group IDs. RR = 0xFF is reserved for customer use only. RR = 0x00 will be used for Dialog parameters. RR = 0x01 – 0xEF are reserved for future use of Dialog parameters. YY: indicates that 0xYY amount of words follow. XX: is an index (Group ID) and can be used for different parameters by the SW application. More...
 
struct  __udll_cs_sw_gen_sdk
 u_dll library SW Generated SDK Value data holding structure. More...
 
struct  __udll_cs_xtal_settle
 u_dll library Configuration Script XTAL settle trim data. More...
 
struct  __udll_cs_min_fw_ver
 u_dll library Configuration Script minimum firmware version. More...
 
struct  __udll_cs_dev_booter
 u_dll library Configuration Script device specific booter command. More...
 
struct  __udll_cs_reg_entry
 u_dll library Configuration Script register entries. More...
 
struct  __udll_otp_cs_wr
 u_dll library Configuration Script write parameters. More...
 
struct  __udll_flash_init
 u_dll library flash initialization parameters. More...
 
struct  __udll_flash_wr
 u_dll library flash image programming parameters. More...
 
struct  __udll_flash_er
 u_dll library flash erase programming parameters. More...
 
struct  __udll_mem_wr
 u_dll library Structure for custom memory data programming. More...
 
struct  __udll_mem_rd
 u_dll library Memory read parameters. More...
 
struct  __udll_gpio_watchdog
 u_dll library parameters for GPIO watchdog operation. More...
 
union  __udll_mem_params
 u_dll memory action parameters. More...
 
struct  __udll_ic_params
 u_dll library programming parameters. More...
 
union  __udll_params
 u_dll library programming parameters union. More...
 
struct  __udll_dev_params
 u_dll library parameters for each different device. More...
 

Macros

#define __bool_true_false_are_defined   1
 
#define bool   char
 
#define true   1
 
#define false   0
 
#define U_DLL_EXPORTS
 
#define U_DLL_API   __declspec(dllexport)
 
#define MAX_UDLL_DEVICES   16
 
#define BD_ADDR_SIZE   6
 
#define LOG_PARAM_STR_SIZE   32
 
#define FILE_PATH_SIZE   256
 
#define TEST_NAME_STR_SIZE   13
 
#define UDLL_CLBK_DATA_SIZE   256
 
#define UDLL_MEM_RD_FILE_SIZE   0x4000000
 
#define UDLL_MEM_RD_FILE_NAME   "MEM_READ"
 
#define UDLL_MEM_RD_FOLDER_NAME   "mem_read_test"
 
#define CSV_LINE_LEN   32768
 
#define MAX_CSV_MEM_DATA   20
 
#define MAX_MEM_DATA_SIZE   512
 
#define MAX_FLASH_CHUNK_SIZE   0x1000
 
#define FLASH_JEDEC_ID_SIZE   3
 
#define MAX_LEGACY_BOOTER_FW_SIZE   0xFFFF
 
#define MAX_EXTENDED_BOOTER_FW_SIZE   0x1FFFF
 
#define MAX_RAM_DOWNLOAD_FW_SIZE   0x180000
 
#define MAX_RAM_CHUNK_SIZE   0x4000
 
#define OTP_TOTAL_SIZE   4096
 
#define OTP_MAX_ADDR   4092
 
#define OTP_WORD_SIZE   4
 
#define OTP_MAX_APP_BIN_SIZE   3072
 
#define OTP_MAX_APP_BIN_MAX_ADDR   3068
 
#define OTP_MAX_CUST_APP_SIZE   2208
 
#define OTP_MAX_CUST_APP_MAX_ADDR   2204
 
#define OTP_CS_BASE_ADDR   0x0C00
 
#define CS_WORD_SIZE   OTP_WORD_SIZE
 
#define MAX_CS_WORDS   256
 
#define MAX_CS_SIZE_BYTES   MAX_CS_WORDS * CS_WORD_SIZE
 
#define MAX_CS_SDK_ENTRIES   20
 
#define MAX_CS_WORDS_PER_SDK_GROUP   20
 
#define MAX_CS_REG_ENTRIES   20
 
#define MAX_CS_STRING_SIZE   (9+(9*MAX_CS_WORDS)-1)+1
 

Typedefs

typedef enum __UDLL_RETURN_CODES UDLL_RET
 The u_dll return status codes.
 
typedef enum __UDLL_ACTIONS _UDLL_ACTIONS
 The u_dll action types.
 
typedef enum __U_DUT_NUM _U_DUT_NUM
 Enumeration used to set the device numbering at __udll_dev_params::dut_num.
 
typedef enum __udll_mem_type _udll_mem_type
 The different type of memories supported. Used in custom memory data burn inside __udll_mem_wr.
 
typedef enum __udll_mem_data_input _udll_mem_data_input
 The different custom memory data input methods supported, used in __udll_mem_wr.
 
typedef enum __udll_chk_empty _udll_chk_empty
 Configuration script check empty selections.
 
typedef enum __udll_cs_baud_rate _udll_cs_baud_rate
 u_dll library CS settings for the UART baud rate.
 
typedef enum __udll_cs_xtal_settle_ignore _udll_cs_xtal_settle_ignore
 u_dll library CS settings for the XTAL settle ignore value.
 
typedef enum __udll_gpio_pwr_lvl _udll_gpio_pwr_lvl
 The GPIO watchdog power levels used __udll_gpio_watchdog.
 
typedef struct __udll_fw_load _udll_fw_load
 u_dll library firmware load parameters
 
typedef struct __udll_fw_versions _udll_fw_versions
 Holds the versions of the firmware used during device testing.
 
typedef struct __udll_fw_ver _udll_fw_ver
 u_dll library firmware version parameters.
 
typedef struct __udll_ram_fw _udll_ram_fw
 u_dll library RAM firmware download parameters.
 
typedef struct __udll_otp_wr _udll_otp_wr
 u_dll library OTP image programming parameters.
 
typedef struct __udll_cs_booter _udll_cs_booter
 u_dll library Booter properties for the Configuration Script data holding structure.
 
typedef struct __udll_cs_uart_stx _udll_cs_uart_stx
 u_dll library Configuration Script UART STX timeout data.
 
typedef struct __udll_cs_sdk_entry _udll_cs_sdk_entry
 u_dll library SDK Value data holding structure. 0xE9RRYYXX E9: indicates that the following word(s) are not to be stored to registers but will be used by the SDK SW RR: is an index (Set ID) and can be used for different sets of parameters by the SW application. One Set ID comprises 256 Group IDs. RR = 0xFF is reserved for customer use only. RR = 0x00 will be used for Dialog parameters. RR = 0x01 – 0xEF are reserved for future use of Dialog parameters. YY: indicates that 0xYY amount of words follow. XX: is an index (Group ID) and can be used for different parameters by the SW application. More...
 
typedef struct __udll_cs_sw_gen_sdk _udll_cs_sw_gen_sdk
 u_dll library SW Generated SDK Value data holding structure.
 
typedef struct __udll_cs_xtal_settle _udll_cs_xtal_settle
 u_dll library Configuration Script XTAL settle trim data.
 
typedef struct __udll_cs_min_fw_ver _udll_cs_min_fw_ver
 u_dll library Configuration Script minimum firmware version.
 
typedef struct __udll_cs_dev_booter _udll_cs_dev_booter
 u_dll library Configuration Script device specific booter command.
 
typedef struct __udll_cs_reg_entry _udll_cs_reg_entry
 u_dll library Configuration Script register entries.
 
typedef struct __udll_otp_cs_wr _udll_otp_cs_wr
 u_dll library Configuration Script write parameters.
 
typedef struct __udll_flash_init _udll_flash_init
 u_dll library flash initialization parameters.
 
typedef struct __udll_flash_wr _udll_flash_wr
 u_dll library flash image programming parameters.
 
typedef struct __udll_flash_er _udll_flash_er
 u_dll library flash erase programming parameters.
 
typedef struct __udll_mem_wr _udll_mem_wr
 u_dll library Structure for custom memory data programming.
 
typedef struct __udll_mem_rd _udll_mem_rd
 u_dll library Memory read parameters.
 
typedef struct __udll_gpio_watchdog _udll_gpio_watchdog
 u_dll library parameters for GPIO watchdog operation.
 
typedef union __udll_mem_params _udll_mem_params
 u_dll memory action parameters.
 
typedef struct __udll_ic_params _udll_ic_params
 u_dll library programming parameters.
 
typedef union __udll_params _udll_params
 u_dll library programming parameters union.
 
typedef void(* _user_callback_udll) (uint32_t com_port_number, int status, void *data, uint32_t data_len)
 u_dll API callback function type definition. More...
 
typedef struct __udll_dev_params _udll_dev_params
 u_dll library parameters for each different device.
 

Enumerations

enum  __UDLL_RETURN_CODES {
  UDLL_SUCCESS = 0 , UDLL_ACTION_RESPONSE_ERROR , UDLL_UART_RX_TIMEOUT_ERROR , UDLL_NO_CRC_MATCH_ERROR ,
  UDLL_PROG_PARAMS_ERROR , UDLL_DEVICE_PARAMS_ERROR , UDLL_UART_WRITE_ERROR , UDLL_UART_READ_ERROR ,
  UDLL_INTERNAL_ERROR , UDLL_COM_PORT_INIT_ERROR , UDLL_COM_PORT_ERROR , UDLL_CANNOT_ALLOCATE_MEMORY ,
  UDLL_READ_FILE_SIZE_ERROR , UDLL_CANNOT_OPEN_FW_FILE , UDLL_CANNOT_OPEN_IMAGE_FILE , UDLL_INVALID_DBG_PARAMS ,
  UDLL_DBG_DLL_ERROR , UDLL_FW_DOWNLOAD_START , UDLL_FW_DOWNLOAD_SUCCESS , UDLL_FW_VERSION_GET_START ,
  UDLL_FW_VERSION_GET_SUCCESS , UDLL_RAM_FW_DOWNLOAD_START , UDLL_RAM_FW_DOWNLOAD_SUCCESS , UDLL_RAM_FW_DOWNLOAD_ERROR ,
  UDLL_GPIO_WD_START , UDLL_GPIO_WD_SUCCESS , UDLL_GPIO_WD_ERROR , UDLL_FLASH_INIT_START ,
  UDLL_FLASH_INIT_SUCCESS , UDLL_FLASH_INIT_ERROR , UDLL_FLASH_ERASE_START , UDLL_FLASH_ERASE_SUCCESS ,
  UDLL_FLASH_WRITE_START , UDLL_FLASH_WRITE_SUCCESS , UDLL_FLASH_WRITE_ERROR , UDLL_OTP_CHECK_EMPTY_START ,
  UDLL_OTP_CHECK_EMPTY_STATUS , UDLL_OTP_CHECK_EMPTY_SUCCESS , UDLL_OTP_CHECK_INPUT_DATA_EMPTY_SUCCESS , UDLL_OTP_CHECK_SAME_DATA_SUCCESS ,
  UDLL_OTP_CHECK_SKIP_IF_WRITTEN_SUCCESS , UDLL_OTP_CHECK_DIFFERENT_DATA_ERROR , UDLL_OTP_CHECK_EMPTY_ERROR , UDLL_OTP_WRITE_START ,
  UDLL_OTP_WRITE_SUCCESS , UDLL_OTP_WRITE_ERROR , UDLL_OTP_CS_WRITE_START , UDLL_OTP_CS_WRITE_NUM_OF_ENTRIES ,
  UDLL_OTP_CS_WRITE_STATUS , UDLL_OTP_CS_WRITE_RDBK_STARTED , UDLL_OTP_CS_WRITE_RDBK_STATUS , UDLL_OTP_CS_WRITE_SUCCESS ,
  UDLL_OTP_CS_WRITE_ERROR , UDLL_MEM_DATA_WRITE_START , UDLL_MEM_DATA_WRITE_STATUS , UDLL_MEM_DATA_WRITE_SUCCESS ,
  UDLL_MEM_DATA_WRITE_ERROR , UDLL_MEM_READ_START , UDLL_MEM_READ_SUCCESS
}
 The u_dll return status codes. More...
 
enum  __UDLL_ACTIONS {
  FW_LOAD = 0 , FW_VERSION_GET , OTP_WRITE , OTP_CS_WRITE ,
  FLASH_INIT , FLASH_WRITE , FLASH_ERASE , MEM_WRITE ,
  MEM_READ , RAM_FW_DOWNLOAD , GPIO_WD , INVALID_UDLL_ACTION
}
 The u_dll action types. More...
 
enum  __U_DUT_NUM {
  U_DUT_1 = 1 , U_DUT_2 = 2 , U_DUT_3 = 3 , U_DUT_4 = 4 ,
  U_DUT_5 = 5 , U_DUT_6 = 6 , U_DUT_7 = 7 , U_DUT_8 = 8 ,
  U_DUT_9 = 9 , U_DUT_10 = 10 , U_DUT_11 = 11 , U_DUT_12 = 12 ,
  U_DUT_13 = 13 , U_DUT_14 = 14 , U_DUT_15 = 15 , U_DUT_16 = 16
}
 Enumeration used to set the device numbering at __udll_dev_params::dut_num. More...
 
enum  __udll_mem_type {
  QSPI_MEM = 0 , OQSPI_MEM , OTP_MEM , OTP_CS_MEM ,
  ANY_MEM , INVALID_MEM
}
 The different type of memories supported. Used in custom memory data burn inside __udll_mem_wr. More...
 
enum  __udll_mem_data_input { CSV_FILE = 0 , MANUAL_IN , INVALID_MEM_DATA_IN }
 The different custom memory data input methods supported, used in __udll_mem_wr. More...
 
enum  __udll_chk_empty {
  NO_CHECK = 0 , CHECK_EMPTY , SAME_DATA_CHECK , SKIP_IF_WRITTEN ,
  INVALID_CHECK
}
 Configuration script check empty selections. More...
 
enum  __udll_cs_baud_rate {
  BAUD_4K8 = 0x1 , BAUD_9K6 = 0x2 , BAUD_14K4 = 0x3 , BAUD_19K2 = 0x4 ,
  BAUD_28K8 = 0x5 , BAUD_38K4 = 0x6 , BAUD_57K6 = 0x7 , BAUD_115K2 = 0x8 ,
  BAUD_230K4 = 0x9 , BAUD_500K = 0xA , BAUD_1M = 0xB , UNKNOWN_CS_BAUD_RATE = 0xC
}
 u_dll library CS settings for the UART baud rate. More...
 
enum  __udll_cs_xtal_settle_ignore { DISABLE_XTAL_SETTLE_IGNORE = 0x0 , ENABLE_XTAL_SETTLE_IGNORE = 0x1 , ENABLE_XTAL_SETTLE_IGNORE_RC32M = 0x2 , UNKNOWN_XTAL_SETTLE_INGORE = 0x3 }
 u_dll library CS settings for the XTAL settle ignore value. More...
 
enum  __udll_gpio_pwr_lvl { V3_3 = 0 , V1_8 , INVALID_LVL }
 The GPIO watchdog power levels used __udll_gpio_watchdog. More...
 

Functions

U_DLL_API UDLL_RET udll_dbg_init (const _dbg_params *dbg_params_t)
 u_dll library debug initialization function. More...
 
U_DLL_API UDLL_RET udll_dbg_close (void)
 Closes the u_dll debug session. More...
 
U_DLL_API UDLL_RET udll_init (void)
 u_dll library initialization function. More...
 
U_DLL_API UDLL_RET udll_set_prog_params (const _udll_params *udll_params_t)
 Sets the u_dll library general programming parameters. More...
 
U_DLL_API UDLL_RET udll_set_device_params (const _udll_dev_params *params)
 Sets the u_dll library specific device parameters. More...
 
U_DLL_API UDLL_RET udll_start_prog (void)
 Starts the operation of the u_dll library. More...
 
U_DLL_API UDLL_RET udll_close (void)
 Closes the handlers and frees the resources acquired by the library. More...
 

Detailed Description

Firmware download and memory programming API header file.

Copyright (C) 2022 Dialog Semiconductor. This computer program includes Confidential, Proprietary Information of Dialog Semiconductor. All Rights Reserved.

bluet.nosp@m.ooth.nosp@m..supp.nosp@m.ort@.nosp@m.diase.nosp@m.mi.c.nosp@m.om

Definition in file u_dll.h.