33 #if defined(CPU_FAM_STM32G4)
35 .rcc_mask = RCC_APB1ENR1_FDCANEN,
39 .it0_irqn = FDCAN1_IT0_IRQn,
40 .it1_irqn = FDCAN1_IT1_IRQn,
41 #elif defined(CPU_FAM_STM32F0)
43 .rcc_mask = RCC_APB1ENR_CANEN,
50 #if defined(CPU_FAM_STM32L4)
51 .rcc_mask = RCC_APB1ENR1_CAN1EN,
53 .rcc_mask = RCC_APB1ENR_CAN1EN,
54 #if CANDEV_STM32_CHAN_NUMOF > 1
56 .master_rcc_mask = RCC_APB1ENR_CAN1EN,
61 #if defined(CPU_FAM_STM32F1)
64 #elif defined(CPU_FAM_STM32L4) || defined(CPU_FAM_STM32F4)
66 #if defined(CPU_MODEL_STM32L432KC)
80 .tx_irqn = CAN1_TX_IRQn,
81 .rx0_irqn = CAN1_RX0_IRQn,
82 .rx1_irqn = CAN1_RX1_IRQn,
83 .sce_irqn = CAN1_SCE_IRQn,
85 .en_deep_sleep_wake_up =
true,
93 #if (CANDEV_STM32_CHAN_NUMOF >= 2) && (CAN_DLL_NUMOF >= 2)
96 .rcc_mask = RCC_APB1ENR_CAN2EN,
98 .master_rcc_mask = RCC_APB1ENR_CAN1EN,
103 #ifndef CPU_FAM_STM32F1
106 .en_deep_sleep_wake_up =
true,
107 .tx_irqn = CAN2_TX_IRQn,
108 .rx0_irqn = CAN2_RX0_IRQn,
109 .rx1_irqn = CAN2_RX1_IRQn,
110 .sce_irqn = CAN2_SCE_IRQn,
119 #if (CANDEV_STM32_CHAN_NUMOF >= 3) && (CAN_DLL_NUMOF >= 3)
122 .rcc_mask = RCC_APB1ENR_CAN3EN,
124 .master_rcc_mask = RCC_APB1ENR_CAN3EN,
130 .en_deep_sleep_wake_up =
true,
131 .tx_irqn = CAN3_TX_IRQn,
132 .rx0_irqn = CAN3_RX0_IRQn,
133 .rx1_irqn = CAN3_RX1_IRQn,
134 .sce_irqn = CAN3_SCE_IRQn,
148 .
name =
"can_stm32_0",
150 #if (CANDEV_STM32_CHAN_NUMOF >= 2) && (CAN_DLL_NUMOF >= 2)
152 .name =
"can_stm32_1",
155 #if (CANDEV_STM32_CHAN_NUMOF >= 3) && (CAN_DLL_NUMOF >= 3)
157 .name =
"can_stm32_2",
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
@ GPIO_AF4
use alternate function 4
@ GPIO_AF9
use alternate function 9
@ GPIO_AF11
use alternate function 11
Low-level CAN peripheral driver interface definitions.
ESP CAN device configuration.
Linux candev configuration.
Parameters to initialize a candev.
const char * name
candev name to set
Definitions of CAN device interface.