refactor(rtcio): align LP GPIO matrix related APIs with GPIO matrix APIs

This commit is contained in:
Song Ruo Jing
2026-04-29 12:17:37 +08:00
parent 1d50587ab2
commit e689feee9d
21 changed files with 198 additions and 123 deletions
+17
View File
@@ -100,4 +100,21 @@ void rtcio_hal_iomux_output(int rtcio_num, int func)
// as long as the func sel is not RTC IO, the oe can only be controlled by the peripheral
}
#if SOC_LP_GPIO_MATRIX_SUPPORTED
void rtcio_hal_matrix_in(int rtcio_num, uint32_t signal_idx, bool inv)
{
if (rtcio_num < SOC_RTCIO_PIN_COUNT) {
rtcio_ll_input_enable(rtcio_num);
}
rtcio_ll_set_input_signal_matrix_source(rtcio_num, signal_idx, inv);
}
void rtcio_hal_matrix_out(int rtcio_num, uint32_t signal_idx, bool out_inv, bool oen_inv)
{
rtcio_ll_iomux_func_sel(rtcio_num, RTCIO_LL_PIN_FUNC);
rtcio_ll_set_output_signal_matrix_source(rtcio_num, signal_idx, out_inv);
rtcio_ll_set_output_enable_ctrl(rtcio_num, true, oen_inv); // output is enabled at the end to avoid undesired level change
}
#endif // SOC_LP_GPIO_MATRIX_SUPPORTED
#endif //SOC_RTCIO_INPUT_OUTPUT_SUPPORTED