WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
GPIO porting info.

宏定义

#define GPIO_CHANNEL_0_GROUP_NUM   1
 GPIO info definition of each channel and group. Developer should adapt GPIO info here.
 
#define GPIO_CHANNEL_0_GROUP_0_PIN_NUM   8
 
#define GPIO_CHANNEL_0_GROUP_0_CB_START_ID   0
 
#define GPIO_CHANNEL_0_PIN_NUM   (GPIO_CHANNEL_0_GROUP_0_PIN_NUM)
 
#define GPIO_CHANNEL_1_GROUP_NUM   1
 
#define GPIO_CHANNEL_1_GROUP_0_PIN_NUM   8
 
#define GPIO_CHANNEL_1_GROUP_0_CB_START_ID   (GPIO_CHANNEL_0_GROUP_0_CB_START_ID + GPIO_CHANNEL_0_PIN_NUM)
 
#define GPIO_CHANNEL_1_PIN_NUM   (GPIO_CHANNEL_1_GROUP_0_PIN_NUM)
 
#define GPIO_CHANNEL_2_GROUP_NUM   1
 
#define GPIO_CHANNEL_2_GROUP_0_PIN_NUM   3
 
#define GPIO_CHANNEL_2_GROUP_0_CB_START_ID   (GPIO_CHANNEL_1_GROUP_0_CB_START_ID + GPIO_CHANNEL_1_PIN_NUM)
 
#define GPIO_CHANNEL_2_PIN_NUM   (GPIO_CHANNEL_2_GROUP_0_PIN_NUM)
 
#define GPIO_PIN_NUM   (GPIO_CHANNEL_0_PIN_NUM + GPIO_CHANNEL_1_PIN_NUM + GPIO_CHANNEL_2_PIN_NUM)
 
#define GPIO_CHANNELS_NUM   GPIO_CHANNEL_MAX_NUM
 

类型定义

typedef enum gpio_channel gpio_channel_t
 Definition of GPIO Channel index.
 

枚举

enum  gpio_channel { GPIO_CHANNEL_0 = 0 , GPIO_CHANNEL_1 , GPIO_CHANNEL_2 , GPIO_CHANNEL_MAX_NUM }
 Definition of GPIO Channel index. 更多...
 

函数

hal_gpio_channel_info_tgpio_porting_channel_info_get (uint32_t channel)
 Get GPIO channel info.
 
hal_gpio_group_context_tgpio_porting_group_context_get (uint32_t channel, uint32_t group)
 Get GPIO group context of target channel and group.
 
void gpio_porting_channel_context_clean (uint32_t channel, uint32_t group_num)
 Clean all GPIO context of target channel.
 
uintptr_t gpio_porting_base_addr_get (uint32_t channel)
 Get GPIO base addr of of target channel.
 
void gpio_ulp_int_en (bool on)
 Enable ulp gpio interrupt, set ulp gpio clk as 32K.
 
void gpio_select_core (pin_t pin, cores_t core)
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2023. All rights reserved.

Description: Provides gpio port template
History:
2022-07-26, Create file.

宏定义说明

◆ GPIO_CHANNEL_0_GROUP_0_CB_START_ID

#define GPIO_CHANNEL_0_GROUP_0_CB_START_ID   0

◆ GPIO_CHANNEL_0_GROUP_0_PIN_NUM

#define GPIO_CHANNEL_0_GROUP_0_PIN_NUM   8

◆ GPIO_CHANNEL_0_GROUP_NUM

#define GPIO_CHANNEL_0_GROUP_NUM   1

GPIO info definition of each channel and group. Developer should adapt GPIO info here.

注解
GPIO_CHANNEL_X_GROUP_NUM: GPIO group number of channel X. GPIO_CHANNEL_X_GROUP_Y_PIN_NUM: GPIO pin number in channel X group Y. GPIO_CHANNEL_X_GROUP_Y_CB_START_ID: GPIO callback start ID in channel X group Y. The callback functions of all GPIO pins are registered in the same array. The array length is equal to the number of all GPIO pins. The value starts from 0 and is accumulated based on the number of pins in each group. GPIO_CHANNEL_X_PIN_NUM: GPIO number of channel X.

