stm32: can: removed canport argument from can_filter functions

This commit is contained in:
Grigory Revzin 2017-08-01 20:12:53 +03:00 committed by Karl Palsson
parent 0965e691a9
commit 9ef5860863
2 changed files with 26 additions and 31 deletions

View File

@ -649,18 +649,18 @@ int can_init(uint32_t canport, bool ttcm, bool abom, bool awum, bool nart,
bool rflm, bool txfp, uint32_t sjw, uint32_t ts1, uint32_t ts2, bool rflm, bool txfp, uint32_t sjw, uint32_t ts1, uint32_t ts2,
uint32_t brp, bool loopback, bool silent); uint32_t brp, bool loopback, bool silent);
void can_filter_init(uint32_t canport, uint32_t nr, bool scale_32bit, void can_filter_init(uint32_t nr, bool scale_32bit,
bool id_list_mode, uint32_t fr1, uint32_t fr2, bool id_list_mode, uint32_t fr1, uint32_t fr2,
uint32_t fifo, bool enable); uint32_t fifo, bool enable);
void can_filter_id_mask_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1, void can_filter_id_mask_16bit_init(uint32_t nr, uint16_t id1,
uint16_t mask1, uint16_t id2, uint16_t mask1, uint16_t id2,
uint16_t mask2, uint32_t fifo, bool enable); uint16_t mask2, uint32_t fifo, bool enable);
void can_filter_id_mask_32bit_init(uint32_t canport, uint32_t nr, uint32_t id, void can_filter_id_mask_32bit_init(uint32_t nr, uint32_t id,
uint32_t mask, uint32_t fifo, bool enable); uint32_t mask, uint32_t fifo, bool enable);
void can_filter_id_list_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1, void can_filter_id_list_16bit_init(uint32_t nr, uint16_t id1,
uint16_t id2, uint16_t id3, uint16_t id4, uint16_t id2, uint16_t id3, uint16_t id4,
uint32_t fifo, bool enable); uint32_t fifo, bool enable);
void can_filter_id_list_32bit_init(uint32_t canport, uint32_t nr, uint32_t id1, void can_filter_id_list_32bit_init(uint32_t nr, uint32_t id1,
uint32_t id2, uint32_t fifo, bool enable); uint32_t id2, uint32_t fifo, bool enable);
void can_enable_irq(uint32_t canport, uint32_t irq); void can_enable_irq(uint32_t canport, uint32_t irq);

View File

