1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*******************************************************************************
6 * Copyright (C) 2015-2018 Ondrej Ille <ondrej.ille@gmail.com> FEE CTU
7 * Copyright (C) 2018-2020 Ondrej Ille <ondrej.ille@gmail.com> self-funded
8 * Copyright (C) 2018-2019 Martin Jerabek <martin.jerabek01@gmail.com> FEE CTU
9 * Copyright (C) 2018-2020 Pavel Pisa <pisa@cmp.felk.cvut.cz> FEE CTU/self-funded
12 * Jiri Novak <jnovak@fel.cvut.cz>
13 * Pavel Pisa <pisa@cmp.felk.cvut.cz>
15 * Department of Measurement (http://meas.fel.cvut.cz/)
16 * Faculty of Electrical Engineering (http://www.fel.cvut.cz)
17 * Czech Technical University (http://www.cvut.cz/)
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
28 ******************************************************************************/
30 /* This file is autogenerated, DO NOT EDIT! */
32 #ifndef HW_CAN_CTU_CAN_FD_FRAME_H
33 #define HW_CAN_CTU_CAN_FD_FRAME_H
35 /* CAN_Frame_format memory map */
36 enum ctu_can_fd_can_frame_format
{
37 CTU_CAN_FD_FRAME_FORM_W
= 0x0,
38 CTU_CAN_FD_IDENTIFIER_W
= 0x4,
39 CTU_CAN_FD_TIMESTAMP_L_W
= 0x8,
40 CTU_CAN_FD_TIMESTAMP_U_W
= 0xc,
41 CTU_CAN_FD_DATA_1_4_W
= 0x10,
42 CTU_CAN_FD_DATA_5_8_W
= 0x14,
43 CTU_CAN_FD_DATA_61_64_W
= 0x4c,
47 /* Register descriptions: */
48 union ctu_can_fd_frame_form_w
{
50 struct ctu_can_fd_frame_form_w_s
{
51 #ifdef __LITTLE_ENDIAN_BITFIELD
54 uint32_t reserved_4
: 1;
58 uint32_t reserved_8
: 1;
62 uint32_t reserved_31_16
: 16;
64 uint32_t reserved_31_16
: 16;
68 uint32_t reserved_8
: 1;
72 uint32_t reserved_4
: 1;
78 enum ctu_can_fd_frame_form_w_rtr
{
83 enum ctu_can_fd_frame_form_w_ide
{
88 enum ctu_can_fd_frame_form_w_fdf
{
93 enum ctu_can_fd_frame_form_w_brs
{
98 enum ctu_can_fd_frame_form_w_esi_rsv
{
100 ESI_ERR_PASIVE
= 0x1,
103 union ctu_can_fd_identifier_w
{
105 struct ctu_can_fd_identifier_w_s
{
106 #ifdef __LITTLE_ENDIAN_BITFIELD
108 uint32_t identifier_ext
: 18;
109 uint32_t identifier_base
: 11;
110 uint32_t reserved_31_29
: 3;
112 uint32_t reserved_31_29
: 3;
113 uint32_t identifier_base
: 11;
114 uint32_t identifier_ext
: 18;
119 union ctu_can_fd_timestamp_l_w
{
121 struct ctu_can_fd_timestamp_l_w_s
{
123 uint32_t time_stamp_31_0
: 32;
127 union ctu_can_fd_timestamp_u_w
{
129 struct ctu_can_fd_timestamp_u_w_s
{
131 uint32_t timestamp_l_w
: 32;
135 union ctu_can_fd_data_1_4_w
{
137 struct ctu_can_fd_data_1_4_w_s
{
138 #ifdef __LITTLE_ENDIAN_BITFIELD
153 union ctu_can_fd_data_5_8_w
{
155 struct ctu_can_fd_data_5_8_w_s
{
156 #ifdef __LITTLE_ENDIAN_BITFIELD
171 union ctu_can_fd_data_61_64_w
{
173 struct ctu_can_fd_data_61_64_w_s
{
174 #ifdef __LITTLE_ENDIAN_BITFIELD
176 uint32_t data_61
: 8;
177 uint32_t data_62
: 8;
178 uint32_t data_63
: 8;
179 uint32_t data_64
: 8;
181 uint32_t data_64
: 8;
182 uint32_t data_63
: 8;
183 uint32_t data_62
: 8;
184 uint32_t data_61
: 8;