# LIN Interface

Address | Register Name | Register Write | Register Read | Default | Description
--- | --- | --- | --- | --- | ---
0x40002000 | LIN0_CFG | (8) CHECKSUM_MODE | (8) CHECKSUM_MODE | 0x0 | Select checksum mode
|  | (4) INIT | (4) INIT | 0x0 | Start C617 initialization
|  | - | (0) STANDBY | 0x0 | C617 state
0x40002004 | LIN0_CTRL | (8) RESET | - | N/A | Reset the LIN module to default configuration
|  | - | (7) RHC | 0x0 | This bit is set, when frame header is successfully received (synchronization passed and frame identifier received). Bit is cleared during transition to RX_ID state. Setting of bit to high by controller has higher priority than bit clear by CM33 (frame identifier received). Bit is cleared on MCU read. Bit is cleared during transition to RX_ID state. Setting of bit to high by controller has higher priority than bit clear by CM33
|  | - | (6) RXF | 0x0 | This bit is set when LIN controller successfully receives all data bytes and checksum is correct. Bit is cleared during transition to RX_ID state. Setting of bit to high by controller has higher priority than bit clear by CM33.
|  | - | (5) TXF | 0x0 | This bit is set when controller starts to transmit. Bit is cleared when all bytes are transmitted or bit error occurs or break/sync is detected or during transition to RX_ID state.
|  | - | (4) ENABLE_STATUS | 0x0 | LIN enable status
|  | (1) DISABLE | - | N/A | Disable the LIN
|  | (0) ENABLE | - | N/A | Enable the LIN
0x40002008 | LIN0_ERROR | (11) CLR_CE | - | N/A | Clear Checksum error flag
|  | (10) CLR_PE | - | N/A | Clear Parity error flag
|  | (9) CLR_BE | - | N/A | Clear Bit error flag
|  | (8) CLR_FE | - | N/A | Clear Frame error flag
|  | - | (7) CE | 0x0 | Checksum error: this bit is set to high when all data bytes are received but value of calculated checksum does not equal the value of 255.
|  | - | (6) PE | 0x0 | Parity error: this bit is set when parity of received identifier is different from calculated parity.
|  | - | (5) BE | 0x0 | Bit error: this bit is set when transmitted data is different from read back data. This bit is cleared on MCU read.
|  | - | (4) FE | 0x0 | Framing error: this bit is set when received stop bit is 0 in sync field, identifier or data byte.
|  | - | (3) CE_WRC | 0x0 | Checksum error: this bit is set to high when all data bytes are received but value of calculated checksum does not equal the value of 255. This bit is cleared on MCU read.
|  | - | (2) PE_WRC | 0x0 | Parity error: this bit is set when parity of received identifier is different from calculated parity. This bit is cleared on MCU read.
|  | - | (1) BE_WRC | 0x0 | Bit error: this bit is set when transmitted data is different from read back data. This bit is cleared on MCU read.
|  | - | (0) FE_WRC | 0x0 | Framing error: this bit is set when received stop bit is 0 in sync field, identifier or data byte. This bit is cleared on MCU read.
0x4000200C | LIN0_PID | - | (7:0) PID | 0x0 | LIN Protected Identifier register
0x40002010 | LIN0_DLB | (4) DELAY | (4) DELAY | 0x0 | Complete the PID stop bit before sending the first byte
|  | (2:0) DLBT | (2:0) DLBT | 0x0 | Number of data bytes to transmit.
0x40002014 | LIN0_DLBR | (2:0) DLBR | (2:0) DLBR | 0x0 | Number of data bytes to receive.
0x40002018 - 0x40002034 | LIN0_DATA_* | (7:0) DATA | (7:0) DATA | 0x0 | LIN Data byte received or to transmit
0x40002038 | LIN0_DATA_WORD0 | (31:24) DATA3 | (31:24) DATA3 | 0x0 | LIN Data[3] byte received or to transmit
|  | (23:16) DATA2 | (23:16) DATA2 | 0x0 | LIN Data[2] byte received or to transmit
|  | (15:8) DATA1 | (15:8) DATA1 | 0x0 | LIN Data[1] byte received or to transmit
|  | (7:0) DATA0 | (7:0) DATA0 | 0x0 | LIN Data[0] byte received or to transmit
0x4000203C | LIN0_DATA_WORD1 | (31:24) DATA7 | (31:24) DATA7 | 0x0 | LIN Data[7] byte received or to transmit
|  | (23:16) DATA6 | (23:16) DATA6 | 0x0 | LIN Data[6] byte received or to transmit
|  | (15:8) DATA5 | (15:8) DATA5 | 0x0 | LIN Data[5] byte received or to transmit
|  | (7:0) DATA4 | (7:0) DATA4 | 0x0 | LIN Data[4] byte received or to transmit
0x40002040 | LIN0_CHECKSUM | - | (7:0) CHECKSUM | 0x0 | Checksum
0x400020F4 | LIN0_SYNCH | - | (13:0) TSYNC | 0x0 | Duration of TSYNC
0x400020FC | LIN0_ID_NUM | - | (15:8) LIN_MAJOR_REVISION | 0x1 | LIN Major Revision number
|  | - | (7:0) LIN_MINOR_REVISION | 0x0 | LIN Minor Revision number