SAMV7 MCAN: Add some default values of configuration settings
This commit is contained in:
parent
e89d8c4a5f
commit
4e2a95c71e
@ -179,6 +179,10 @@
|
|||||||
# error Undefined MCAN0 RX FIFO0 element size
|
# error Undefined MCAN0 RX FIFO0 element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN0_RXFIFO0_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN0_RXFIFO0_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN0_RXFIFO0_SIZE > 64
|
# if CONFIG_SAMV7_MCAN0_RXFIFO0_SIZE > 64
|
||||||
# error Invalid MCAN0 number of RX FIFO0 elements
|
# error Invalid MCAN0 number of RX FIFO0 elements
|
||||||
# endif
|
# endif
|
||||||
@ -216,6 +220,10 @@
|
|||||||
# error Undefined MCAN0 RX FIFO1 element size
|
# error Undefined MCAN0 RX FIFO1 element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN0_RXFIFO1_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN0_RXFIFO1_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN0_RXFIFO1_SIZE > 64
|
# if CONFIG_SAMV7_MCAN0_RXFIFO1_SIZE > 64
|
||||||
# error Invalid MCAN0 number of RX FIFO1 elements
|
# error Invalid MCAN0 number of RX FIFO1 elements
|
||||||
# endif
|
# endif
|
||||||
@ -225,10 +233,18 @@
|
|||||||
|
|
||||||
/* MCAN0 Filters */
|
/* MCAN0 Filters */
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN0_NSTDFILTERS
|
||||||
|
# define CONFIG_SAMV7_MCAN0_NSTDFILTERS 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if (CONFIG_SAMV7_MCAN0_NSTDFILTERS > 128)
|
# if (CONFIG_SAMV7_MCAN0_NSTDFILTERS > 128)
|
||||||
# error Invalid MCAN0 number of Standard Filters
|
# error Invalid MCAN0 number of Standard Filters
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN0_NEXTFILTERS
|
||||||
|
# define CONFIG_SAMV7_MCAN0_NEXTFILTERS 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if (CONFIG_SAMV7_MCAN0_NEXTFILTERS > 64)
|
# if (CONFIG_SAMV7_MCAN0_NEXTFILTERS > 64)
|
||||||
# error Invalid MCAN0 number of Extended Filters
|
# error Invalid MCAN0 number of Extended Filters
|
||||||
# endif
|
# endif
|
||||||
@ -266,7 +282,11 @@
|
|||||||
# error Undefined MCAN0 RX buffer element size
|
# error Undefined MCAN0 RX buffer element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if (CONFIG_SAMV7_MCAN0_DEDICATED_RXBUFFER_SIZE > 64)
|
# ifndef CONFIG_SAMV7_MCAN0_DEDICATED_RXBUFFER_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN0_DEDICATED_RXBUFFER_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if CONFIG_SAMV7_MCAN0_DEDICATED_RXBUFFER_SIZE > 64
|
||||||
# error Invalid MCAN0 number of RX BUFFER elements
|
# error Invalid MCAN0 number of RX BUFFER elements
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
@ -304,9 +324,8 @@
|
|||||||
# error Undefined MCAN0 TX buffer element size
|
# error Undefined MCAN0 TX buffer element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if ((CONFIG_SAMV7_MCAN0_DEDICATED_TXBUFFER_SIZE + \
|
# ifndef CONFIG_SAMV7_MCAN0_DEDICATED_TXBUFFER_SIZE
|
||||||
CONFIG_SAMV7_MCAN0_TXFIFOQ_SIZE) > 32)
|
# define CONFIG_SAMV7_MCAN0_DEDICATED_TXBUFFER_SIZE 0
|
||||||
# error Invalid MCAN0 number of TX BUFFER elements
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# define MCAN0_DEDICATED_TXBUFFER_WORDS \
|
# define MCAN0_DEDICATED_TXBUFFER_WORDS \
|
||||||
@ -315,14 +334,27 @@
|
|||||||
|
|
||||||
/* MCAN0 TX FIFOs */
|
/* MCAN0 TX FIFOs */
|
||||||
|
|
||||||
# define MCAN0_TXEVENTFIFO_WORDS (CONFIG_SAMV7_MCAN0_TXEVENTFIFO_SIZE * 2)
|
# ifndef CONFIG_SAMV7_MCAN0_TXFIFOQ_SIZE
|
||||||
# define MCAN0_TXFIFIOQ_WORDS \
|
# define CONFIG_SAMV7_MCAN0_TXFIFOQ_SIZE 0
|
||||||
(CONFIG_SAMV7_MCAN0_TXFIFOQ_SIZE * ((MCAN0_TXBUFFER_ELEMENT_SIZE/4) + 2))
|
# endif
|
||||||
|
|
||||||
|
# if (CONFIG_SAMV7_MCAN0_DEDICATED_TXBUFFER_SIZE + \
|
||||||
|
CONFIG_SAMV7_MCAN0_TXFIFOQ_SIZE) > 32
|
||||||
|
# error Invalid MCAN0 number of TX BUFFER elements
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN0_TXEVENTFIFO_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN0_TXEVENTFIFO_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN0_TXEVENTFIFO_SIZE > 32
|
# if CONFIG_SAMV7_MCAN0_TXEVENTFIFO_SIZE > 32
|
||||||
# error Invalid MCAN0 number of TX EVENT FIFO elements
|
# error Invalid MCAN0 number of TX EVENT FIFO elements
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# define MCAN0_TXEVENTFIFO_WORDS (CONFIG_SAMV7_MCAN0_TXEVENTFIFO_SIZE * 2)
|
||||||
|
# define MCAN0_TXFIFIOQ_WORDS \
|
||||||
|
(CONFIG_SAMV7_MCAN0_TXFIFOQ_SIZE * ((MCAN0_TXBUFFER_ELEMENT_SIZE/4) + 2))
|
||||||
|
|
||||||
/* MCAN0 Message RAM */
|
/* MCAN0 Message RAM */
|
||||||
|
|
||||||
# define MCAN0_STDFILTER_INDEX 0
|
# define MCAN0_STDFILTER_INDEX 0
|
||||||
@ -413,6 +445,10 @@
|
|||||||
# error Undefined MCAN1 RX FIFO0 element size
|
# error Undefined MCAN1 RX FIFO0 element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN1_RXFIFO0_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN1_RXFIFO0_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN1_RXFIFO0_SIZE > 64
|
# if CONFIG_SAMV7_MCAN1_RXFIFO0_SIZE > 64
|
||||||
# error Invalid MCAN1 number of RX FIFO 0 elements
|
# error Invalid MCAN1 number of RX FIFO 0 elements
|
||||||
# endif
|
# endif
|
||||||
@ -450,6 +486,10 @@
|
|||||||
# error Undefined MCAN1 RX FIFO1 element size
|
# error Undefined MCAN1 RX FIFO1 element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN1_RXFIFO1_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN1_RXFIFO1_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN1_RXFIFO1_SIZE > 64
|
# if CONFIG_SAMV7_MCAN1_RXFIFO1_SIZE > 64
|
||||||
# error Invalid MCAN1 number of RX FIFO 0 elements
|
# error Invalid MCAN1 number of RX FIFO 0 elements
|
||||||
# endif
|
# endif
|
||||||
@ -459,10 +499,18 @@
|
|||||||
|
|
||||||
/* MCAN1 Filters */
|
/* MCAN1 Filters */
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN1_NSTDFILTERS
|
||||||
|
# define CONFIG_SAMV7_MCAN1_NSTDFILTERS 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN1_NSTDFILTERS > 128
|
# if CONFIG_SAMV7_MCAN1_NSTDFILTERS > 128
|
||||||
# error Invalid MCAN1 number of Standard Filters
|
# error Invalid MCAN1 number of Standard Filters
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN1_NEXTFILTERS
|
||||||
|
# define CONFIG_SAMV7_MCAN1_NEXTFILTERS 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN1_NEXTFILTERS > 64
|
# if CONFIG_SAMV7_MCAN1_NEXTFILTERS > 64
|
||||||
# error Invalid MCAN1 number of Extended Filters
|
# error Invalid MCAN1 number of Extended Filters
|
||||||
# endif
|
# endif
|
||||||
@ -500,6 +548,10 @@
|
|||||||
# error Undefined MCAN1 RX buffer element size
|
# error Undefined MCAN1 RX buffer element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN1_DEDICATED_RXBUFFER_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN1_DEDICATED_RXBUFFER_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN1_DEDICATED_RXBUFFER_SIZE > 64
|
# if CONFIG_SAMV7_MCAN1_DEDICATED_RXBUFFER_SIZE > 64
|
||||||
# error Invalid MCAN1 number of RX BUFFER elements
|
# error Invalid MCAN1 number of RX BUFFER elements
|
||||||
# endif
|
# endif
|
||||||
@ -538,9 +590,8 @@
|
|||||||
# error Undefined MCAN1 TX buffer element size
|
# error Undefined MCAN1 TX buffer element size
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if ((CONFIG_SAMV7_MCAN1_DEDICATED_TXBUFFER_SIZE + \
|
# ifndef CONFIG_SAMV7_MCAN1_DEDICATED_TXBUFFER_SIZE
|
||||||
CONFIG_SAMV7_MCAN1_TXFIFOQ_SIZE) > 32)
|
# define CONFIG_SAMV7_MCAN1_DEDICATED_TXBUFFER_SIZE 0
|
||||||
# error Invalid MCAN1 number of TX BUFFER elements
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# define MCAN1_DEDICATED_TXBUFFER_WORDS \
|
# define MCAN1_DEDICATED_TXBUFFER_WORDS \
|
||||||
@ -549,6 +600,19 @@
|
|||||||
|
|
||||||
/* MCAN1 TX FIFOs */
|
/* MCAN1 TX FIFOs */
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN1_TXFIFOQ_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN1_TXFIFOQ_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if (CONFIG_SAMV7_MCAN1_DEDICATED_TXBUFFER_SIZE + \
|
||||||
|
CONFIG_SAMV7_MCAN1_TXFIFOQ_SIZE) > 32
|
||||||
|
# error Invalid MCAN1 number of TX BUFFER elements
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef CONFIG_SAMV7_MCAN1_TXEVENTFIFO_SIZE
|
||||||
|
# define CONFIG_SAMV7_MCAN1_TXEVENTFIFO_SIZE 0
|
||||||
|
# endif
|
||||||
|
|
||||||
# if CONFIG_SAMV7_MCAN1_TXEVENTFIFO_SIZE > 32
|
# if CONFIG_SAMV7_MCAN1_TXEVENTFIFO_SIZE > 32
|
||||||
# error Invalid MCAN1 number of TX EVENT FIFO elements
|
# error Invalid MCAN1 number of TX EVENT FIFO elements
|
||||||
# endif
|
# endif
|
||||||
@ -733,9 +797,8 @@ static bool mcan_txempty(FAR struct can_dev_s *dev);
|
|||||||
|
|
||||||
/* CAN interrupt handling */
|
/* CAN interrupt handling */
|
||||||
|
|
||||||
static inline void mcan_rxinterrupt(FAR struct can_dev_s *dev, int mbndx,
|
static inline void mcan_rxinterrupt(FAR struct can_dev_s *dev, uint32_t msr);
|
||||||
uint32_t msr);
|
static inline void mcan_txinterrupt(FAR struct can_dev_s *dev);
|
||||||
static inline void mcan_txinterrupt(FAR struct can_dev_s *dev, int mbndx);
|
|
||||||
static void mcan_interrupt(FAR struct can_dev_s *dev);
|
static void mcan_interrupt(FAR struct can_dev_s *dev);
|
||||||
#ifdef CONFIG_SAMV7_MCAN0
|
#ifdef CONFIG_SAMV7_MCAN0
|
||||||
static int mcan0_interrupt(int irq, void *context);
|
static int mcan0_interrupt(int irq, void *context);
|
||||||
@ -1606,7 +1669,6 @@ static bool mcan_txempty(FAR struct can_dev_s *dev)
|
|||||||
*
|
*
|
||||||
* Input Parameters:
|
* Input Parameters:
|
||||||
* priv - CAN-specific private data
|
* priv - CAN-specific private data
|
||||||
* mbndx - The index of the mailbox that generated the interrupt
|
|
||||||
* msr - Applicable value from the mailbox status register
|
* msr - Applicable value from the mailbox status register
|
||||||
*
|
*
|
||||||
* Returned Value:
|
* Returned Value:
|
||||||
@ -1614,8 +1676,7 @@ static bool mcan_txempty(FAR struct can_dev_s *dev)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static inline void mcan_rxinterrupt(FAR struct can_dev_s *dev, int mbndx,
|
static inline void mcan_rxinterrupt(FAR struct can_dev_s *dev, uint32_t msr)
|
||||||
uint32_t msr)
|
|
||||||
{
|
{
|
||||||
FAR struct sam_mcan_s *priv = dev->cd_priv;
|
FAR struct sam_mcan_s *priv = dev->cd_priv;
|
||||||
struct can_hdr_s hdr;
|
struct can_hdr_s hdr;
|
||||||
@ -1632,14 +1693,13 @@ static inline void mcan_rxinterrupt(FAR struct can_dev_s *dev, int mbndx,
|
|||||||
*
|
*
|
||||||
* Input Parameters:
|
* Input Parameters:
|
||||||
* priv - CAN-specific private data
|
* priv - CAN-specific private data
|
||||||
* mbndx - The index of the mailbox that generated the interrupt
|
|
||||||
*
|
*
|
||||||
* Returned Value:
|
* Returned Value:
|
||||||
* None
|
* None
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
static inline void mcan_txinterrupt(FAR struct can_dev_s *dev, int mbndx)
|
static inline void mcan_txinterrupt(FAR struct can_dev_s *dev)
|
||||||
{
|
{
|
||||||
FAR struct sam_mcan_s *priv = dev->cd_priv;
|
FAR struct sam_mcan_s *priv = dev->cd_priv;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user