uint32_tpad_driver:1;/*if set to 0: normal output if set to 1: open drain*/
uint32_treserved3:4;
uint32_tint_type:3;/*if set to 0: GPIO interrupt disable if set to 1: rising edge trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/
uint32_twakeup_enable:1;/*GPIO wake up enable only available in light sleep*/
uint32_tconfig:2;/*NA*/
uint32_tint_ena:5;/*bit0: APP CPU interrupt enable bit1: APP CPU non-maskable interrupt enable bit3: PRO CPU interrupt enable bit4: PRO CPU non-maskable interrupt enable bit5: SDIO's extent interrupt enable*/
uint32_treserved18:14;
};
uint32_tval;
}pin[40];
union{
struct{
uint32_trtc_max:10;
uint32_treserved10:21;
uint32_tstart:1;
};
uint32_tval;
}cali_conf;
union{
struct{
uint32_tvalue_sync2:20;
uint32_treserved20:10;
uint32_trdy_real:1;
uint32_trdy_sync2:1;
};
uint32_tval;
}cali_data;
union{
struct{
uint32_tfunc_sel:6;/*select one of the 256 inputs*/
uint32_tsig_in_inv:1;/*revert the value of the input if you want to revert please set the value to 1*/
uint32_tsig_in_sel:1;/*if the slow signal bypass the io matrix or not if you want setting the value to 1*/
uint32_treserved8:24;/*The 256 registers below are selection control for 256 input signals connected to GPIO matrix's 40 GPIO input if GPIO_FUNCx_IN_SEL is set to n(0<=n<40): it means GPIOn input is used for input signal x if GPIO_FUNCx_IN_SEL is set to 0x38: the input signal x is set to 1 if GPIO_FUNCx_IN_SEL is set to 0x30: the input signal x is set to 0*/
};
uint32_tval;
}func_in_sel_cfg[256];
union{
struct{
uint32_tfunc_sel:9;/*select one of the 256 output to 40 GPIO*/
uint32_tinv_sel:1;/*invert the output value if you want to revert the output value setting the value to 1*/
uint32_toen_sel:1;/*weather using the logical oen signal or not using the value setting by the register*/
uint32_toen_inv_sel:1;/*invert the output enable value if you want to revert the output enable value setting the value to 1*/
uint32_treserved12:20;/*The 40 registers below are selection control for 40 GPIO output if GPIO_FUNCx_OUT_SEL is set to n(0<=n<256): it means GPIOn input is used for output signal x if GPIO_FUNCx_OUT_INV_SEL is set to 1 the output signal x is set to ~value. if GPIO_FUNC0_OUT_SEL is 256 or GPIO_FUNC0_OEN_SEL is 1 using GPIO_ENABLE_DATA[x] for the enable value else using the signal enable*/