mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-03 22:08:28 +00:00 
			
		
		
		
	feat(uart): move periph_ll_uart_enabled to uart_ll.h
This commit is contained in:
		@@ -330,19 +330,6 @@ static inline bool IRAM_ATTR periph_ll_periph_enabled(periph_module_t periph)
 | 
			
		||||
           REG_GET_BIT(periph_ll_get_clk_en_reg(periph), periph_ll_get_clk_en_mask(periph)) != 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
FORCE_INLINE_ATTR bool periph_ll_uart_enabled(uint32_t uart_num)
 | 
			
		||||
{
 | 
			
		||||
    HAL_ASSERT(uart_num < SOC_UART_HP_NUM);
 | 
			
		||||
    uint32_t uart_clk_config_reg = ((uart_num == 0) ? PCR_UART0_CONF_REG :
 | 
			
		||||
                                    (uart_num == 1) ? PCR_UART1_CONF_REG : 0);
 | 
			
		||||
    uint32_t uart_rst_bit = ((uart_num == 0) ? PCR_UART0_RST_EN :
 | 
			
		||||
                            (uart_num == 1) ? PCR_UART1_RST_EN : 0);
 | 
			
		||||
    uint32_t uart_en_bit  = ((uart_num == 0) ? PCR_UART0_CLK_EN :
 | 
			
		||||
                            (uart_num == 1) ? PCR_UART1_CLK_EN : 0);
 | 
			
		||||
    return REG_GET_BIT(uart_clk_config_reg, uart_rst_bit) == 0 &&
 | 
			
		||||
        REG_GET_BIT(uart_clk_config_reg, uart_en_bit) != 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,7 @@
 | 
			
		||||
#include "soc/uart_struct.h"
 | 
			
		||||
#include "soc/lp_uart_reg.h"
 | 
			
		||||
#include "soc/pcr_struct.h"
 | 
			
		||||
#include "soc/pcr_reg.h"
 | 
			
		||||
#include "soc/lp_clkrst_struct.h"
 | 
			
		||||
#include "soc/lpperi_struct.h"
 | 
			
		||||
#include "hal/assert.h"
 | 
			
		||||
@@ -161,6 +162,27 @@ static inline void lp_uart_ll_reset_register(int hw_id)
 | 
			
		||||
#define lp_uart_ll_reset_register(...) (void)__DECLARE_RCC_ATOMIC_ENV; lp_uart_ll_reset_register(__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
/*************************************** General LL functions ******************************************/
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Check if UART is enabled or disabled.
 | 
			
		||||
 *
 | 
			
		||||
 * @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).
 | 
			
		||||
 *
 | 
			
		||||
 * @return true: enabled; false: disabled
 | 
			
		||||
 */
 | 
			
		||||
FORCE_INLINE_ATTR bool uart_ll_is_enabled(uint32_t uart_num)
 | 
			
		||||
{
 | 
			
		||||
    HAL_ASSERT(uart_num < SOC_UART_HP_NUM);
 | 
			
		||||
    uint32_t uart_clk_config_reg = ((uart_num == 0) ? PCR_UART0_CONF_REG :
 | 
			
		||||
                                    (uart_num == 1) ? PCR_UART1_CONF_REG : 0);
 | 
			
		||||
    uint32_t uart_rst_bit = ((uart_num == 0) ? PCR_UART0_RST_EN :
 | 
			
		||||
                            (uart_num == 1) ? PCR_UART1_RST_EN : 0);
 | 
			
		||||
    uint32_t uart_en_bit  = ((uart_num == 0) ? PCR_UART0_CLK_EN :
 | 
			
		||||
                            (uart_num == 1) ? PCR_UART1_CLK_EN : 0);
 | 
			
		||||
    return REG_GET_BIT(uart_clk_config_reg, uart_rst_bit) == 0 &&
 | 
			
		||||
        REG_GET_BIT(uart_clk_config_reg, uart_en_bit) != 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @brief Sync the update to UART core clock domain
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user