[update][lhal] update lhal

* update lhal api comments
* add cam driver
* add efuse driver
* add iso11898 driver
This commit is contained in:
jzlv 2022-12-21 20:20:33 +08:00
parent 185805cbbe
commit a77b0dc866
60 changed files with 8782 additions and 429 deletions

View file

@ -7,6 +7,13 @@
extern "C" {
#endif
/** @addtogroup LHAL
* @{
*/
/** @addtogroup EF_CTRL
* @{
*/
/**
* @brief Efuse common trim config definition
@ -18,7 +25,7 @@ typedef struct
uint16_t parity_addr; /*!< parity address */
uint16_t value_addr; /*!< value address */
uint16_t value_len; /*!< value length */
} bflb_ef_ctrl_com_trim_cfg;
} bflb_ef_ctrl_com_trim_cfg_t;
/**
* @brief Efuse common trim type definition
@ -30,20 +37,103 @@ typedef struct
uint8_t empty; /*!< Trim empty */
uint8_t len; /*!< Trim value len in bit */
uint32_t value; /*!< Trim value */
} bflb_ef_ctrl_com_trim_type;
} bflb_ef_ctrl_com_trim_t;
uint32_t bflb_ef_ctrl_get_common_trim_list(const bflb_ef_ctrl_com_trim_cfg **trim_list);
/**
* @brief Get efuse control common trim list.
*
* @param [in] trim_list pointer to save trim list
* @return trim list length
*/
uint32_t bflb_ef_ctrl_get_common_trim_list(const bflb_ef_ctrl_com_trim_cfg_t **trim_list);
/**
* @brief
*
* @param [in] dev device handle
* @return int
*/
int bflb_ef_ctrl_autoload_done(struct bflb_device_s *dev);
/**
* @brief
*
* @param [in] dev device handle
* @param [in] offset
* @param [in] pword
* @param [in] count
* @param [in] program
*/
void bflb_ef_ctrl_write_direct(struct bflb_device_s *dev, uint32_t offset, uint32_t *pword, uint32_t count, uint8_t program);
/**
* @brief
*
* @param [in] dev device handle
* @param [in] offset
* @param [in] pword
* @param [in] count
* @param [in] reload
*/
void bflb_ef_ctrl_read_direct(struct bflb_device_s *dev, uint32_t offset, uint32_t *pword, uint32_t count, uint8_t reload);
void bflb_ef_ctrl_read_common_trim(struct bflb_device_s *dev, char *name, bflb_ef_ctrl_com_trim_type *trim, uint8_t reload);
/**
* @brief
*
* @param [in] dev device handle
* @param [in] name
* @param [in] trim
* @param [in] reload
*/
void bflb_ef_ctrl_read_common_trim(struct bflb_device_s *dev, char *name, bflb_ef_ctrl_com_trim_t *trim, uint8_t reload);
/**
* @brief
*
* @param [in] dev device handle
* @param [in] name
* @param [in] value
* @param [in] program
*/
void bflb_ef_ctrl_write_common_trim(struct bflb_device_s *dev, char *name, uint32_t value, uint8_t program);
/**
* @brief
*
* @param [in] val
* @param [in] start
* @param [in] len
* @return uint8_t
*/
uint8_t bflb_ef_ctrl_is_all_bits_zero(uint32_t val, uint8_t start, uint8_t len);
/**
* @brief
*
* @param [in] val
* @return uint32_t
*/
uint32_t bflb_ef_ctrl_get_byte_zero_cnt(uint8_t val);
/**
* @brief
*
* @param [in] val
* @param [in] len
* @return uint8_t
*/
uint8_t bflb_ef_ctrl_get_trim_parity(uint32_t val, uint8_t len);
#ifdef __cplusplus
}
#endif
/**
* @}
*/
/**
* @}
*/
#endif