drivers/net/can/ctucanfd/ctucanfd_kregs.h
Source file repositories/reference/linux-study-clean/drivers/net/can/ctucanfd/ctucanfd_kregs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/can/ctucanfd/ctucanfd_kregs.h- Extension
.h- Size
- 11724 bytes
- Lines
- 350
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
Dependency Surface
linux/bits.h
Detected Declarations
enum ctu_can_fd_can_registers
Annotated Snippet
#ifndef __CTU_CAN_FD_CAN_FD_REGISTER_MAP__
#define __CTU_CAN_FD_CAN_FD_REGISTER_MAP__
#include <linux/bits.h>
/* CAN_Registers memory map */
enum ctu_can_fd_can_registers {
CTUCANFD_DEVICE_ID = 0x0,
CTUCANFD_VERSION = 0x2,
CTUCANFD_MODE = 0x4,
CTUCANFD_SETTINGS = 0x6,
CTUCANFD_STATUS = 0x8,
CTUCANFD_COMMAND = 0xc,
CTUCANFD_INT_STAT = 0x10,
CTUCANFD_INT_ENA_SET = 0x14,
CTUCANFD_INT_ENA_CLR = 0x18,
CTUCANFD_INT_MASK_SET = 0x1c,
CTUCANFD_INT_MASK_CLR = 0x20,
CTUCANFD_BTR = 0x24,
CTUCANFD_BTR_FD = 0x28,
CTUCANFD_EWL = 0x2c,
CTUCANFD_ERP = 0x2d,
CTUCANFD_FAULT_STATE = 0x2e,
CTUCANFD_REC = 0x30,
CTUCANFD_TEC = 0x32,
CTUCANFD_ERR_NORM = 0x34,
CTUCANFD_ERR_FD = 0x36,
CTUCANFD_CTR_PRES = 0x38,
CTUCANFD_FILTER_A_MASK = 0x3c,
CTUCANFD_FILTER_A_VAL = 0x40,
CTUCANFD_FILTER_B_MASK = 0x44,
CTUCANFD_FILTER_B_VAL = 0x48,
CTUCANFD_FILTER_C_MASK = 0x4c,
CTUCANFD_FILTER_C_VAL = 0x50,
CTUCANFD_FILTER_RAN_LOW = 0x54,
CTUCANFD_FILTER_RAN_HIGH = 0x58,
CTUCANFD_FILTER_CONTROL = 0x5c,
CTUCANFD_FILTER_STATUS = 0x5e,
CTUCANFD_RX_MEM_INFO = 0x60,
CTUCANFD_RX_POINTERS = 0x64,
CTUCANFD_RX_STATUS = 0x68,
CTUCANFD_RX_SETTINGS = 0x6a,
CTUCANFD_RX_DATA = 0x6c,
CTUCANFD_TX_STATUS = 0x70,
CTUCANFD_TX_COMMAND = 0x74,
CTUCANFD_TXTB_INFO = 0x76,
CTUCANFD_TX_PRIORITY = 0x78,
CTUCANFD_ERR_CAPT = 0x7c,
CTUCANFD_RETR_CTR = 0x7d,
CTUCANFD_ALC = 0x7e,
CTUCANFD_TS_INFO = 0x7f,
CTUCANFD_TRV_DELAY = 0x80,
CTUCANFD_SSP_CFG = 0x82,
CTUCANFD_RX_FR_CTR = 0x84,
CTUCANFD_TX_FR_CTR = 0x88,
CTUCANFD_DEBUG_REGISTER = 0x8c,
CTUCANFD_YOLO_REG = 0x90,
CTUCANFD_TIMESTAMP_LOW = 0x94,
CTUCANFD_TIMESTAMP_HIGH = 0x98,
CTUCANFD_TXTB1_DATA_1 = 0x100,
CTUCANFD_TXTB1_DATA_2 = 0x104,
CTUCANFD_TXTB1_DATA_20 = 0x14c,
CTUCANFD_TXTB2_DATA_1 = 0x200,
CTUCANFD_TXTB2_DATA_2 = 0x204,
CTUCANFD_TXTB2_DATA_20 = 0x24c,
CTUCANFD_TXTB3_DATA_1 = 0x300,
CTUCANFD_TXTB3_DATA_2 = 0x304,
CTUCANFD_TXTB3_DATA_20 = 0x34c,
CTUCANFD_TXTB4_DATA_1 = 0x400,
CTUCANFD_TXTB4_DATA_2 = 0x404,
CTUCANFD_TXTB4_DATA_20 = 0x44c,
};
/* Control_registers memory region */
/* DEVICE_ID VERSION registers */
#define REG_DEVICE_ID_DEVICE_ID GENMASK(15, 0)
#define REG_DEVICE_ID_VER_MINOR GENMASK(23, 16)
#define REG_DEVICE_ID_VER_MAJOR GENMASK(31, 24)
/* MODE SETTINGS registers */
#define REG_MODE_RST BIT(0)
#define REG_MODE_BMM BIT(1)
#define REG_MODE_STM BIT(2)
#define REG_MODE_AFM BIT(3)
#define REG_MODE_FDE BIT(4)
#define REG_MODE_TTTM BIT(5)
#define REG_MODE_ROM BIT(6)
#define REG_MODE_ACF BIT(7)
#define REG_MODE_TSTM BIT(8)
Annotation
- Immediate include surface: `linux/bits.h`.
- Detected declarations: `enum ctu_can_fd_can_registers`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.