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_cap_pins(void);
17 void init_i2c_pins_as_gpio(I2C_Type *ptr);
18 void init_i2c_pins(I2C_Type *ptr);
19 void init_gpio_pins(void);
20 void init_spi_pins(SPI_Type *ptr);
21 void init_spi_pins_with_gpio_as_cs(SPI_Type *ptr);
22 void init_pins(void);
23 void init_gptmr_pins(GPTMR_Type *ptr);
24 void init_hall_trgm_pins(void);
25 void init_qei_trgm_pins(void);
26 void init_butn_pins(void);
27 void init_acmp_pins(void);
28 void init_adc_pins(void);
29 void init_usb_pins(void);
30 void init_can_pins(MCAN_Type *ptr);
31 void init_i2c_pins_as_gpio(I2C_Type *ptr);
32 void init_led_pins_as_gpio(void);
33 void init_cam_pins(void);
34 void init_cam_mipi_csi_pins(void);
35 void init_sdm_pins(void);
36 void init_mipi_lvds_tx_phy0_pin(void);
37 void init_mipi_lvds_tx_phy1_pin(void);
38 void init_mipi_lvds_rx_phy0_pin(void);
39 void init_mipi_lvds_rx_phy1_pin(void);
40 void init_lcd_mipi_ctl_pins(void);
41 void init_lcd_lvds_double_ctl_pins(void);
42 void init_lcd_lvds_single_ctl_pins(void);
43 void init_lcd_rgb_ctl_pins(void);
44 void init_lcd_rgb_pins(void);
45 void init_sdxc_cmd_pin(SDXC_Type *ptr, bool open_drain, bool is_1v8);
46 void init_sdxc_ds_pin(SDXC_Type *ptr);
47 void init_sdxc_pwr_pin(SDXC_Type  *ptr, bool as_gpio);
48 void init_sdxc_cd_pin(SDXC_Type  *ptr, bool as_gpio);
49 void init_sdxc_clk_data_pins(SDXC_Type *ptr, uint32_t width, bool is_1v8);
50 void init_sdxc_vsel_pin(SDXC_Type *ptr, bool as_gpio);
51 void init_i2s_pins(I2S_Type *ptr);
52 void init_dao_pins(void);
53 void init_pdm_pins(void);
54 void init_enet_pins(ENET_Type *ptr);
55 void init_enet_pps_pins(void);
56 void init_adc_pins(void);
57 void init_tamper_pins(void);
58 
59 #ifdef __cplusplus
60 }
61 #endif
62 #endif /* HPM_PINMUX_H */
63