PPI driver APIs. More...
Data Structures | |
| struct | ppi_clk_pin_config_t |
| clock pin config structure More... | |
| struct | ppi_cs_pin_config_t |
| cs pin config structure More... | |
| struct | ppi_cmd_config_t |
| cmd config structure More... | |
Functions | |
| static void | ppi_set_reset (PPI_Type *ppi, bool reset) |
| set ppi software reset More... | |
| static void | ppi_config_cs_pin_polarity (PPI_Type *ppi, uint8_t index, ppi_cs_idle_polarity_t pol) |
| config cs pin work valid polarity More... | |
| static void | ppi_config_dm_pin_polarity (PPI_Type *ppi, uint8_t index, ppi_dm_valid_polarity_t pol) |
| config dm pin work polarity More... | |
| static void | ppi_config_ctrl_pin_polarity (PPI_Type *ppi, uint8_t index, ppi_ctrl_polarity_t pol) |
| config ctrl pin work polarity, output and input ctrl pin polarity has different meaning More... | |
| static void | ppi_set_ctrl_pin_dir (PPI_Type *ppi, uint8_t index, ppi_ctrl_pin_dir_t dir) |
| set ctrl pin direction More... | |
| static void | ppi_config_timeout (PPI_Type *ppi, uint16_t timeout_cnt, bool enable) |
| config timeout More... | |
| static void | ppi_set_irq_enable (PPI_Type *ppi, uint32_t mask) |
| set irq enable More... | |
| static void | ppi_set_irq_disable (PPI_Type *ppi, uint32_t mask) |
| set irq disable More... | |
| static uint32_t | ppi_get_irq_enable_status (PPI_Type *ppi) |
| get irq enable status More... | |
| static uint32_t | ppi_get_irq_status (PPI_Type *ppi) |
| get irq status More... | |
| static void | ppi_clear_irq_flag (PPI_Type *ppi, uint32_t mask) |
| clear irq flag More... | |
| static void | ppi_set_clk_pin_enable (PPI_Type *ppi) |
| set clk pin enable More... | |
| static void | ppi_set_clk_pin_disable (PPI_Type *ppi) |
| set clk pin disable More... | |
| void | ppi_config_clk_pin (PPI_Type *ppi, ppi_clk_pin_config_t *config) |
| config clock pin output More... | |
| void | ppi_config_cs_pin (PPI_Type *ppi, uint8_t index, ppi_cs_pin_config_t *config) |
| config cs pin More... | |
| void | ppi_config_cmd (PPI_Type *ppi, uint8_t index, ppi_cmd_config_t *config) |
| config cmd More... | |
| uint32_t | ppi_ns2cycle (uint32_t freq_in_hz, uint32_t ns) |
| convert ns to cycle More... | |
PPI driver APIs.
| enum ppi_ad_func_t |
#include <drivers/inc/hpm_ppi_drv.h>
cmd address and data function
| Enumerator | |
|---|---|
| ppi_ad_func_data | |
| ppi_ad_func_addr | |
| enum ppi_ad_pin_dir_t |
#include <drivers/inc/hpm_ppi_drv.h>
cmd address and data pins direction
| Enumerator | |
|---|---|
| ppi_ad_pin_dir_output | |
| ppi_ad_pin_dir_input | |
| enum ppi_byte_sel_t |
#include <drivers/inc/hpm_ppi_drv.h>
cmd byte select
| Enumerator | |
|---|---|
| ppi_byte_sel_0_7_bits | |
| ppi_byte_sel_8_15_bits | |
| ppi_byte_sel_16_23_bits | |
| ppi_byte_sel_24_31_bits | |
#include <drivers/inc/hpm_ppi_drv.h>
clock pin output mode
| Enumerator | |
|---|---|
| ppi_clk_output_by_cmd_clk_output | |
| ppi_clk_always_output | |
#include <drivers/inc/hpm_ppi_drv.h>
cs pin idle polarity
| Enumerator | |
|---|---|
| ppi_cs_idle_pol_low | |
| ppi_cs_idle_pol_high | |
| enum ppi_ctrl_pin_dir_t |
#include <drivers/inc/hpm_ppi_drv.h>
ctrl pin direction
| Enumerator | |
|---|---|
| ppi_ctrl_pin_dir_input | |
| ppi_ctrl_pin_dir_output | |
| enum ppi_ctrl_polarity_t |
#include <drivers/inc/hpm_ppi_drv.h>
dm pin valid polarity
| Enumerator | |
|---|---|
| ppi_dm_valid_pol_high | |
| ppi_dm_valid_pol_low | |
| enum ppi_irq_mask_t |
| enum ppi_port_size_t |
#include <drivers/inc/hpm_ppi_drv.h>
port size
| Enumerator | |
|---|---|
| ppi_port_size_8bits | |
| ppi_port_size_16bits | |
| ppi_port_size_32bits | |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
clear irq flag
| [in] | ppi | PPI base address |
| [in] | mask | irq mask, ppi_irq_mask_t |
| void ppi_config_clk_pin | ( | PPI_Type * | ppi, |
| ppi_clk_pin_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_ppi_drv.h>
config clock pin output
| [in] | ppi | PPI base address |
| [in] | config | clock pin config structure pointer, ppi_clk_pin_config_t |
| void ppi_config_cmd | ( | PPI_Type * | ppi, |
| uint8_t | index, | ||
| ppi_cmd_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_ppi_drv.h>
config cmd
| [in] | ppi | PPI base address |
| [in] | index | cmd index, value: 0 - 63 |
| [in] | config | cmd config structure pointer, ppi_cmd_config_t |
| void ppi_config_cs_pin | ( | PPI_Type * | ppi, |
| uint8_t | index, | ||
| ppi_cs_pin_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_ppi_drv.h>
config cs pin
| [in] | ppi | PPI base address |
| [in] | index | cs pin index, value: 0 - 3 |
| [in] | config | cs pin config structure pointer, ppi_cs_pin_config_t |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
config cs pin work valid polarity
| [in] | ppi | PPI base address |
| [in] | index | cs pin index, value: 0 - 3 |
| [in] | pol | ppi_cs_idle_polarity_t |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
config ctrl pin work polarity, output and input ctrl pin polarity has different meaning
| [in] | ppi | PPI base address |
| [in] | index | Ctrl pin index, value: 0 - 7 |
| [in] | pol | ppi_ctrl_polarity_t [1] Output: ppi_ctrl_pol_low is output the value in cmd; ppi_ctrl_pol_high is output reversed value in cmd. [2] Input: ppi_ctrl_pol_low is input low valid; ppi_ctrl_pol_high is input high valid. |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
config dm pin work polarity
| [in] | ppi | PPI base address |
| [in] | index | If has HPM_IP_FEATURE_PPI_DM_POLARITY_EACH_CS feature, this is cs pin index, value: 0 - 3. Else, not use. |
| [in] | pol | ppi_dm_valid_polarity_t |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
config timeout
| [in] | ppi | PPI base address |
| [in] | timeout_cnt | timeout counter |
| [in] | enable | true - enable; false - disable |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
get irq enable status
| [in] | ppi | PPI base address |
| irq | enable status, ppi_irq_mask_t |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
get irq status
| [in] | ppi | PPI base address |
| irq | status, ppi_irq_mask_t |
| uint32_t ppi_ns2cycle | ( | uint32_t | freq_in_hz, |
| uint32_t | ns | ||
| ) |
#include <drivers/inc/hpm_ppi_drv.h>
convert ns to cycle
| [in] | freq_in_hz | PPI clock frequency in Hz |
| [in] | ns | time in ns |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
set ctrl pin direction
| [in] | ppi | PPI base address |
| [in] | index | Ctrl pin index, value: 0 - 7 |
| [in] | dir | Ctrl pin direction, ppi_ctrl_pin_dir_t |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
set irq disable
| [in] | ppi | PPI base address |
| [in] | mask | irq mask, ppi_irq_mask_t |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
set irq enable
| [in] | ppi | PPI base address |
| [in] | mask | irq mask, ppi_irq_mask_t |
|
inlinestatic |
#include <drivers/inc/hpm_ppi_drv.h>
set ppi software reset
| [in] | ppi | PPI base address |
| [in] | reset | true - software reset; false - normal work. |