diff --git a/lib/cmp_data_types.c b/lib/cmp_data_types.c
index 333f5b4c6813b8d1887e30b85a9d51c37956fe7a..e3a33c6a9c3a8ac868ec62c2234ee537d00b36c8 100644
--- a/lib/cmp_data_types.c
+++ b/lib/cmp_data_types.c
@@ -149,7 +149,7 @@ uint32_t cmp_cal_size_of_data(uint32_t samples, enum cmp_data_type data_type)
 
 int32_t cmp_input_size_to_samples(uint32_t size, enum cmp_data_type data_type)
 {
-	uint32_t samples_size = size_of_a_sample(data_type);
+	uint32_t samples_size = (uint32_t)size_of_a_sample(data_type);
 
 	if (!samples_size)
 		return -1;
diff --git a/lib/cmp_guess.c b/lib/cmp_guess.c
index 8cdf7513e2a543533f52c1c5b6c8c33a59f17962..15109a328a8833ae03ddabd1bc13614ada9536ad 100644
--- a/lib/cmp_guess.c
+++ b/lib/cmp_guess.c
@@ -142,7 +142,7 @@ static uint32_t pre_cal_method(struct cmp_cfg *cfg)
 	cfg->golomb_par = golomb_par_best;
 	cfg->spill = spill_best;
 
-	return cmp_size_best;
+	return (uint32_t)cmp_size_best;
 }
 
 
@@ -199,7 +199,7 @@ static uint32_t brute_force(struct cmp_cfg *cfg)
 	cfg->golomb_par = golomb_par_best;
 	cfg->spill = spill_best;
 
-	return cmp_size_best;
+	return (uint32_t)cmp_size_best;
 }
 
 
diff --git a/lib/cmp_rdcu.c b/lib/cmp_rdcu.c
index 2469988e42af7988fcfad1f121cb6292c58db7d0..6ca12b07fe61369617097bc650a8a41d864d07d6 100644
--- a/lib/cmp_rdcu.c
+++ b/lib/cmp_rdcu.c
@@ -316,8 +316,8 @@ int rdcu_read_cmp_info(struct cmp_info *info)
 		info->cmp_mode_used = rdcu_get_compression_mode();
 		info->golomb_par_used = rdcu_get_golomb_param();
 		info->spill_used = rdcu_get_spillover_threshold();
-		info->model_value_used = rdcu_get_weighting_param();
-		info->round_used = rdcu_get_noise_bits_rounded();
+		info->model_value_used = (uint8_t)rdcu_get_weighting_param();
+		info->round_used = (uint8_t)rdcu_get_noise_bits_rounded();
 		info->rdcu_new_model_adr_used = rdcu_get_new_model_addr_used();
 		info->samples_used = rdcu_get_samples_used();
 		info->rdcu_cmp_adr_used = rdcu_get_compr_data_start_addr();
diff --git a/lib/decmp.c b/lib/decmp.c
index 47aeaa28d8ca5ce30f0a41b29bf5195cf1e21457..4ec43f7dfa80c2cd298c284ff860f5bd838a646d 100644
--- a/lib/decmp.c
+++ b/lib/decmp.c
@@ -78,7 +78,7 @@ static unsigned int count_leading_ones(uint32_t value)
 	if (value == 0xFFFFFFFF)
 		return 32;
 
-	return __builtin_clz(~value);
+	return (unsigned int)__builtin_clz(~value);
 }
 
 
diff --git a/lib/rdcu_ctrl.c b/lib/rdcu_ctrl.c
index 580b30981ab2ad85c4cac9e5281f395c12e49799..1e55f6aa51d0fe2b98631c26906d8c85e1e0a8ce 100644
--- a/lib/rdcu_ctrl.c
+++ b/lib/rdcu_ctrl.c
@@ -200,7 +200,7 @@ uint8_t rdcu_get_rmap_target_cmd_key(void)
 uint32_t rdcu_get_lvds_link_enabled(uint32_t link)
 {
 	if (link > 7)
-		return -1;
+		return -1U;
 
 	return (rdcu->lvds_core_status >> link) & 0x1UL;
 }