41#ifndef __CTUCANFD_INTERNAL_H
42#define __CTUCANFD_INTERNAL_H
49#include "ctucanfd_kregs.h"
116static inline void ctucanfd_write32(
118 enum ctu_can_fd_can_registers reg,
122 *(
volatile uint32_t * )( internal->
base + reg ) = val;
125static inline uint32_t ctucanfd_read32(
127 enum ctu_can_fd_can_registers reg
130 return *(
volatile uint32_t * )( internal->
base + reg );
133static inline void ctucanfd_write_txt_buf(
135 enum ctu_can_fd_can_registers buf_base,
140 *(
volatile uint32_t * )( internal->
base + buf_base + offset ) = val;
143#define CTU_CAN_FD_ENABLED( internal ) (!!FIELD_GET( \
145 ctucanfd_read32( internal, CTUCANFD_MODE ) \
This header file is part of CAN/CAN FD bus common support. It implements functions and defines used t...
This file is part of CAN/CAN FD bus common support and implements CAN FIFOs and generic hubs/ends for...
This header file contains the implementation of CTU CAN FD controller.
#define RTEMS_CTUCANFD_NTXBUFS_MAX
This defines the maximum number of TX buffers.
Definition: ctucanfd.h:53
This represents internal CTU CAN FD structure.
Definition: ctucanfd_internal.h:81
uint32_t int_mask
This member holds the masked out interrupts.
Definition: ctucanfd_internal.h:93
uint32_t txb_order
This member holds the order in which the buffers should be scheduled for transmisison.
Definition: ctucanfd_internal.h:109
uint32_t int_ena
This member holds the enabled interrupts.
Definition: ctucanfd_internal.h:89
struct ctucanfd_txb_info txb_info[RTEMS_CTUCANFD_NTXBUFS_MAX]
This member holds the array of ctucanfd_txb_info structures.
Definition: ctucanfd_internal.h:97
uintptr_t base
Base memory address.
Definition: ctucanfd_internal.h:85
uint8_t txb_prio_tail[RTEMS_CAN_QUEUE_PRIO_NR]
This member holds tails for mapping of priority classes to bufders.
Definition: ctucanfd_internal.h:104
unsigned int ntxbufs
This member holds the number of TX buffers for given core.
Definition: ctucanfd_internal.h:113
This represents one HW transmission buffer.
Definition: ctucanfd_internal.h:54
struct rtems_can_queue_edge * edge
This holds the pointer to the edge from which the slot was acquired.
Definition: ctucanfd_internal.h:71
struct rtems_can_queue_slot * slot
This holds the pointer to the slot the buffer acquired.
Definition: ctucanfd_internal.h:63
This structure represents one direction connection from messages source ( input_ends) to message cons...
Definition: can-queue.h:231
This structure represents one CAN message slot in the CAN FIFO queue.
Definition: can-queue.h:60