Skip to content
Snippets Groups Projects
Commit 75bc864c authored by Armin Luntzer's avatar Armin Luntzer
Browse files

add FEE HK readout

parent 2a232b37
No related branches found
No related tags found
No related merge requests found
...@@ -598,3 +598,435 @@ int fee_write_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd) ...@@ -598,3 +598,435 @@ int fee_write_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd)
{ {
return fee_write_cmd_register_internal(trans_id, cmd, FEE_CFG_REG_24); return fee_write_cmd_register_internal(trans_id, cmd, FEE_CFG_REG_24);
} }
/**
* @brief create a command to read the FEE HK register 3
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_3(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_3);
}
/**
* @brief create a command to read the FEE HK register 4
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_4(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_4);
}
/**
* @brief create a command to read the FEE HK register 5
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_5(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_5);
}
/**
* @brief create a command to read the FEE HK register 6
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_6(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_6);
}
/**
* @brief create a command to read the FEE HK register 7
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_7(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_7);
}
/**
* @brief create a command to read the FEE HK register 11
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_11(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_11);
}
/**
* @brief create a command to read the FEE HK register 12
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_12(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_12);
}
/**
* @brief create a command to read the FEE HK register 13
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_13(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_13);
}
/**
* @brief create a command to read the FEE HK register 14
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_14(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_14);
}
/**
* @brief create a command to read the FEE HK register 15
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_15(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_15);
}
/**
* @brief create a command to read the FEE HK register 16
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_16(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_16);
}
/**
* @brief create a command to read the FEE HK register 17
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_17(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_17);
}
/**
* @brief create a command to read the FEE HK register 18
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_18(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_18);
}
/**
* @brief create a command to read the FEE HK register 19
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_19(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_19);
}
/**
* @brief create a command to read the FEE HK register 20
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_20(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_20);
}
/**
* @brief create a command to read the FEE HK register 21
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_21(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_21);
}
/**
* @brief create a command to read the FEE HK register 22
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_22(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_22);
}
/**
* @brief create a command to read the FEE HK register 23
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_23(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_23);
}
/**
* @brief create a command to read the FEE HK register 27
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_27(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_27);
}
/**
* @brief create a command to read the FEE HK register 28
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_28(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_28);
}
/**
* @brief create a command to read the FEE HK register 29
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_29(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_29);
}
/**
* @brief create a command to read the FEE HK register 30
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_30(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_30);
}
/**
* @brief create a command to read the FEE HK register 31
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_31(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_31);
}
/**
* @brief create a command to read the FEE HK register 32
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_32(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_32);
}
/**
* @brief create a command to read the FEE HK register 33
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_33(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_33);
}
/**
* @brief create a command to read the FEE HK register 34
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_34(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_34);
}
/**
* @brief create a command to read the FEE HK register 35
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_hk_reg_35(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_HK_REG_35);
}
...@@ -30,27 +30,40 @@ ...@@ -30,27 +30,40 @@
#define FEE_CFG_REG_3 0x0000000CUL #define FEE_CFG_REG_3 0x0000000CUL
#define FEE_CFG_REG_4 0x00000010UL #define FEE_CFG_REG_4 0x00000010UL
#define FEE_CFG_REG_5 0x00000014UL #define FEE_CFG_REG_5 0x00000014UL
#define FEE_CFG_REG_6 0x00000018UL /* unused */
#define FEE_CFG_REG_7 0x0000001CUL /* unused */
#define FEE_CFG_REG_8 0x00000020UL /* unused */
#define FEE_CFG_REG_9 0x00000024UL /* unused */
#define FEE_CFG_REG_10 0x00000028UL /* unused */
#define FEE_CFG_REG_11 0x0000002CUL /* unused */
#define FEE_CFG_REG_12 0x00000030UL /* unused */
#define FEE_CFG_REG_13 0x00000034UL /* unused */
#define FEE_CFG_REG_14 0x00000038UL /* unused */
#define FEE_CFG_REG_15 0x0000003CUL /* unused */
#define FEE_CFG_REG_16 0x00000040UL /* unused */
#define FEE_CFG_REG_17 0x00000044UL /* unused */
#define FEE_CFG_REG_18 0x00000048UL #define FEE_CFG_REG_18 0x00000048UL
#define FEE_CFG_REG_19 0x0000004CUL #define FEE_CFG_REG_19 0x0000004CUL
#define FEE_CFG_REG_20 0x00000050UL #define FEE_CFG_REG_20 0x00000050UL
#define FEE_CFG_REG_21 0x00000054UL #define FEE_CFG_REG_21 0x00000054UL
#define FEE_CFG_REG_22 0x00000058UL #define FEE_CFG_REG_22 0x00000058UL
#define FEE_CFG_REG_23 0x0000005CUL /* reserved */
#define FEE_CFG_REG_24 0x00000060UL #define FEE_CFG_REG_24 0x00000060UL
/* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */ /* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */
#define FEE_HK_REG_0 0x00000700 #define FEE_HK_REG_0 0x00000700 /* reserved */
#define FEE_HK_REG_1 0x00000704 #define FEE_HK_REG_1 0x00000704 /* reserved */
#define FEE_HK_REG_2 0x00000708 #define FEE_HK_REG_2 0x00000708 /* reserved */
#define FEE_HK_REG_3 0x0000070C #define FEE_HK_REG_3 0x0000070C
#define FEE_HK_REG_4 0x00000710 #define FEE_HK_REG_4 0x00000710
#define FEE_HK_REG_5 0x00000714 #define FEE_HK_REG_5 0x00000714
#define FEE_HK_REG_6 0x00000718 #define FEE_HK_REG_6 0x00000718
#define FEE_HK_REG_7 0x0000071C #define FEE_HK_REG_7 0x0000071C
#define FEE_HK_REG_8 0x00000720 #define FEE_HK_REG_8 0x00000720 /* reserved */
#define FEE_HK_REG_9 0x00000724 #define FEE_HK_REG_9 0x00000724 /* reserved */
#define FEE_HK_REG_10 0x00000728 #define FEE_HK_REG_10 0x00000728 /* reserved */
#define FEE_HK_REG_11 0x0000072C #define FEE_HK_REG_11 0x0000072C
#define FEE_HK_REG_12 0x00000730 #define FEE_HK_REG_12 0x00000730
#define FEE_HK_REG_13 0x00000734 #define FEE_HK_REG_13 0x00000734
...@@ -64,9 +77,9 @@ ...@@ -64,9 +77,9 @@
#define FEE_HK_REG_21 0x00000754 #define FEE_HK_REG_21 0x00000754
#define FEE_HK_REG_22 0x00000758 #define FEE_HK_REG_22 0x00000758
#define FEE_HK_REG_23 0x0000075C #define FEE_HK_REG_23 0x0000075C
#define FEE_HK_REG_24 0x00000760 #define FEE_HK_REG_24 0x00000760 /* reserved */
#define FEE_HK_REG_25 0x00000764 #define FEE_HK_REG_25 0x00000764 /* reserved */
#define FEE_HK_REG_26 0x00000768 #define FEE_HK_REG_26 0x00000768 /* reserved */
#define FEE_HK_REG_27 0x0000076C #define FEE_HK_REG_27 0x0000076C
#define FEE_HK_REG_28 0x00000770 #define FEE_HK_REG_28 0x00000770
#define FEE_HK_REG_29 0x00000774 #define FEE_HK_REG_29 0x00000774
...@@ -89,7 +102,7 @@ int fee_read_cmd_data(uint16_t trans_id, uint8_t *cmd, ...@@ -89,7 +102,7 @@ int fee_read_cmd_data(uint16_t trans_id, uint8_t *cmd,
/* FEE read accessors */ /* FEE configuration register read accessors */
int fee_read_cmd_cfg_reg_0(uint16_t trans_id, uint8_t *cmd); int fee_read_cmd_cfg_reg_0(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_1(uint16_t trans_id, uint8_t *cmd); int fee_read_cmd_cfg_reg_1(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_2(uint16_t trans_id, uint8_t *cmd); int fee_read_cmd_cfg_reg_2(uint16_t trans_id, uint8_t *cmd);
...@@ -104,7 +117,7 @@ int fee_read_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd); ...@@ -104,7 +117,7 @@ int fee_read_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd); int fee_read_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd);
/* FEE write accessors */ /* FEE configuration register write accessors */
int fee_write_cmd_cfg_reg_0(uint16_t trans_id, uint8_t *cmd); int fee_write_cmd_cfg_reg_0(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_1(uint16_t trans_id, uint8_t *cmd); int fee_write_cmd_cfg_reg_1(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_2(uint16_t trans_id, uint8_t *cmd); int fee_write_cmd_cfg_reg_2(uint16_t trans_id, uint8_t *cmd);
...@@ -119,6 +132,36 @@ int fee_write_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd); ...@@ -119,6 +132,36 @@ int fee_write_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd); int fee_write_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd);
/* FEE housekeeping register read accessors */
int fee_read_cmd_hk_reg_3(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_4(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_5(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_6(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_7(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_11(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_12(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_13(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_14(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_15(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_16(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_17(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_18(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_19(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_20(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_21(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_22(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_23(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_27(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_28(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_29(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_30(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_31(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_32(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_33(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_34(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_hk_reg_35(uint16_t trans_id, uint8_t *cmd);
#endif /* SMILE_FEE_CMD_H */ #endif /* SMILE_FEE_CMD_H */
...@@ -1084,6 +1084,708 @@ void smile_fee_set_execute_op(uint32_t mode) ...@@ -1084,6 +1084,708 @@ void smile_fee_set_execute_op(uint32_t mode)
} }
/**
* @brief get CCD1_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd1_ts(void)
{
return (uint16_t) (smile_fee->hk_reg_3 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD2_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd2_ts(void)
{
return (uint16_t) smile_fee->hk_reg_3 & 0xFFFFUL;
}
/**
* @brief get CCD3_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd3_ts(void)
{
return (uint16_t) (smile_fee->hk_reg_4 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD4_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd4_ts(void)
{
return (uint16_t) smile_fee->hk_reg_4 & 0xFFFFUL;
}
/**
* @brief get PRT1_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_prt1(void)
{
return (uint16_t) (smile_fee->hk_reg_5 >> 16) & 0xFFFFUL;
}
/**
* @brief get PRT2_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_prt2(void)
{
return (uint16_t) smile_fee->hk_reg_5 & 0xFFFFUL;
}
/**
* @brief get PRT3_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_prt3(void)
{
return (uint16_t) (smile_fee->hk_reg_6 >> 16) & 0xFFFFUL;
}
/**
* @brief get PRT4_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_prt4(void)
{
return (uint16_t) smile_fee->hk_reg_6 & 0xFFFFUL;
}
/**
* @brief get PRT5_TS HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_prt5(void)
{
return (uint16_t) (smile_fee->hk_reg_7 >> 16) & 0xFFFFUL;
}
/**
* @brief get ZERO_DIFF_AMP HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_zero_diff_amp(void)
{
return (uint16_t) smile_fee->hk_reg_7 & 0xFFFFUL;
}
/**
* @brief get CCD3_VOD_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd3_vod_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_11 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD3_VOG_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd3_vog_mon(void)
{
return (uint16_t) smile_fee->hk_reg_11 & 0xFFFFUL;
}
/**
* @brief get CCD3_VRD_MON_E HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd3_vrd_mon_e(void)
{
return (uint16_t) (smile_fee->hk_reg_12 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD4_VOD_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd4_vod_mon(void)
{
return (uint16_t) smile_fee->hk_reg_12 & 0xFFFFUL;
}
/**
* @brief get CCD4_VOG_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd4_vog_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_13 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD4_VRD_MON_e HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd4_vrd_mon_e(void)
{
return (uint16_t) smile_fee->hk_reg_13 & 0xFFFFUL;
}
/**
* @brief get VCCD HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_vccd(void)
{
return (uint16_t) (smile_fee->hk_reg_14 >> 16) & 0xFFFFUL;
}
/**
* @brief get VRCLK_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_vrclk_mon(void)
{
return (uint16_t) smile_fee->hk_reg_14 & 0xFFFFUL;
}
/**
* @brief get VICLK HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_viclk(void)
{
return (uint16_t) (smile_fee->hk_reg_15 >> 16) & 0xFFFFUL;
}
/**
* @brief get VRCLK_LOW HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_vrclk_low(void)
{
return (uint16_t) smile_fee->hk_reg_15 & 0xFFFFUL;
}
/**
* @brief get 5VB_POS_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_5vb_pos_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_16 >> 16) & 0xFFFFUL;
}
/**
* @brief get 5VB_NEG_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_5vb_neg_mon(void)
{
return (uint16_t) smile_fee->hk_reg_16 & 0xFFFFUL;
}
/**
* @brief get 3V3B_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_3v3b_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_17 >> 16) & 0xFFFFUL;
}
/**
* @brief get 2V5A_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_2v5a_mon(void)
{
return (uint16_t) smile_fee->hk_reg_17 & 0xFFFFUL;
}
/**
* @brief get 3V3D_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_3v3d_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_18 >> 16) & 0xFFFFUL;
}
/**
* @brief get 2V5D_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_2v5d_mon(void)
{
return (uint16_t) smile_fee->hk_reg_18 & 0xFFFFUL;
}
/**
* @brief get 1V5D_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_1v5d_mon(void)
{
return (uint16_t) smile_fee->hk_reg_19 & 0xFFFFUL;
}
/**
* @brief get 5VREF_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_5vref_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_19 >> 16) & 0xFFFFUL;
}
/**
* @brief get VCCD_POS_RAW HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_vccd_pos_raw(void)
{
return (uint16_t) smile_fee->hk_reg_20 & 0xFFFFUL;
}
/**
* @brief get VCLK_POS_RAW HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_vclk_pos_raw(void)
{
return (uint16_t) (smile_fee->hk_reg_20 >> 16) & 0xFFFFUL;
}
/**
* @brief get VAN1_POS_RAW HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_van1_pos_raw(void)
{
return (uint16_t) smile_fee->hk_reg_21 & 0xFFFFUL;
}
/**
* @brief get VAN3_NEG_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_van3_neg_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_21 >> 16) & 0xFFFFUL;
}
/**
* @brief get VAN2_POS_RAW HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_van2_pos_raw(void)
{
return (uint16_t) smile_fee->hk_reg_22 & 0xFFFFUL;
}
/**
* @brief get VDIG_RAW HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_vdig_raw(void)
{
return (uint16_t) (smile_fee->hk_reg_22 >> 16) & 0xFFFFUL;
}
/**
* @brief get VDIG_RAW_2 HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_vdig_raw_2(void)
{
return (uint16_t) smile_fee->hk_reg_23 & 0xFFFFUL;
}
/**
* @brief get VDIG_RAW HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_viclk_low(void)
{
return (uint16_t) (smile_fee->hk_reg_23 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD3_VRD_MON_F HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd3_vrd_mon_f(void)
{
return (uint16_t) smile_fee->hk_reg_27 & 0xFFFFUL;
}
/**
* @brief get CCD3_VDD_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd3_vdd_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_27 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD3_VGD_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd3_vgd_mon(void)
{
return (uint16_t) smile_fee->hk_reg_28 & 0xFFFFUL;
}
/**
* @brief get CCD4_VRD_MON_F HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd4_vrd_mon_f(void)
{
return (uint16_t) (smile_fee->hk_reg_28 >> 16) & 0xFFFFUL;
}
/**
* @brief get CCD4_VDD_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd4_vdd_mon(void)
{
return (uint16_t) smile_fee->hk_reg_29 & 0xFFFFUL;
}
/**
* @brief get CCD4_VGD_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ccd4_vgd_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_29 >> 16) & 0xFFFFUL;
}
/**
* @brief get IG_HI_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ig_hi_mon(void)
{
return (uint16_t) smile_fee->hk_reg_30 & 0xFFFFUL;
}
/**
* @brief get IG_LO_MON HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_ig_lo_mon(void)
{
return (uint16_t) (smile_fee->hk_reg_30 >> 16) & 0xFFFFUL;
}
/**
* @brief get TENSE_A HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_tense_a(void)
{
return (uint16_t) smile_fee->hk_reg_31 & 0xFFFFUL;
}
/**
* @brief get TENSE_B HK value
*
* @note no description available in register map document
*/
uint16_t smile_fee_get_hk_tense_b(void)
{
return (uint16_t) (smile_fee->hk_reg_30 >> 16) & 0xFFFFUL;
}
/**
* @brief get SpW Time Code HK value
*/
uint8_t smile_fee_get_hk_timecode_from_spw(void)
{
return (uint8_t) (smile_fee->hk_reg_32 >> 16) & 0xFFUL;
}
/**
* @brief get RMAP target status HK value
*/
uint8_t smile_fee_get_hk_rmap_target_status(void)
{
return (uint8_t) (smile_fee->hk_reg_32 >> 8) & 0xFFUL;
}
/**
* @brief get RMAP target status HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_rmap_target_indicate(void)
{
return (smile_fee->hk_reg_32 >> 5) & 0x1UL;
}
/**
* @brief get SpW link escape error HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_spw_link_escape_error(void)
{
return (smile_fee->hk_reg_32 >> 4) & 0x1UL;
}
/**
* @brief get SpW link credit error HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_spw_link_credit_error(void)
{
return (smile_fee->hk_reg_32 >> 3) & 0x1UL;
}
/**
* @brief get SpW link parity error HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_spw_link_parity_error(void)
{
return (smile_fee->hk_reg_32 >> 2) & 0x1UL;
}
/**
* @brief get SpW link disconnect HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_spw_link_disconnect(void)
{
return (smile_fee->hk_reg_32 >> 1) & 0x1UL;
}
/**
* @brief get SpW link running HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_spw_link_running(void)
{
return smile_fee->hk_reg_32 & 0x1UL;
}
/**
* @brief get frame counter HK value
*
* @note incrementing after each sync25 (description from register map document)
*/
uint32_t smile_fee_get_hk_frame_counter(void)
{
return (smile_fee->hk_reg_33 >> 16) & 0xFFFFUL;
}
/**
* @brief get FPGA op mode HK value
*/
uint8_t smile_fee_get_hk_fpga_op_mode(void)
{
return (uint8_t) smile_fee->hk_reg_33 & 0x7FUL;
}
/**
* @brief get error flag SpW link escape error HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_error_flag_spw_link_escape_error(void)
{
return smile_fee->hk_reg_34 & 0x1UL;
}
/**
* @brief get error flag SpW link credit error HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_error_flag_spw_link_credit_error(void)
{
return (smile_fee->hk_reg_34 >> 1) & 0x1UL;
}
/**
* @brief get error flag SpW link parity error HK value
*
* @returns 1 if set, 0 otherwise
*/
uint32_t smile_fee_get_hk_error_flag_spw_link_parity_error(void)
{
return (smile_fee->hk_reg_34 >> 2) & 0x1UL;
}
/** /**
* @brief sync configuration register 0 * @brief sync configuration register 0
* *
...@@ -1858,6 +2560,48 @@ int smile_fee_sync_execute_op(enum sync_direction dir) ...@@ -1858,6 +2560,48 @@ int smile_fee_sync_execute_op(enum sync_direction dir)
} }
/**
* @brief sync ALL HK registers
*
* @returns 0 on success, otherwise error occured in at least one transaction
*
* @note HK is read only, so this only syncs FEE->DPU
*/
int smile_fee_sync_hk_regs(void)
{
int err = 0;
err |= smile_fee_sync(fee_read_cmd_hk_reg_3, &smile_fee->hk_reg_3, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_4, &smile_fee->hk_reg_4, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_5, &smile_fee->hk_reg_5, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_6, &smile_fee->hk_reg_6, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_7, &smile_fee->hk_reg_7, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_11, &smile_fee->hk_reg_11, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_12, &smile_fee->hk_reg_12, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_13, &smile_fee->hk_reg_13, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_14, &smile_fee->hk_reg_14, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_15, &smile_fee->hk_reg_15, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_16, &smile_fee->hk_reg_16, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_17, &smile_fee->hk_reg_17, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_18, &smile_fee->hk_reg_18, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_19, &smile_fee->hk_reg_19, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_20, &smile_fee->hk_reg_20, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_21, &smile_fee->hk_reg_21, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_22, &smile_fee->hk_reg_22, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_23, &smile_fee->hk_reg_23, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_27, &smile_fee->hk_reg_27, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_28, &smile_fee->hk_reg_28, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_29, &smile_fee->hk_reg_29, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_30, &smile_fee->hk_reg_30, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_31, &smile_fee->hk_reg_31, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_32, &smile_fee->hk_reg_32, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_33, &smile_fee->hk_reg_33, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_34, &smile_fee->hk_reg_34, 0);
err |= smile_fee_sync(fee_read_cmd_hk_reg_35, &smile_fee->hk_reg_35, 0);
return err;
}
......
...@@ -31,41 +31,41 @@ struct smile_fee_mirror { ...@@ -31,41 +31,41 @@ struct smile_fee_mirror {
uint32_t cfg_reg_3; uint32_t cfg_reg_3;
uint32_t cfg_reg_4; uint32_t cfg_reg_4;
uint32_t cfg_reg_5; uint32_t cfg_reg_5;
uint32_t cfg_reg_6; uint32_t cfg_reg_6; /* unused */
uint32_t cfg_reg_7; uint32_t cfg_reg_7; /* unused */
uint32_t cfg_reg_8; uint32_t cfg_reg_8; /* unused */
uint32_t cfg_reg_9; uint32_t cfg_reg_9; /* unused */
uint32_t cfg_reg_10; uint32_t cfg_reg_10; /* unused */
uint32_t cfg_reg_11; uint32_t cfg_reg_11; /* unused */
uint32_t cfg_reg_12; uint32_t cfg_reg_12; /* unused */
uint32_t cfg_reg_13; uint32_t cfg_reg_13; /* unused */
uint32_t cfg_reg_14; uint32_t cfg_reg_14; /* unused */
uint32_t cfg_reg_15; uint32_t cfg_reg_15; /* unused */
uint32_t cfg_reg_16; uint32_t cfg_reg_16; /* unused */
uint32_t cfg_reg_17; uint32_t cfg_reg_17; /* unused */
uint32_t cfg_reg_18; uint32_t cfg_reg_18;
uint32_t cfg_reg_19; uint32_t cfg_reg_19;
uint32_t cfg_reg_20; uint32_t cfg_reg_20;
uint32_t cfg_reg_21; uint32_t cfg_reg_21;
uint32_t cfg_reg_22; uint32_t cfg_reg_22;
uint32_t cfg_reg_23; uint32_t cfg_reg_23; /* reserved */
uint32_t cfg_reg_24; uint32_t cfg_reg_24;
/* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */ /* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */
uint32_t unused[1696]; /* TODO */ uint32_t unused[423];
uint32_t hk_reg_0; uint32_t hk_reg_0; /* reserved */
uint32_t hk_reg_1; uint32_t hk_reg_1; /* reserved */
uint32_t hk_reg_2; uint32_t hk_reg_2; /* reserved */
uint32_t hk_reg_3; uint32_t hk_reg_3;
uint32_t hk_reg_4; uint32_t hk_reg_4;
uint32_t hk_reg_5; uint32_t hk_reg_5;
uint32_t hk_reg_6; uint32_t hk_reg_6;
uint32_t hk_reg_7; uint32_t hk_reg_7;
uint32_t hk_reg_8; uint32_t hk_reg_8; /* reserved */
uint32_t hk_reg_9; uint32_t hk_reg_9; /* reserved */
uint32_t hk_reg_10; uint32_t hk_reg_10; /* reserved */
uint32_t hk_reg_11; uint32_t hk_reg_11;
uint32_t hk_reg_12; uint32_t hk_reg_12;
uint32_t hk_reg_13; uint32_t hk_reg_13;
...@@ -79,9 +79,9 @@ struct smile_fee_mirror { ...@@ -79,9 +79,9 @@ struct smile_fee_mirror {
uint32_t hk_reg_21; uint32_t hk_reg_21;
uint32_t hk_reg_22; uint32_t hk_reg_22;
uint32_t hk_reg_23; uint32_t hk_reg_23;
uint32_t hk_reg_24; uint32_t hk_reg_24; /* reserved */
uint32_t hk_reg_25; uint32_t hk_reg_25; /* reserved */
uint32_t hk_reg_26; uint32_t hk_reg_26; /* reserved */
uint32_t hk_reg_27; uint32_t hk_reg_27;
uint32_t hk_reg_28; uint32_t hk_reg_28;
uint32_t hk_reg_29; uint32_t hk_reg_29;
...@@ -118,6 +118,9 @@ int smile_fee_sync_cfg_reg_21(enum sync_direction dir); ...@@ -118,6 +118,9 @@ int smile_fee_sync_cfg_reg_21(enum sync_direction dir);
int smile_fee_sync_cfg_reg_22(enum sync_direction dir); int smile_fee_sync_cfg_reg_22(enum sync_direction dir);
int smile_fee_sync_cfg_reg_24(enum sync_direction dir); int smile_fee_sync_cfg_reg_24(enum sync_direction dir);
int smile_fee_sync_hk_regs(void);
/* values contained in registers */ /* values contained in registers */
int smile_fee_sync_vstart(enum sync_direction dir); int smile_fee_sync_vstart(enum sync_direction dir);
int smile_fee_sync_vend(enum sync_direction dir); int smile_fee_sync_vend(enum sync_direction dir);
...@@ -237,6 +240,70 @@ void smile_fee_set_ccd2_single_pixel_treshold(uint16_t threshold); ...@@ -237,6 +240,70 @@ void smile_fee_set_ccd2_single_pixel_treshold(uint16_t threshold);
void smile_fee_set_execute_op(uint32_t mode); void smile_fee_set_execute_op(uint32_t mode);
/* read SMILE_FEE housekeeping register mirror */
uint16_t smile_fee_get_hk_ccd1_ts(void);
uint16_t smile_fee_get_hk_ccd2_ts(void);
uint16_t smile_fee_get_hk_ccd3_ts(void);
uint16_t smile_fee_get_hk_ccd4_ts(void);
uint16_t smile_fee_get_hk_prt1(void);
uint16_t smile_fee_get_hk_prt2(void);
uint16_t smile_fee_get_hk_prt3(void);
uint16_t smile_fee_get_hk_prt4(void);
uint16_t smile_fee_get_hk_prt5(void);
uint16_t smile_fee_get_hk_zero_diff_amp(void);
uint16_t smile_fee_get_hk_ccd3_vod_mon(void);
uint16_t smile_fee_get_hk_ccd3_vog_mon(void);
uint16_t smile_fee_get_hk_ccd3_vrd_mon_e(void);
uint16_t smile_fee_get_hk_ccd4_vod_mon(void);
uint16_t smile_fee_get_hk_ccd4_vog_mon(void);
uint16_t smile_fee_get_hk_ccd4_vrd_mon_e(void);
uint16_t smile_fee_get_hk_vccd(void);
uint16_t smile_fee_get_hk_vrclk_mon(void);
uint16_t smile_fee_get_hk_viclk(void);
uint16_t smile_fee_get_hk_vrclk_low(void);
uint16_t smile_fee_get_hk_5vb_pos_mon(void);
uint16_t smile_fee_get_hk_5vb_neg_mon(void);
uint16_t smile_fee_get_hk_3v3b_mon(void);
uint16_t smile_fee_get_hk_2v5a_mon(void);
uint16_t smile_fee_get_hk_3v3d_mon(void);
uint16_t smile_fee_get_hk_2v5d_mon(void);
uint16_t smile_fee_get_hk_1v5d_mon(void);
uint16_t smile_fee_get_hk_5vref_mon(void);
uint16_t smile_fee_get_hk_vccd_pos_raw(void);
uint16_t smile_fee_get_hk_vclk_pos_raw(void);
uint16_t smile_fee_get_hk_van1_pos_raw(void);
uint16_t smile_fee_get_hk_van3_neg_mon(void);
uint16_t smile_fee_get_hk_van2_pos_raw(void);
uint16_t smile_fee_get_hk_vdig_raw(void);
uint16_t smile_fee_get_hk_vdig_raw_2(void);
uint16_t smile_fee_get_hk_viclk_low(void);
uint16_t smile_fee_get_hk_ccd3_vrd_mon_f(void);
uint16_t smile_fee_get_hk_ccd3_vdd_mon(void);
uint16_t smile_fee_get_hk_ccd3_vgd_mon(void);
uint16_t smile_fee_get_hk_ccd4_vrd_mon_f(void);
uint16_t smile_fee_get_hk_ccd4_vdd_mon(void);
uint16_t smile_fee_get_hk_ccd4_vgd_mon(void);
uint16_t smile_fee_get_hk_ig_hi_mon(void);
uint16_t smile_fee_get_hk_ig_lo_mon(void);
uint16_t smile_fee_get_hk_tense_a(void);
uint16_t smile_fee_get_hk_tense_b(void);
uint8_t smile_fee_get_hk_timecode_from_spw(void);
uint8_t smile_fee_get_hk_rmap_target_status(void);
uint32_t smile_fee_get_hk_rmap_target_indicate(void);
uint32_t smile_fee_get_hk_spw_link_escape_error(void);
uint32_t smile_fee_get_hk_spw_link_credit_error(void);
uint32_t smile_fee_get_hk_spw_link_parity_error(void);
uint32_t smile_fee_get_hk_spw_link_disconnect(void);
uint32_t smile_fee_get_hk_spw_link_running(void);
uint32_t smile_fee_get_hk_frame_counter(void);
uint8_t smile_fee_get_hk_fpga_op_mode(void);
uint32_t smile_fee_get_hk_error_flag_spw_link_escape_error(void);
uint32_t smile_fee_get_hk_error_flag_spw_link_credit_error(void);
uint32_t smile_fee_get_hk_error_flag_spw_link_parity_error(void);
/* setup */ /* setup */
void smile_fee_ctrl_init(struct smile_fee_mirror *fee_mirror); void smile_fee_ctrl_init(struct smile_fee_mirror *fee_mirror);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment