|
#define | CAN_MCAN_CREL 0x000 |
|
#define | CAN_MCAN_CREL_REL GENMASK(31, 28) |
|
#define | CAN_MCAN_CREL_STEP GENMASK(27, 24) |
|
#define | CAN_MCAN_CREL_SUBSTEP GENMASK(23, 20) |
|
#define | CAN_MCAN_CREL_YEAR GENMASK(19, 16) |
|
#define | CAN_MCAN_CREL_MON GENMASK(15, 8) |
|
#define | CAN_MCAN_CREL_DAY GENMASK(7, 0) |
|
#define | CAN_MCAN_ENDN 0x004 |
|
#define | CAN_MCAN_ENDN_ETV GENMASK(31, 0) |
|
#define | CAN_MCAN_CUST 0x008 |
|
#define | CAN_MCAN_CUST_CUST GENMASK(31, 0) |
|
#define | CAN_MCAN_DBTP 0x00C |
|
#define | CAN_MCAN_DBTP_TDC BIT(23) |
|
#define | CAN_MCAN_DBTP_DBRP GENMASK(20, 16) |
|
#define | CAN_MCAN_DBTP_DTSEG1 GENMASK(12, 8) |
|
#define | CAN_MCAN_DBTP_DTSEG2 GENMASK(7, 4) |
|
#define | CAN_MCAN_DBTP_DSJW GENMASK(3, 0) |
|
#define | CAN_MCAN_TEST 0x010 |
|
#define | CAN_MCAN_TEST_SVAL BIT(21) |
|
#define | CAN_MCAN_TEST_TXBNS GENMASK(20, 16) |
|
#define | CAN_MCAN_TEST_PVAL BIT(13) |
|
#define | CAN_MCAN_TEST_TXBNP GENMASK(12, 8) |
|
#define | CAN_MCAN_TEST_RX BIT(7) |
|
#define | CAN_MCAN_TEST_TX GENMASK(6, 5) |
|
#define | CAN_MCAN_TEST_LBCK BIT(4) |
|
#define | CAN_MCAN_RWD 0x014 |
|
#define | CAN_MCAN_RWD_WDV GENMASK(15, 8) |
|
#define | CAN_MCAN_RWD_WDC GENMASK(7, 0) |
|
#define | CAN_MCAN_CCCR 0x018 |
|
#define | CAN_MCAN_CCCR_NISO BIT(15) |
|
#define | CAN_MCAN_CCCR_TXP BIT(14) |
|
#define | CAN_MCAN_CCCR_EFBI BIT(13) |
|
#define | CAN_MCAN_CCCR_PXHD BIT(12) |
|
#define | CAN_MCAN_CCCR_WMM BIT(11) |
|
#define | CAN_MCAN_CCCR_UTSU BIT(10) |
|
#define | CAN_MCAN_CCCR_BRSE BIT(9) |
|
#define | CAN_MCAN_CCCR_FDOE BIT(8) |
|
#define | CAN_MCAN_CCCR_TEST BIT(7) |
|
#define | CAN_MCAN_CCCR_DAR BIT(6) |
|
#define | CAN_MCAN_CCCR_MON BIT(5) |
|
#define | CAN_MCAN_CCCR_CSR BIT(4) |
|
#define | CAN_MCAN_CCCR_CSA BIT(3) |
|
#define | CAN_MCAN_CCCR_ASM BIT(2) |
|
#define | CAN_MCAN_CCCR_CCE BIT(1) |
|
#define | CAN_MCAN_CCCR_INIT BIT(0) |
|
#define | CAN_MCAN_NBTP 0x01C |
|
#define | CAN_MCAN_NBTP_NSJW GENMASK(31, 25) |
|
#define | CAN_MCAN_NBTP_NBRP GENMASK(24, 16) |
|
#define | CAN_MCAN_NBTP_NTSEG1 GENMASK(15, 8) |
|
#define | CAN_MCAN_NBTP_NTSEG2 GENMASK(6, 0) |
|
#define | CAN_MCAN_TSCC 0x020 |
|
#define | CAN_MCAN_TSCC_TCP GENMASK(19, 16) |
|
#define | CAN_MCAN_TSCC_TSS GENMASK(1, 0) |
|
#define | CAN_MCAN_TSCV 0x024 |
|
#define | CAN_MCAN_TSCV_TSC GENMASK(15, 0) |
|
#define | CAN_MCAN_TOCC 0x028 |
|
#define | CAN_MCAN_TOCC_TOP GENMASK(31, 16) |
|
#define | CAN_MCAN_TOCC_TOS GENMASK(2, 1) |
|
#define | CAN_MCAN_TOCC_ETOC BIT(1) |
|
#define | CAN_MCAN_TOCV 0x02C |
|
#define | CAN_MCAN_TOCV_TOC GENMASK(15, 0) |
|
#define | CAN_MCAN_ECR 0x040 |
|
#define | CAN_MCAN_ECR_CEL GENMASK(23, 16) |
|
#define | CAN_MCAN_ECR_RP BIT(15) |
|
#define | CAN_MCAN_ECR_REC GENMASK(14, 8) |
|
#define | CAN_MCAN_ECR_TEC GENMASK(7, 0) |
|
#define | CAN_MCAN_PSR 0x044 |
|
#define | CAN_MCAN_PSR_TDCV GENMASK(22, 16) |
|
#define | CAN_MCAN_PSR_PXE BIT(14) |
|
#define | CAN_MCAN_PSR_RFDF BIT(13) |
|
#define | CAN_MCAN_PSR_RBRS BIT(12) |
|
#define | CAN_MCAN_PSR_RESI BIT(11) |
|
#define | CAN_MCAN_PSR_DLEC GENMASK(10, 8) |
|
#define | CAN_MCAN_PSR_BO BIT(7) |
|
#define | CAN_MCAN_PSR_EW BIT(6) |
|
#define | CAN_MCAN_PSR_EP BIT(5) |
|
#define | CAN_MCAN_PSR_ACT GENMASK(4, 3) |
|
#define | CAN_MCAN_PSR_LEC GENMASK(2, 0) |
|
#define | CAN_MCAN_TDCR 0x048 |
|
#define | CAN_MCAN_TDCR_TDCO GENMASK(14, 8) |
|
#define | CAN_MCAN_TDCR_TDCF GENMASK(6, 0) |
|
#define | CAN_MCAN_IR 0x050 |
|
#define | CAN_MCAN_IR_ARA BIT(29) |
|
#define | CAN_MCAN_IR_PED BIT(28) |
|
#define | CAN_MCAN_IR_PEA BIT(27) |
|
#define | CAN_MCAN_IR_WDI BIT(26) |
|
#define | CAN_MCAN_IR_BO BIT(25) |
|
#define | CAN_MCAN_IR_EW BIT(24) |
|
#define | CAN_MCAN_IR_EP BIT(23) |
|
#define | CAN_MCAN_IR_ELO BIT(22) |
|
#define | CAN_MCAN_IR_BEU BIT(21) |
|
#define | CAN_MCAN_IR_BEC BIT(20) |
|
#define | CAN_MCAN_IR_DRX BIT(19) |
|
#define | CAN_MCAN_IR_TOO BIT(18) |
|
#define | CAN_MCAN_IR_MRAF BIT(17) |
|
#define | CAN_MCAN_IR_TSW BIT(16) |
|
#define | CAN_MCAN_IR_TEFL BIT(15) |
|
#define | CAN_MCAN_IR_TEFF BIT(14) |
|
#define | CAN_MCAN_IR_TEFW BIT(13) |
|
#define | CAN_MCAN_IR_TEFN BIT(12) |
|
#define | CAN_MCAN_IR_TFE BIT(11) |
|
#define | CAN_MCAN_IR_TCF BIT(10) |
|
#define | CAN_MCAN_IR_TC BIT(9) |
|
#define | CAN_MCAN_IR_HPM BIT(8) |
|
#define | CAN_MCAN_IR_RF1L BIT(7) |
|
#define | CAN_MCAN_IR_RF1F BIT(6) |
|
#define | CAN_MCAN_IR_RF1W BIT(5) |
|
#define | CAN_MCAN_IR_RF1N BIT(4) |
|
#define | CAN_MCAN_IR_RF0L BIT(3) |
|
#define | CAN_MCAN_IR_RF0F BIT(2) |
|
#define | CAN_MCAN_IR_RF0W BIT(1) |
|
#define | CAN_MCAN_IR_RF0N BIT(0) |
|
#define | CAN_MCAN_IE 0x054 |
|
#define | CAN_MCAN_IE_ARAE BIT(29) |
|
#define | CAN_MCAN_IE_PEDE BIT(28) |
|
#define | CAN_MCAN_IE_PEAE BIT(27) |
|
#define | CAN_MCAN_IE_WDIE BIT(26) |
|
#define | CAN_MCAN_IE_BOE BIT(25) |
|
#define | CAN_MCAN_IE_EWE BIT(24) |
|
#define | CAN_MCAN_IE_EPE BIT(23) |
|
#define | CAN_MCAN_IE_ELOE BIT(22) |
|
#define | CAN_MCAN_IE_BEUE BIT(21) |
|
#define | CAN_MCAN_IE_BECE BIT(20) |
|
#define | CAN_MCAN_IE_DRXE BIT(19) |
|
#define | CAN_MCAN_IE_TOOE BIT(18) |
|
#define | CAN_MCAN_IE_MRAFE BIT(17) |
|
#define | CAN_MCAN_IE_TSWE BIT(16) |
|
#define | CAN_MCAN_IE_TEFLE BIT(15) |
|
#define | CAN_MCAN_IE_TEFFE BIT(14) |
|
#define | CAN_MCAN_IE_TEFWE BIT(13) |
|
#define | CAN_MCAN_IE_TEFNE BIT(12) |
|
#define | CAN_MCAN_IE_TFEE BIT(11) |
|
#define | CAN_MCAN_IE_TCFE BIT(10) |
|
#define | CAN_MCAN_IE_TCE BIT(9) |
|
#define | CAN_MCAN_IE_HPME BIT(8) |
|
#define | CAN_MCAN_IE_RF1LE BIT(7) |
|
#define | CAN_MCAN_IE_RF1FE BIT(6) |
|
#define | CAN_MCAN_IE_RF1WE BIT(5) |
|
#define | CAN_MCAN_IE_RF1NE BIT(4) |
|
#define | CAN_MCAN_IE_RF0LE BIT(3) |
|
#define | CAN_MCAN_IE_RF0FE BIT(2) |
|
#define | CAN_MCAN_IE_RF0WE BIT(1) |
|
#define | CAN_MCAN_IE_RF0NE BIT(0) |
|
#define | CAN_MCAN_ILS 0x058 |
|
#define | CAN_MCAN_ILS_ARAL BIT(29) |
|
#define | CAN_MCAN_ILS_PEDL BIT(28) |
|
#define | CAN_MCAN_ILS_PEAL BIT(27) |
|
#define | CAN_MCAN_ILS_WDIL BIT(26) |
|
#define | CAN_MCAN_ILS_BOL BIT(25) |
|
#define | CAN_MCAN_ILS_EWL BIT(24) |
|
#define | CAN_MCAN_ILS_EPL BIT(23) |
|
#define | CAN_MCAN_ILS_ELOL BIT(22) |
|
#define | CAN_MCAN_ILS_BEUL BIT(21) |
|
#define | CAN_MCAN_ILS_BECL BIT(20) |
|
#define | CAN_MCAN_ILS_DRXL BIT(19) |
|
#define | CAN_MCAN_ILS_TOOL BIT(18) |
|
#define | CAN_MCAN_ILS_MRAFL BIT(17) |
|
#define | CAN_MCAN_ILS_TSWL BIT(16) |
|
#define | CAN_MCAN_ILS_TEFLL BIT(15) |
|
#define | CAN_MCAN_ILS_TEFFL BIT(14) |
|
#define | CAN_MCAN_ILS_TEFWL BIT(13) |
|
#define | CAN_MCAN_ILS_TEFNL BIT(12) |
|
#define | CAN_MCAN_ILS_TFEL BIT(11) |
|
#define | CAN_MCAN_ILS_TCFL BIT(10) |
|
#define | CAN_MCAN_ILS_TCL BIT(9) |
|
#define | CAN_MCAN_ILS_HPML BIT(8) |
|
#define | CAN_MCAN_ILS_RF1LL BIT(7) |
|
#define | CAN_MCAN_ILS_RF1FL BIT(6) |
|
#define | CAN_MCAN_ILS_RF1WL BIT(5) |
|
#define | CAN_MCAN_ILS_RF1NL BIT(4) |
|
#define | CAN_MCAN_ILS_RF0LL BIT(3) |
|
#define | CAN_MCAN_ILS_RF0FL BIT(2) |
|
#define | CAN_MCAN_ILS_RF0WL BIT(1) |
|
#define | CAN_MCAN_ILS_RF0NL BIT(0) |
|
#define | CAN_MCAN_ILE 0x05C |
|
#define | CAN_MCAN_ILE_EINT1 BIT(1) |
|
#define | CAN_MCAN_ILE_EINT0 BIT(0) |
|
#define | CAN_MCAN_GFC 0x080 |
|
#define | CAN_MCAN_GFC_ANFS GENMASK(5, 4) |
|
#define | CAN_MCAN_GFC_ANFE GENMASK(3, 2) |
|
#define | CAN_MCAN_GFC_RRFS BIT(1) |
|
#define | CAN_MCAN_GFC_RRFE BIT(0) |
|
#define | CAN_MCAN_SIDFC 0x084 |
|
#define | CAN_MCAN_SIDFC_LSS GENMASK(23, 16) |
|
#define | CAN_MCAN_SIDFC_FLSSA GENMASK(15, 2) |
|
#define | CAN_MCAN_XIDFC 0x088 |
|
#define | CAN_MCAN_XIDFC_LSS GENMASK(22, 16) |
|
#define | CAN_MCAN_XIDFC_FLESA GENMASK(15, 2) |
|
#define | CAN_MCAN_XIDAM 0x090 |
|
#define | CAN_MCAN_XIDAM_EIDM GENMASK(28, 0) |
|
#define | CAN_MCAN_HPMS 0x094 |
|
#define | CAN_MCAN_HPMS_FLST BIT(15) |
|
#define | CAN_MCAN_HPMS_FIDX GENMASK(14, 8) |
|
#define | CAN_MCAN_HPMS_MSI GENMASK(7, 6) |
|
#define | CAN_MCAN_HPMS_BIDX GENMASK(5, 0) |
|
#define | CAN_MCAN_NDAT1 0x098 |
|
#define | CAN_MCAN_NDAT1_ND GENMASK(31, 0) |
|
#define | CAN_MCAN_NDAT2 0x09C |
|
#define | CAN_MCAN_NDAT2_ND GENMASK(31, 0) |
|
#define | CAN_MCAN_RXF0C 0x0A0 |
|
#define | CAN_MCAN_RXF0C_F0OM BIT(31) |
|
#define | CAN_MCAN_RXF0C_F0WM GENMASK(30, 24) |
|
#define | CAN_MCAN_RXF0C_F0S GENMASK(22, 16) |
|
#define | CAN_MCAN_RXF0C_F0SA GENMASK(15, 2) |
|
#define | CAN_MCAN_RXF0S 0x0A4 |
|
#define | CAN_MCAN_RXF0S_RF0L BIT(25) |
|
#define | CAN_MCAN_RXF0S_F0F BIT(24) |
|
#define | CAN_MCAN_RXF0S_F0PI GENMASK(21, 16) |
|
#define | CAN_MCAN_RXF0S_F0GI GENMASK(13, 8) |
|
#define | CAN_MCAN_RXF0S_F0FL GENMASK(6, 0) |
|
#define | CAN_MCAN_RXF0A 0x0A8 |
|
#define | CAN_MCAN_RXF0A_F0AI GENMASK(5, 0) |
|
#define | CAN_MCAN_RXBC 0x0AC |
|
#define | CAN_MCAN_RXBC_RBSA GENMASK(15, 2) |
|
#define | CAN_MCAN_RXF1C 0x0B0 |
|
#define | CAN_MCAN_RXF1C_F1OM BIT(31) |
|
#define | CAN_MCAN_RXF1C_F1WM GENMASK(30, 24) |
|
#define | CAN_MCAN_RXF1C_F1S GENMASK(22, 16) |
|
#define | CAN_MCAN_RXF1C_F1SA GENMASK(15, 2) |
|
#define | CAN_MCAN_RXF1S 0x0B4 |
|
#define | CAN_MCAN_RXF1S_RF1L BIT(25) |
|
#define | CAN_MCAN_RXF1S_F1F BIT(24) |
|
#define | CAN_MCAN_RXF1S_F1PI GENMASK(21, 16) |
|
#define | CAN_MCAN_RXF1S_F1GI GENMASK(13, 8) |
|
#define | CAN_MCAN_RXF1S_F1FL GENMASK(6, 0) |
|
#define | CAN_MCAN_RXF1A 0x0B8 |
|
#define | CAN_MCAN_RXF1A_F1AI GENMASK(5, 0) |
|
#define | CAN_MCAN_RXESC 0x0BC |
|
#define | CAN_MCAN_RXESC_RBDS GENMASK(10, 8) |
|
#define | CAN_MCAN_RXESC_F1DS GENMASK(6, 4) |
|
#define | CAN_MCAN_RXESC_F0DS GENMASK(2, 0) |
|
#define | CAN_MCAN_TXBC 0x0C0 |
|
#define | CAN_MCAN_TXBC_TFQM BIT(30) |
|
#define | CAN_MCAN_TXBC_TFQS GENMASK(29, 24) |
|
#define | CAN_MCAN_TXBC_NDTB GENMASK(21, 16) |
|
#define | CAN_MCAN_TXBC_TBSA GENMASK(15, 2) |
|
#define | CAN_MCAN_TXFQS 0x0C4 |
|
#define | CAN_MCAN_TXFQS_TFQF BIT(21) |
|
#define | CAN_MCAN_TXFQS_TFQPI GENMASK(20, 16) |
|
#define | CAN_MCAN_TXFQS_TFGI GENMASK(12, 8) |
|
#define | CAN_MCAN_TXFQS_TFFL GENMASK(5, 0) |
|
#define | CAN_MCAN_TXESC 0x0C8 |
|
#define | CAN_MCAN_TXESC_TBDS GENMASK(2, 0) |
|
#define | CAN_MCAN_TXBRP 0x0CC |
|
#define | CAN_MCAN_TXBRP_TRP GENMASK(31, 0) |
|
#define | CAN_MCAN_TXBAR 0x0D0 |
|
#define | CAN_MCAN_TXBAR_AR GENMASK(31, 0) |
|
#define | CAN_MCAN_TXBCR 0x0D4 |
|
#define | CAN_MCAN_TXBCR_CR GENMASK(31, 0) |
|
#define | CAN_MCAN_TXBTO 0x0D8 |
|
#define | CAN_MCAN_TXBTO_TO GENMASK(31, 0) |
|
#define | CAN_MCAN_TXBCF 0x0DC |
|
#define | CAN_MCAN_TXBCF_CF GENMASK(31, 0) |
|
#define | CAN_MCAN_TXBTIE 0x0E0 |
|
#define | CAN_MCAN_TXBTIE_TIE GENMASK(31, 0) |
|
#define | CAN_MCAN_TXBCIE 0x0E4 |
|
#define | CAN_MCAN_TXBCIE_CFIE GENMASK(31, 0) |
|
#define | CAN_MCAN_TXEFC 0x0F0 |
|
#define | CAN_MCAN_TXEFC_EFWM GENMASK(29, 24) |
|
#define | CAN_MCAN_TXEFC_EFS GENMASK(21, 16) |
|
#define | CAN_MCAN_TXEFC_EFSA GENMASK(15, 2) |
|
#define | CAN_MCAN_TXEFS 0x0F4 |
|
#define | CAN_MCAN_TXEFS_TEFL BIT(25) |
|
#define | CAN_MCAN_TXEFS_EFF BIT(24) |
|
#define | CAN_MCAN_TXEFS_EFPI GENMASK(20, 16) |
|
#define | CAN_MCAN_TXEFS_EFGI GENMASK(12, 8) |
|
#define | CAN_MCAN_TXEFS_EFFL GENMASK(5, 0) |
|
#define | CAN_MCAN_TXEFA 0x0F8 |
|
#define | CAN_MCAN_TXEFA_EFAI GENMASK(4, 0) |
|
#define | CAN_MCAN_DT_MRAM_OFFSET(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_OFFSET) |
| Get the Bosch M_CAN Message RAM offset.
|
|
#define | CAN_MCAN_DT_MRAM_STD_FILTER_ELEMENTS(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_STD_FILTER) |
| Get the number of standard (11-bit) filter elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_EXT_FILTER_ELEMENTS(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_EXT_FILTER) |
| Get the number of extended (29-bit) filter elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_RX_FIFO0_ELEMENTS(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_RX_FIFO0) |
| Get the number of Rx FIFO 0 elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_RX_FIFO1_ELEMENTS(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_RX_FIFO1) |
| Get the number of Rx FIFO 1 elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_RX_BUFFER_ELEMENTS(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_RX_BUFFER) |
| Get the number of Rx Buffer elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_ELEMENTS(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_TX_EVENT_FIFO) |
| Get the number of Tx Event FIFO elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_TX_BUFFER_ELEMENTS(node_id) DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_TX_BUFFER) |
| Get the number of Tx Buffer elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_STD_FILTER_OFFSET(node_id) (0U) |
| Get the base offset of standard (11-bit) filter elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_EXT_FILTER_OFFSET(node_id) |
| Get the base offset of extended (29-bit) filter elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_RX_FIFO0_OFFSET(node_id) |
| Get the base offset of Rx FIFO 0 elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_RX_FIFO1_OFFSET(node_id) |
| Get the base offset of Rx FIFO 1 elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_RX_BUFFER_OFFSET(node_id) |
| Get the base offset of Rx Buffer elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_OFFSET(node_id) |
| Get the base offset of Tx Event FIFO elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_TX_BUFFER_OFFSET(node_id) |
| Get the base offset of Tx Buffer elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MCAN_ADDR(node_id) |
| Get the Bosch M_CAN register base address.
|
|
#define | CAN_MCAN_DT_MRBA(node_id) (mem_addr_t)DT_REG_ADDR_BY_NAME(node_id, message_ram) |
| Get the Bosch M_CAN Message RAM base address.
|
|
#define | CAN_MCAN_DT_MRAM_ADDR(node_id) (mem_addr_t)(CAN_MCAN_DT_MRBA(node_id) + CAN_MCAN_DT_MRAM_OFFSET(node_id)) |
| Get the Bosch M_CAN Message RAM address.
|
|
#define | CAN_MCAN_DT_MRAM_SIZE(node_id) (mem_addr_t)(DT_REG_SIZE_BY_NAME(node_id, message_ram) - CAN_MCAN_DT_MRAM_OFFSET(node_id)) |
| Get the Bosch M_CAN Message RAM size.
|
|
#define | CAN_MCAN_DT_MRAM_ELEMENTS_SIZE(node_id) |
| Get the total size of all Bosch M_CAN Message RAM elements.
|
|
#define | CAN_MCAN_DT_MRAM_DEFINE(node_id, _name) |
| Define a RAM buffer for Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_BUILD_ASSERT_MRAM_CFG(node_id) |
| Assert that the Message RAM configuration meets the Bosch M_CAN IP core restrictions.
|
|
#define | CAN_MCAN_DT_INST_MRAM_OFFSET(inst) CAN_MCAN_DT_MRAM_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_STD_FILTER_ELEMENTS(inst) CAN_MCAN_DT_MRAM_STD_FILTER_ELEMENTS(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_STD_FILTER_ELEMENTS(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_EXT_FILTER_ELEMENTS(inst) CAN_MCAN_DT_MRAM_EXT_FILTER_ELEMENTS(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_EXT_FILTER_ELEMENTS(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_RX_FIFO0_ELEMENTS(inst) CAN_MCAN_DT_MRAM_RX_FIFO0_ELEMENTS(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO0_ELEMENTS(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_RX_FIFO1_ELEMENTS(inst) CAN_MCAN_DT_MRAM_RX_FIFO1_ELEMENTS(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO1_ELEMENTS(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_RX_BUFFER_ELEMENTS(inst) CAN_MCAN_DT_MRAM_RX_BUFFER_ELEMENTS(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_RX_BUFFER_ELEMENTS(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_TX_EVENT_FIFO_ELEMENTS(inst) CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_ELEMENTS(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_ELEMENTS(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_TX_BUFFER_ELEMENTS(inst) CAN_MCAN_DT_MRAM_TX_BUFFER_ELEMENTS(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_TX_BUFFER_ELEMENTS(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_STD_FILTER_OFFSET(inst) CAN_MCAN_DT_MRAM_STD_FILTER_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_STD_FILTER_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_EXT_FILTER_OFFSET(inst) CAN_MCAN_DT_MRAM_EXT_FILTER_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_EXT_FILTER_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_RX_FIFO0_OFFSET(inst) CAN_MCAN_DT_MRAM_RX_FIFO0_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO0_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_RX_FIFO1_OFFSET(inst) CAN_MCAN_DT_MRAM_RX_FIFO1_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO1_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_RX_BUFFER_OFFSET(inst) CAN_MCAN_DT_MRAM_RX_BUFFER_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_RX_BUFFER_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_TX_EVENT_FIFO_OFFSET(inst) CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_TX_BUFFER_OFFSET(inst) CAN_MCAN_DT_MRAM_TX_BUFFER_OFFSET(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_TX_BUFFER_OFFSET(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MCAN_ADDR(inst) CAN_MCAN_DT_MCAN_ADDR(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MCAN_ADDR(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRBA(inst) CAN_MCAN_DT_MRBA(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRBA(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_ADDR(inst) CAN_MCAN_DT_MRAM_ADDR(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_ADDR(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_SIZE(inst) CAN_MCAN_DT_MRAM_SIZE(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_SIZE(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_ELEMENTS_SIZE(inst) CAN_MCAN_DT_MRAM_ELEMENTS_SIZE(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_MRAM_ELEMENTS_SIZE(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_INST_MRAM_DEFINE(inst, _name) CAN_MCAN_DT_MRAM_DEFINE(DT_DRV_INST(inst), _name) |
| Equivalent to CAN_MCAN_DT_MRAM_DEFINE(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_TIMING_MIN_INITIALIZER |
| Bosch M_CAN specific static initializer for a minimum nominal can_timing struct.
|
|
#define | CAN_MCAN_TIMING_MAX_INITIALIZER |
| Bosch M_CAN specific static initializer for a maximum nominal can_timing struct.
|
|
#define | CAN_MCAN_TIMING_DATA_MIN_INITIALIZER |
| Bosch M_CAN specific static initializer for a minimum data phase can_timing struct.
|
|
#define | CAN_MCAN_TIMING_DATA_MAX_INITIALIZER |
| Bosch M_CAN specific static initializer for a maximum data phase can_timing struct.
|
|
#define | CAN_MCAN_DT_INST_BUILD_ASSERT_MRAM_CFG(inst) CAN_MCAN_DT_BUILD_ASSERT_MRAM_CFG(DT_DRV_INST(inst)) |
| Equivalent to CAN_MCAN_DT_BUILD_ASSERT_MRAM_CFG(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_XFEC_DISABLE 0x0 |
|
#define | CAN_MCAN_XFEC_FIFO0 0x1 |
|
#define | CAN_MCAN_XFEC_FIFO1 0x2 |
|
#define | CAN_MCAN_XFEC_REJECT 0x3 |
|
#define | CAN_MCAN_XFEC_PRIO 0x4 |
|
#define | CAN_MCAN_XFEC_PRIO_FIFO0 0x5 |
|
#define | CAN_MCAN_XFEC_PRIO_FIFO1 0x7 |
|
#define | CAN_MCAN_SFT_RANGE 0x0 |
|
#define | CAN_MCAN_SFT_DUAL 0x1 |
|
#define | CAN_MCAN_SFT_CLASSIC 0x2 |
|
#define | CAN_MCAN_SFT_DISABLED 0x3 |
|
#define | CAN_MCAN_EFT_RANGE_XIDAM 0x0 |
|
#define | CAN_MCAN_EFT_DUAL 0x1 |
|
#define | CAN_MCAN_EFT_CLASSIC 0x2 |
|
#define | CAN_MCAN_EFT_RANGE 0x3 |
|
#define | CAN_MCAN_CALLBACKS_DEFINE(_name, _tx, _std, _ext) |
| Define Bosch M_CAN TX and RX callbacks.
|
|
#define | CAN_MCAN_DT_CALLBACKS_DEFINE(node_id, _name) |
| Define Bosch M_CAN TX and RX callbacks.
|
|
#define | CAN_MCAN_DT_INST_CALLBACKS_DEFINE(inst, _name) CAN_MCAN_DT_CALLBACKS_DEFINE(DT_DRV_INST(inst), _name) |
| Equivalent to CAN_MCAN_DT_CALLBACKS_DEFINE(DT_DRV_INST(inst))
|
|
#define | CAN_MCAN_DT_MRAM_ELEMENTS_GET(node_id) |
| Get an array containing the number of elements in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_MRAM_OFFSETS_GET(node_id) |
| Get an array containing the base offsets for element in Bosch M_CAN Message RAM.
|
|
#define | CAN_MCAN_DT_CONFIG_GET(node_id, _custom, _ops, _cbs) |
| Static initializer for can_mcan_config struct.
|
|
#define | CAN_MCAN_DT_CONFIG_INST_GET(inst, _custom, _ops, _cbs) CAN_MCAN_DT_CONFIG_GET(DT_DRV_INST(inst), _custom, _ops, _cbs) |
| Static initializer for can_mcan_config struct from DT_DRV_COMPAT instance.
|
|
#define | CAN_MCAN_DATA_INITIALIZER(_custom) |
| Initializer for a can_mcan_data struct.
|
|
|
These match the description of the cells in the bosch,m_can-base devicetree binding.
|
#define | CAN_MCAN_MRAM_CFG_OFFSET 0 |
| offset cell index
|
|
#define | CAN_MCAN_MRAM_CFG_STD_FILTER 1 |
| std-filter-elements cell index
|
|
#define | CAN_MCAN_MRAM_CFG_EXT_FILTER 2 |
| ext-filter-elements cell index
|
|
#define | CAN_MCAN_MRAM_CFG_RX_FIFO0 3 |
| rx-fifo0-elements cell index
|
|
#define | CAN_MCAN_MRAM_CFG_RX_FIFO1 4 |
| rx-fifo1-elements cell index
|
|
#define | CAN_MCAN_MRAM_CFG_RX_BUFFER 5 |
| rx-buffer-elements cell index
|
|
#define | CAN_MCAN_MRAM_CFG_TX_EVENT_FIFO 6 |
| tx-event-fifo-elements cell index
|
|
#define | CAN_MCAN_MRAM_CFG_TX_BUFFER 7 |
| tx-buffer-elements cell index
|
|
#define | CAN_MCAN_MRAM_CFG_NUM_CELLS 8 |
| Total number of cells in bosch,mram-cfg property.
|
|
|
static int | can_mcan_sys_read_reg (mm_reg_t base, uint16_t reg, uint32_t *val) |
| Bosch M_CAN driver front-end callback helper for reading a memory mapped register.
|
|
static int | can_mcan_sys_write_reg (mm_reg_t base, uint16_t reg, uint32_t val) |
| Bosch M_CAN driver front-end callback helper for writing a memory mapped register.
|
|
static int | can_mcan_sys_read_mram (mem_addr_t base, uint16_t offset, void *dst, size_t len) |
| Bosch M_CAN driver front-end callback helper for reading from memory mapped Message RAM.
|
|
static int | can_mcan_sys_write_mram (mem_addr_t base, uint16_t offset, const void *src, size_t len) |
| Bosch M_CAN driver front-end callback helper for writing to memory mapped Message RAM.
|
|
static int | can_mcan_sys_clear_mram (mem_addr_t base, uint16_t offset, size_t len) |
| Bosch M_CAN driver front-end callback helper for clearing memory mapped Message RAM.
|
|
int | can_mcan_read_reg (const struct device *dev, uint16_t reg, uint32_t *val) |
| Read a Bosch M_CAN register.
|
|
int | can_mcan_write_reg (const struct device *dev, uint16_t reg, uint32_t val) |
| Write a Bosch M_CAN register.
|
|
static int | can_mcan_read_mram (const struct device *dev, uint16_t offset, void *dst, size_t len) |
| Read from Bosch M_CAN Message RAM.
|
|
static int | can_mcan_write_mram (const struct device *dev, uint16_t offset, const void *src, size_t len) |
| Write to Bosch M_CAN Message RAM.
|
|
static int | can_mcan_clear_mram (const struct device *dev, uint16_t offset, size_t len) |
| Clear Bosch M_CAN Message RAM.
|
|
int | can_mcan_configure_mram (const struct device *dev, uintptr_t mrba, uintptr_t mram) |
| Configure Bosch M_MCAN Message RAM start addresses.
|
|
int | can_mcan_init (const struct device *dev) |
| Bosch M_CAN driver initialization callback.
|
|
void | can_mcan_line_0_isr (const struct device *dev) |
| Bosch M_CAN driver m_can_int0 IRQ handler.
|
|
void | can_mcan_line_1_isr (const struct device *dev) |
| Bosch M_CAN driver m_can_int1 IRQ handler.
|
|
void | can_mcan_enable_configuration_change (const struct device *dev) |
| Enable Bosch M_CAN configuration change.
|
|
int | can_mcan_get_capabilities (const struct device *dev, can_mode_t *cap) |
| Bosch M_CAN driver callback API upon getting CAN controller capabilities See can_get_capabilities() for argument description.
|
|
int | can_mcan_start (const struct device *dev) |
| Bosch M_CAN driver callback API upon starting CAN controller See can_start() for argument description.
|
|
int | can_mcan_stop (const struct device *dev) |
| Bosch M_CAN driver callback API upon stopping CAN controller See can_stop() for argument description.
|
|
int | can_mcan_set_mode (const struct device *dev, can_mode_t mode) |
| Bosch M_CAN driver callback API upon setting CAN controller mode See can_set_mode() for argument description.
|
|
int | can_mcan_set_timing (const struct device *dev, const struct can_timing *timing) |
| Bosch M_CAN driver callback API upon setting CAN bus timing See can_set_timing() for argument description.
|
|
int | can_mcan_set_timing_data (const struct device *dev, const struct can_timing *timing_data) |
| Bosch M_CAN driver callback API upon setting CAN bus data phase timing See can_set_timing_data() for argument description.
|
|
int | can_mcan_send (const struct device *dev, const struct can_frame *frame, k_timeout_t timeout, can_tx_callback_t callback, void *user_data) |
|
int | can_mcan_get_max_filters (const struct device *dev, bool ide) |
|
int | can_mcan_add_rx_filter (const struct device *dev, can_rx_callback_t callback, void *user_data, const struct can_filter *filter) |
| Bosch M_CAN driver callback API upon adding an RX filter See can_add_rx_callback() for argument description.
|
|
void | can_mcan_remove_rx_filter (const struct device *dev, int filter_id) |
| Bosch M_CAN driver callback API upon removing an RX filter See can_remove_rx_filter() for argument description.
|
|
int | can_mcan_get_state (const struct device *dev, enum can_state *state, struct can_bus_err_cnt *err_cnt) |
| Bosch M_CAN driver callback API upon getting the CAN controller state See can_get_state() for argument description.
|
|
void | can_mcan_set_state_change_callback (const struct device *dev, can_state_change_callback_t callback, void *user_data) |
| Bosch M_CAN driver callback API upon setting a state change callback See can_set_state_change_callback() for argument description.
|
|