1 /*
2  * Copyright (c) 2023 hpmicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_PINMUX_H
9 #define HPM_PINMUX_H
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 void init_uart_pins(UART_Type *ptr);
15 void init_uart_pin_as_gpio(UART_Type *ptr);
16 void init_i2c_pins_as_gpio(I2C_Type *ptr);
17 void init_i2c_pins(I2C_Type *ptr);
18 void init_femc_pins(void);
19 void init_ppi_pins(void);
20 void init_sdm_pins(void);
21 void init_pwm_pin_as_sdm_clock(void);
22 void init_gpio_pins(void);
23 void init_spi_pins(SPI_Type *ptr);
24 void init_spi_pins_with_gpio_as_cs(SPI_Type *ptr);
25 void init_gptmr_pins(GPTMR_Type *ptr);
26 void init_hall_trgm_pins(void);
27 void init_qei_trgm_pins(void);
28 void init_butn_pins(void);
29 void init_acmp_pins(void);
30 void init_pwm_pins(PWMV2_Type *ptr);
31 void init_usb_pins(void);
32 void init_i2s_pins(I2S_Type *ptr);
33 void init_qeo_pins(QEOV2_Type *ptr);
34 void init_sei_pins(SEI_Type *ptr, uint8_t sei_ctrl_idx);
35 void init_qeiv2_uvw_pins(QEIV2_Type *ptr);
36 void init_qeiv2_ab_pins(QEIV2_Type *ptr);
37 void init_qeiv2_abz_pins(QEIV2_Type *ptr);
38 void init_rdc_pin(void);
39 void init_dao_pins(void);
40 void init_pdm_pins(void);
41 void init_enet_pins(ENET_Type *ptr);
42 void init_enet_pps_pins(void);
43 void init_adc16_pins(void);
44 void init_adc_bldc_pins(void);
45 void init_adc_qeiv2_pins(void);
46 void init_can_pins(MCAN_Type *ptr);
47 void init_led_pins_as_gpio(void);
48 void init_led_pins_as_pwm(void);
49 void init_plb_pins(void);
50 void init_esc_pins(void);
51 void init_esc_in_out_pin(void);
52 void init_tsw_pins(void);
53 void init_tamper_pins(void);
54 void init_pwm_fault_pins(void);
55 void init_uart_break_signal_pin(void);
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 #endif /* HPM_PINMUX_H */
61