//蓝牙4.2版本8
//BR/EDR的Interrupt Control Register和BLE的Interrupt Control Register不能形成Union Type
//BR/EDR的Frame Scheduler和BLE的Event Scheduler无法兼容
typedef struct {
uint32_t clknintmsk: 1;
uint32_t rxintmsk: 1;
uint32_t slpintmsk: 1;
uint32_t audioint0msk: 1;
uint32_t audioint1msk: 1;
uint32_t audioint2msk: 1;
uint32_t frsyncintmsk: 1;//[6:6] umac linkdriver ld_fm_prog_push
uint32_t mtoffint0msk: 1;
uint32_t mtoffint1msk: 1;
uint32_t finetgtintmsk: 1;
uint32_t grosstgtintmsk: 1;
uint32_t errorintmsk: 1;
uint32_t mwswcitxintmsk: 1;
uint32_t mwswcirxintmsk: 1;
uint32_t frameintmsk: 1;
uint32_t frameapfaintmsk: 1;
uint32_t swintmsk: 1;
uint32_t sketintmsk: 1;
uint32_t reserved_18_31: 14;
}bt_v8_lmac_intcntl;
typedef struct {
uint32_t cscntintmsk: 1;
uint32_t rxintmsk: 1;
uint32_t slpintmsk: 1;
uint32_t eventintmsk: 1;//[3:3] umac le linkdriver lld_event_schedule
uint32_t cryptintmsk: 1;
uint32_t errorintmsk: 1;
uint32_t grosstgtimintmsk: 1;
uint32_t finetgtimintmsk: 1;
uint32_t eventapfaintmsk: 1;
uint32_t swintmsk: 1;
uint32_t audioint0msk: 1;
uint32_t audioint1msk: 1;
uint32_t audioint2msk: 1;
uint32_t reserved_13_14: 2;
uint32_t cscntdevmsk: 1;
uint32_t reserved_16_31: 16;
}ble_v8_lmac_intcntl;
//ESP32 蓝牙双模4.2 ROM
// 蓝牙5.0版本9
//BR/EDR的Interrupt Control Register和BLE的Interrupt Control Register可以形成Union Type
//BR/EDR的Frame Scheduler和BLE的Event Scheduler可以兼容
typedef struct {
uint32_t clknintmsk: 1;
uint32_t reserved_01_01: 1;
uint32_t rxintmsk: 1;//umac sch_prog_push
uint32_t slpintmsk: 1;
uint32_t startfrmintmsk: 1;//umac sch_prog_push
uint32_t endfrmintmsk: 1;//umac sch_prog_push
uint32_t skipfrmintmsk: 1;//umac sch_prog_push
uint32_t cryptintmsk: 1;
uint32_t errorintmsk: 1;
uint32_t grosstgtintmsk: 1;
uint32_t finetgtintmsk: 1;
uint32_t timestampintmsk: 1;
uint32_t swintmsk: 1;
uint32_t audioint0msk: 1;
uint32_t audioint1msk: 1;
uint32_t audioint2msk: 1;
uint32_t frsyncintmsk: 1;//umac sch_prog_push
uint32_t mtoffint0msk: 1;
uint32_t mtoffint1msk: 1;
uint32_t mwswcitxintmsk: 1;
uint32_t mwswcirxintmsk: 1;
uint32_t reserved_21_23: 3;
uint32_t clknintsrval: 4;
uint32_t clknintsrmsk: 3;
uint32_t reserved_31_31: 1;
}bt_v9_lmac_intcntl;
typedef struct {
uint32_t clknintmsk: 1;
uint32_t txintmsk: 1;//umac sch_prog_push
uint32_t rxintmsk: 1;//umac sch_prog_push
uint32_t slpintmsk: 1;
uint32_t startevtintmsk: 1;//umac sch_prog_push
uint32_t endevtintmsk: 1;//umac sch_prog_push
uint32_t skipevtintmsk: 1;//umac sch_prog_push
uint32_t cryptintmsk: 1;
uint32_t errorintmsk: 1;
uint32_t grosstgtimintmsk: 1;
uint32_t finetgtimintmsk: 1;
uint32_t timestamptgtintmsk: 1;
uint32_t swintmsk: 1;
uint32_t audioint0msk: 1;
uint32_t audioint1msk: 1;
uint32_t audioint2msk: 1;
uint32_t reserved_16_23: 8;
uint32_t clknintsrval: 4;
uint32_t clknintsrmsk: 3;
uint32_t reserved_31_31: 1;
}ble_v9_lmac_intcntl;
//ESP32-C3 BLE 5.0 ROM
//蓝牙5.1版本10
//BR/EDR的Frame Scheduler和BLE的Event Scheduler统称Activity Scheduler
//新增一个共用的中断控制寄存器,配置在Dual Mode
//FIFO中断很关键
//从RSL15 Hardware Reference的6.3.3节BB Controller Interrupts学习了解该中断
typedef struct {
uint32_t clknintmsk: 1;
uint32_t slpintmsk: 1;
uint32_t cryptintmsk: 1;
uint32_t swintmsk: 1;
uint32_t finetgtintmsk: 1;
uint32_t timestamptgt1intmsk: 1;
uint32_t timestamptgt2intmsk: 1;
uint32_t reserved_07_14: 8;
uint32_t fifointmsk: 1;//umac sch_prog_fifo
uint32_t reserved_16_23: 8;
uint32_t clknintsrval: 4;
uint32_t clknintsrmsk: 3;
uint32_t reserved_31_31: 1;
}dm_v10_lmac_intcntl1;
typedef struct {
uint32_t startactintstat: 1;
uint32_t endactintstat: 1;
uint32_t skipactintstat: 1;
uint32_t txintstat: 1;
uint32_t rxintstat: 1;
uint32_t isotxintstat: 1;
uint32_t isorxintstat: 1;
uint32_t reserved_07_14: 8;
uint32_t actflag: 1;//0:BR/EDR Enable 1:BLE Enable
uint32_t reserved_16_23: 8;
uint32_t current_et_idx: 4;
uint32_t skip_et_idx: 4;
}dm_v10_lmac_actfifostat;