12 #include "hpm_soc_ip_feature.h"
13 #include "hpm_ppi_regs.h"
146 #if defined(HPM_IP_FEATURE_PPI_DM_POLARITY_EACH_CS) && HPM_IP_FEATURE_PPI_DM_POLARITY_EACH_CS
162 bool ctrl_pin_value[8];
206 #if defined(HPM_IP_FEATURE_PPI_DM_POLARITY_EACH_CS) && HPM_IP_FEATURE_PPI_DM_POLARITY_EACH_CS
367 uint32_t
ppi_ns2cycle(uint32_t freq_in_hz, uint32_t ns);
#define PPI_CLKPIN_CFG_EN_MASK
Definition: hpm_ppi_regs.h:169
#define PPI_PAD_CFG_CS_IDLE_ST_SHIFT
Definition: hpm_ppi_regs.h:69
#define PPI_IRQ_EN_IRQ_TMOUT_EN_MASK
Definition: hpm_ppi_regs.h:213
#define PPI_TM_CFG_TM_CFG_SET(x)
Definition: hpm_ppi_regs.h:193
#define PPI_TM_CFG_TM_EN_SET(x)
Definition: hpm_ppi_regs.h:183
#define PPI_GLB_CFG_SOFT_RESET_MASK
Definition: hpm_ppi_regs.h:57
#define PPI_PAD_CFG_CTRL_PAD_POL_SHIFT
Definition: hpm_ppi_regs.h:104
#define PPI_PAD_CFG_DM_PAD_POL_MASK
Definition: hpm_ppi_regs.h:78
#define PPI_PAD_CFG_CTRL_PAD_OE_SHIFT
Definition: hpm_ppi_regs.h:90
#define PPI_CS_CFG2_DM_POLARITY_SET(x)
Definition: hpm_ppi_regs.h:304
#define PPI_CS_CFG2_DM_POLARITY_MASK
Definition: hpm_ppi_regs.h:302
static void reset(hpm_panel_t *panel)
Definition: cc10128007.c:74
ppi_clk_output_mode_t
clock pin output mode
Definition: hpm_ppi_drv.h:62
ppi_dm_valid_polarity_t
dm pin valid polarity
Definition: hpm_ppi_drv.h:35
static void ppi_config_dm_pin_polarity(PPI_Type *ppi, uint8_t index, ppi_dm_valid_polarity_t pol)
config dm pin work polarity
Definition: hpm_ppi_drv.h:204
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
Definition: hpm_ppi_drv.h:228
ppi_port_size_t
port size
Definition: hpm_ppi_drv.h:79
uint32_t ppi_ns2cycle(uint32_t freq_in_hz, uint32_t ns)
convert ns to cycle
Definition: hpm_ppi_drv.c:105
static void ppi_set_clk_pin_enable(PPI_Type *ppi)
set clk pin enable
Definition: hpm_ppi_drv.h:319
static void ppi_clear_irq_flag(PPI_Type *ppi, uint32_t mask)
clear irq flag
Definition: hpm_ppi_drv.h:309
static uint32_t ppi_get_irq_enable_status(PPI_Type *ppi)
get irq enable status
Definition: hpm_ppi_drv.h:287
static void ppi_set_irq_disable(PPI_Type *ppi, uint32_t mask)
set irq disable
Definition: hpm_ppi_drv.h:276
ppi_cs_idle_polarity_t
cs pin idle polarity
Definition: hpm_ppi_drv.h:26
void ppi_config_cs_pin(PPI_Type *ppi, uint8_t index, ppi_cs_pin_config_t *config)
config cs pin
Definition: hpm_ppi_drv.c:24
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
Definition: hpm_ppi_drv.h:191
static void ppi_set_clk_pin_disable(PPI_Type *ppi)
set clk pin disable
Definition: hpm_ppi_drv.h:329
void ppi_config_cmd(PPI_Type *ppi, uint8_t index, ppi_cmd_config_t *config)
config cmd
Definition: hpm_ppi_drv.c:69
ppi_irq_mask_t
irq mask
Definition: hpm_ppi_drv.h:71
ppi_ctrl_pin_dir_t
ctrl pin direction
Definition: hpm_ppi_drv.h:53
ppi_ad_pin_dir_t
cmd address and data pins direction
Definition: hpm_ppi_drv.h:109
void ppi_config_clk_pin(PPI_Type *ppi, ppi_clk_pin_config_t *config)
config clock pin output
Definition: hpm_ppi_drv.c:10
ppi_byte_sel_t
cmd byte select
Definition: hpm_ppi_drv.h:89
ppi_ad_func_t
cmd address and data function
Definition: hpm_ppi_drv.h:100
static void ppi_set_irq_enable(PPI_Type *ppi, uint32_t mask)
set irq enable
Definition: hpm_ppi_drv.h:265
static void ppi_set_reset(PPI_Type *ppi, bool reset)
set ppi software reset
Definition: hpm_ppi_drv.h:175
static void ppi_config_timeout(PPI_Type *ppi, uint16_t timeout_cnt, bool enable)
config timeout
Definition: hpm_ppi_drv.h:254
static uint32_t ppi_get_irq_status(PPI_Type *ppi)
get irq status
Definition: hpm_ppi_drv.h:298
ppi_ctrl_polarity_t
ctrl pin polarity
Definition: hpm_ppi_drv.h:44
static void ppi_set_ctrl_pin_dir(PPI_Type *ppi, uint8_t index, ppi_ctrl_pin_dir_t dir)
set ctrl pin direction
Definition: hpm_ppi_drv.h:241
@ ppi_clk_always_output
Definition: hpm_ppi_drv.h:64
@ ppi_clk_output_by_cmd_clk_output
Definition: hpm_ppi_drv.h:63
@ ppi_dm_valid_pol_high
Definition: hpm_ppi_drv.h:36
@ ppi_dm_valid_pol_low
Definition: hpm_ppi_drv.h:37
@ ppi_port_size_16bits
Definition: hpm_ppi_drv.h:81
@ ppi_port_size_32bits
Definition: hpm_ppi_drv.h:82
@ ppi_port_size_8bits
Definition: hpm_ppi_drv.h:80
@ ppi_cs_idle_pol_high
Definition: hpm_ppi_drv.h:28
@ ppi_cs_idle_pol_low
Definition: hpm_ppi_drv.h:27
@ ppi_irq_tm_out_mask
Definition: hpm_ppi_drv.h:72
@ ppi_ctrl_pin_dir_input
Definition: hpm_ppi_drv.h:54
@ ppi_ctrl_pin_dir_output
Definition: hpm_ppi_drv.h:55
@ ppi_ad_pin_dir_output
Definition: hpm_ppi_drv.h:110
@ ppi_ad_pin_dir_input
Definition: hpm_ppi_drv.h:111
@ ppi_byte_sel_16_23_bits
Definition: hpm_ppi_drv.h:92
@ ppi_byte_sel_0_7_bits
Definition: hpm_ppi_drv.h:90
@ ppi_byte_sel_8_15_bits
Definition: hpm_ppi_drv.h:91
@ ppi_byte_sel_24_31_bits
Definition: hpm_ppi_drv.h:93
@ ppi_ad_func_data
Definition: hpm_ppi_drv.h:101
@ ppi_ad_func_addr
Definition: hpm_ppi_drv.h:102
@ ppi_ctrl_pol_high
Definition: hpm_ppi_drv.h:46
@ ppi_ctrl_pol_low
Definition: hpm_ppi_drv.h:45
Definition: hpm_ppi_regs.h:12
__RW uint32_t CLKPIN_CFG
Definition: hpm_ppi_regs.h:16
__RW uint32_t IRQ_STS
Definition: hpm_ppi_regs.h:19
__RW uint32_t IRQ_EN
Definition: hpm_ppi_regs.h:20
__RW uint32_t GLB_CFG
Definition: hpm_ppi_regs.h:13
struct PPI_Type::@684 CS[4]
__RW uint32_t CFG2
Definition: hpm_ppi_regs.h:25
__RW uint32_t PAD_CFG
Definition: hpm_ppi_regs.h:14
__RW uint32_t TM_CFG
Definition: hpm_ppi_regs.h:17
clock pin config structure
Definition: hpm_ppi_drv.h:118
bool revert
Definition: hpm_ppi_drv.h:123
uint8_t high_num
Definition: hpm_ppi_drv.h:120
uint8_t cycle_num
Definition: hpm_ppi_drv.h:119
ppi_clk_output_mode_t mode
Definition: hpm_ppi_drv.h:122
uint8_t low_num
Definition: hpm_ppi_drv.h:121
cmd config structure
Definition: hpm_ppi_drv.h:155
bool clk_output
Definition: hpm_ppi_drv.h:157
bool cs_pin_value
Definition: hpm_ppi_drv.h:156
uint8_t cmd_cycle
Definition: hpm_ppi_drv.h:158
cs pin config structure
Definition: hpm_ppi_drv.h:130
uint8_t wcmd_end1
Definition: hpm_ppi_drv.h:145
uint16_t addr_mask
Definition: hpm_ppi_drv.h:134
uint8_t rcmd_start1
Definition: hpm_ppi_drv.h:140
bool sync_clk_en
Definition: hpm_ppi_drv.h:135
uint8_t rcmd_start0
Definition: hpm_ppi_drv.h:138
uint16_t addr_end_high_12bits
Definition: hpm_ppi_drv.h:133
uint8_t wcmd_end0
Definition: hpm_ppi_drv.h:143
uint8_t wcmd_start1
Definition: hpm_ppi_drv.h:144
uint8_t interval_cycle
Definition: hpm_ppi_drv.h:137
uint16_t addr_start_high_12bits
Definition: hpm_ppi_drv.h:132
uint8_t rcmd_end0
Definition: hpm_ppi_drv.h:139
uint8_t rcmd_end1
Definition: hpm_ppi_drv.h:141
uint8_t wcmd_start0
Definition: hpm_ppi_drv.h:142
ppi_port_size_t port_size
Definition: hpm_ppi_drv.h:131
uint8_t sync_clk_sel
Definition: hpm_ppi_drv.h:136