GPIO_PIN_NUM: GPIO sum number of all channel.

◆ GPIO_CHANNEL_0_PIN_NUM

#define GPIO_CHANNEL_0_PIN_NUM   (GPIO_CHANNEL_0_GROUP_0_PIN_NUM)

◆ GPIO_CHANNEL_1_GROUP_0_CB_START_ID

#define GPIO_CHANNEL_1_GROUP_0_CB_START_ID   (GPIO_CHANNEL_0_GROUP_0_CB_START_ID + GPIO_CHANNEL_0_PIN_NUM)

◆ GPIO_CHANNEL_1_GROUP_0_PIN_NUM

#define GPIO_CHANNEL_1_GROUP_0_PIN_NUM   8

◆ GPIO_CHANNEL_1_GROUP_NUM

#define GPIO_CHANNEL_1_GROUP_NUM   1

◆ GPIO_CHANNEL_1_PIN_NUM

#define GPIO_CHANNEL_1_PIN_NUM   (GPIO_CHANNEL_1_GROUP_0_PIN_NUM)

◆ GPIO_CHANNEL_2_GROUP_0_CB_START_ID

#define GPIO_CHANNEL_2_GROUP_0_CB_START_ID   (GPIO_CHANNEL_1_GROUP_0_CB_START_ID + GPIO_CHANNEL_1_PIN_NUM)

◆ GPIO_CHANNEL_2_GROUP_0_PIN_NUM

#define GPIO_CHANNEL_2_GROUP_0_PIN_NUM   3

◆ GPIO_CHANNEL_2_GROUP_NUM

#define GPIO_CHANNEL_2_GROUP_NUM   1

◆ GPIO_CHANNEL_2_PIN_NUM

#define GPIO_CHANNEL_2_PIN_NUM   (GPIO_CHANNEL_2_GROUP_0_PIN_NUM)

◆ GPIO_CHANNELS_NUM

#define GPIO_CHANNELS_NUM   GPIO_CHANNEL_MAX_NUM

◆ GPIO_PIN_NUM

类型定义说明

◆ gpio_channel_t

Definition of GPIO Channel index.

注解
GPIO Channels number might be different for each chip and core.

枚举类型说明

◆ gpio_channel

Definition of GPIO Channel index.

注解
GPIO Channels number might be different for each chip and core.
枚举值
GPIO_CHANNEL_0 

GPIO Channel 0

GPIO_CHANNEL_1 

GPIO Channel 1

GPIO_CHANNEL_2 

GPIO Channel 2

GPIO_CHANNEL_MAX_NUM 

函数说明

◆ gpio_porting_base_addr_get()

uintptr_t gpio_porting_base_addr_get ( uint32_t  channel)

Get GPIO base addr of of target channel.

参数
[in]channelThe channel id of gpio.
返回
GPIO base addr of of target channel.

◆ gpio_porting_channel_context_clean()

void gpio_porting_channel_context_clean ( uint32_t  channel,
uint32_t  group_num 
)

Clean all GPIO context of target channel.

参数
[in]channelThe channel id of GPIO.
[in]group_numGroup number of GPIO channel.

◆ gpio_porting_channel_info_get()

hal_gpio_channel_info_t * gpio_porting_channel_info_get ( uint32_t  channel)

Get GPIO channel info.

参数
[in]channelThe channel id of GPIO.
返回
GPIO group info of target channel. See hal_gpio_channel_info_t

◆ gpio_porting_group_context_get()

hal_gpio_group_context_t * gpio_porting_group_context_get ( uint32_t  channel,
uint32_t  group 
)

Get GPIO group context of target channel and group.

参数
[in]channelThe channel id of GPIO.
[in]groupThe group id of GPIO.
返回
GPIO group context of target channel and group. See hal_gpio_group_context_t

◆ gpio_select_core()

void gpio_select_core ( pin_t  pin,
cores_t  core 
)

◆ gpio_ulp_int_en()

void gpio_ulp_int_en ( bool  on)

Enable ulp gpio interrupt, set ulp gpio clk as 32K.

参数
onTrue enable and set clk as 32K, false disable ulp gpio interrupt.