@ -188,7 +188,6 @@ int can_init(uint32_t canport, bool ttcm, bool abom, bool awum, bool nart,
Initialize incoming message filter and assign to FIFO. Initialize incoming message filter and assign to FIFO.
@param[in] canport Unsigned int32. CAN block register base @ref can_reg_base.
@param[in] nr Unsigned int32. ID number of the filter. @param[in] nr Unsigned int32. ID number of the filter.
@param[in] scale_32bit true for single 32bit, false for dual 16bit @param[in] scale_32bit true for single 32bit, false for dual 16bit
@param[in] id_list_mode true for id lists, false for id/mask @param[in] id_list_mode true for id lists, false for id/mask
@ -197,59 +196,58 @@ Initialize incoming message filter and assign to FIFO.
@param[in] fifo Unsigned int32. FIFO id. @param[in] fifo Unsigned int32. FIFO id.
@param[in] enable bool. Enable filter? @param[in] enable bool. Enable filter?
*/ */
void can_filter_init(uint32_t canport, uint32_t nr, bool scale_32bit, void can_filter_init(uint32_t nr, bool scale_32bit,
bool id_list_mode, uint32_t fr1, uint32_t fr2, bool id_list_mode, uint32_t fr1, uint32_t fr2,
uint32_t fifo, bool enable) uint32_t fifo, bool enable)
{ {
uint32_t filter_select_bit = 0x00000001 << nr; uint32_t filter_select_bit = 0x00000001 << nr;
/* Request initialization "enter". */ /* Request initialization "enter". */
CAN_FMR(canport) |= CAN_FMR_FINIT; CAN_FMR(CAN1) |= CAN_FMR_FINIT;
/* Deactivate the filter. */ /* Deactivate the filter. */
CAN_FA1R(canport) &= ~filter_select_bit; CAN_FA1R(CAN1) &= ~filter_select_bit;
if (scale_32bit) { if (scale_32bit) {
/* Set 32-bit scale for the filter. */ /* Set 32-bit scale for the filter. */
CAN_FS1R(canport) |= filter_select_bit; CAN_FS1R(CAN1) |= filter_select_bit;
} else { } else {
/* Set 16-bit scale for the filter. */ /* Set 16-bit scale for the filter. */
CAN_FS1R(canport) &= ~filter_select_bit; CAN_FS1R(CAN1) &= ~filter_select_bit;
} }
if (id_list_mode) { if (id_list_mode) {
/* Set filter mode to ID list mode. */ /* Set filter mode to ID list mode. */
CAN_FM1R(canport) |= filter_select_bit; CAN_FM1R(CAN1) |= filter_select_bit;
} else { } else {
/* Set filter mode to id/mask mode. */ /* Set filter mode to id/mask mode. */
CAN_FM1R(canport) &= ~filter_select_bit; CAN_FM1R(CAN1) &= ~filter_select_bit;
} }
/* Set the first filter register. */ /* Set the first filter register. */
CAN_FiR1(canport, nr) = fr1; CAN_FiR1(CAN1, nr) = fr1;
/* Set the second filter register. */ /* Set the second filter register. */
CAN_FiR2(canport, nr) = fr2; CAN_FiR2(CAN1, nr) = fr2;
/* Select FIFO0 or FIFO1 as filter assignement. */ /* Select FIFO0 or FIFO1 as filter assignement. */
if (fifo) { if (fifo) {
CAN_FFA1R(canport) |= filter_select_bit; /* FIFO1 */ CAN_FFA1R(CAN1) |= filter_select_bit; /* FIFO1 */
} else { } else {
CAN_FFA1R(canport) &= ~filter_select_bit; /* FIFO0 */ CAN_FFA1R(CAN1) &= ~filter_select_bit; /* FIFO0 */
} }
if (enable) { if (enable) {
CAN_FA1R(canport) |= filter_select_bit; /* Activate filter. */ CAN_FA1R(CAN1) |= filter_select_bit; /* Activate filter. */
} }
/* Request initialization "leave". */ /* Request initialization "leave". */
CAN_FMR(canport) &= ~CAN_FMR_FINIT; CAN_FMR(CAN1) &= ~CAN_FMR_FINIT;
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
/** @brief CAN Initialize a 16bit Message ID Mask Filter /** @brief CAN Initialize a 16bit Message ID Mask Filter
@param[in] canport Unsigned int32. CAN block register base @ref can_reg_base.
@param[in] nr Unsigned int32. ID number of the filter. @param[in] nr Unsigned int32. ID number of the filter.
@param[in] id1 Unsigned int16. First message ID to filter. @param[in] id1 Unsigned int16. First message ID to filter.
@param[in] mask1 Unsigned int16. First message ID bit mask. @param[in] mask1 Unsigned int16. First message ID bit mask.
@ -258,11 +256,11 @@ void can_filter_init(uint32_t canport, uint32_t nr, bool scale_32bit,
@param[in] fifo Unsigned int32. FIFO id. @param[in] fifo Unsigned int32. FIFO id.
@param[in] enable bool. Enable filter? @param[in] enable bool. Enable filter?
*/ */
void can_filter_id_mask_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1, void can_filter_id_mask_16bit_init(uint32_t nr, uint16_t id1,
uint16_t mask1, uint16_t id2, uint16_t mask1, uint16_t id2,
uint16_t mask2, uint32_t fifo, bool enable) uint16_t mask2, uint32_t fifo, bool enable)
{ {
can_filter_init(canport, nr, false, false, can_filter_init(nr, false, false,
((uint32_t)mask1 << 16) | (uint32_t)id1, ((uint32_t)mask1 << 16) | (uint32_t)id1,
((uint32_t)mask2 << 16) | (uint32_t)id2, fifo, enable); ((uint32_t)mask2 << 16) | (uint32_t)id2, fifo, enable);
} }
@ -270,23 +268,21 @@ void can_filter_id_mask_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1,
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
/** @brief CAN Initialize a 32bit Message ID Mask Filter /** @brief CAN Initialize a 32bit Message ID Mask Filter
@param[in] canport Unsigned int32. CAN block register base @ref can_reg_base.
@param[in] nr Unsigned int32. ID number of the filter. @param[in] nr Unsigned int32. ID number of the filter.
@param[in] id Unsigned int32. Message ID to filter. @param[in] id Unsigned int32. Message ID to filter.
@param[in] mask Unsigned int32. Message ID bit mask. @param[in] mask Unsigned int32. Message ID bit mask.
@param[in] fifo Unsigned int32. FIFO id. @param[in] fifo Unsigned int32. FIFO id.
@param[in] enable bool. Enable filter? @param[in] enable bool. Enable filter?
*/ */
void can_filter_id_mask_32bit_init(uint32_t canport, uint32_t nr, uint32_t id, void can_filter_id_mask_32bit_init(uint32_t nr, uint32_t id,
uint32_t mask, uint32_t fifo, bool enable) uint32_t mask, uint32_t fifo, bool enable)
{ {
can_filter_init(canport, nr, true, false, id, mask, fifo, enable); can_filter_init(nr, true, false, id, mask, fifo, enable);
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
/** @brief CAN Initialize a 16bit Message ID List Filter /** @brief CAN Initialize a 16bit Message ID List Filter
@param[in] canport Unsigned int32. CAN block register base @ref can_reg_base.
@param[in] nr Unsigned int32. ID number of the filter. @param[in] nr Unsigned int32. ID number of the filter.
@param[in] id1 Unsigned int16. First message ID to match. @param[in] id1 Unsigned int16. First message ID to match.
@param[in] id2 Unsigned int16. Second message ID to match. @param[in] id2 Unsigned int16. Second message ID to match.
@ -295,12 +291,12 @@ void can_filter_id_mask_32bit_init(uint32_t canport, uint32_t nr, uint32_t id,
@param[in] fifo Unsigned int32. FIFO id. @param[in] fifo Unsigned int32. FIFO id.
@param[in] enable bool. Enable filter? @param[in] enable bool. Enable filter?
*/ */
void can_filter_id_list_16bit_init(uint32_t canport, uint32_t nr, void can_filter_id_list_16bit_init(uint32_t nr,
uint16_t id1, uint16_t id2, uint16_t id1, uint16_t id2,
uint16_t id3, uint16_t id4, uint16_t id3, uint16_t id4,
uint32_t fifo, bool enable) uint32_t fifo, bool enable)
{ {
can_filter_init(canport, nr, false, true, can_filter_init(nr, false, true,
((uint32_t)id1 << 16) | (uint32_t)id2, ((uint32_t)id1 << 16) | (uint32_t)id2,
((uint32_t)id3 << 16) | (uint32_t)id4, fifo, enable); ((uint32_t)id3 << 16) | (uint32_t)id4, fifo, enable);
} }
@ -308,18 +304,17 @@ void can_filter_id_list_16bit_init(uint32_t canport, uint32_t nr,
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
/** @brief CAN Initialize a 32bit Message ID List Filter /** @brief CAN Initialize a 32bit Message ID List Filter
@param[in] canport Unsigned int32. CAN block register base @ref can_reg_base.
@param[in] nr Unsigned int32. ID number of the filter. @param[in] nr Unsigned int32. ID number of the filter.
@param[in] id1 Unsigned int32. First message ID to match. @param[in] id1 Unsigned int32. First message ID to match.
@param[in] id2 Unsigned int32. Second message ID to match. @param[in] id2 Unsigned int32. Second message ID to match.
@param[in] fifo Unsigned int32. FIFO id. @param[in] fifo Unsigned int32. FIFO id.
@param[in] enable bool. Enable filter? @param[in] enable bool. Enable filter?
*/ */
void can_filter_id_list_32bit_init(uint32_t canport, uint32_t nr, void can_filter_id_list_32bit_init(uint32_t nr,
uint32_t id1, uint32_t id2, uint32_t id1, uint32_t id2,
uint32_t fifo, bool enable) uint32_t fifo, bool enable)
{ {
can_filter_init(canport, nr, true, true, id1, id2, fifo, enable); can_filter_init(nr, true, true, id1, id2, fifo, enable);
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/