ctucanfd_kframe.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*******************************************************************************
  3. *
  4. * CTU CAN FD IP Core
  5. *
  6. * Copyright (C) 2015-2018 Ondrej Ille <[email protected]> FEE CTU
  7. * Copyright (C) 2018-2021 Ondrej Ille <[email protected]> self-funded
  8. * Copyright (C) 2018-2019 Martin Jerabek <[email protected]> FEE CTU
  9. * Copyright (C) 2018-2021 Pavel Pisa <[email protected]> FEE CTU/self-funded
  10. *
  11. * Project advisors:
  12. * Jiri Novak <[email protected]>
  13. * Pavel Pisa <[email protected]>
  14. *
  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/)
  18. ******************************************************************************/
  19. /* This file is autogenerated, DO NOT EDIT! */
  20. #ifndef __CTU_CAN_FD_CAN_FD_FRAME_FORMAT__
  21. #define __CTU_CAN_FD_CAN_FD_FRAME_FORMAT__
  22. #include <linux/bits.h>
  23. /* CAN_Frame_format memory map */
  24. enum ctu_can_fd_can_frame_format {
  25. CTUCANFD_FRAME_FORMAT_W = 0x0,
  26. CTUCANFD_IDENTIFIER_W = 0x4,
  27. CTUCANFD_TIMESTAMP_L_W = 0x8,
  28. CTUCANFD_TIMESTAMP_U_W = 0xc,
  29. CTUCANFD_DATA_1_4_W = 0x10,
  30. CTUCANFD_DATA_5_8_W = 0x14,
  31. CTUCANFD_DATA_61_64_W = 0x4c,
  32. };
  33. /* CAN_FD_Frame_format memory region */
  34. /* FRAME_FORMAT_W registers */
  35. #define REG_FRAME_FORMAT_W_DLC GENMASK(3, 0)
  36. #define REG_FRAME_FORMAT_W_RTR BIT(5)
  37. #define REG_FRAME_FORMAT_W_IDE BIT(6)
  38. #define REG_FRAME_FORMAT_W_FDF BIT(7)
  39. #define REG_FRAME_FORMAT_W_BRS BIT(9)
  40. #define REG_FRAME_FORMAT_W_ESI_RSV BIT(10)
  41. #define REG_FRAME_FORMAT_W_RWCNT GENMASK(15, 11)
  42. /* IDENTIFIER_W registers */
  43. #define REG_IDENTIFIER_W_IDENTIFIER_EXT GENMASK(17, 0)
  44. #define REG_IDENTIFIER_W_IDENTIFIER_BASE GENMASK(28, 18)
  45. /* TIMESTAMP_L_W registers */
  46. #define REG_TIMESTAMP_L_W_TIME_STAMP_L_W GENMASK(31, 0)
  47. /* TIMESTAMP_U_W registers */
  48. #define REG_TIMESTAMP_U_W_TIMESTAMP_U_W GENMASK(31, 0)
  49. /* DATA_1_4_W registers */
  50. #define REG_DATA_1_4_W_DATA_1 GENMASK(7, 0)
  51. #define REG_DATA_1_4_W_DATA_2 GENMASK(15, 8)
  52. #define REG_DATA_1_4_W_DATA_3 GENMASK(23, 16)
  53. #define REG_DATA_1_4_W_DATA_4 GENMASK(31, 24)
  54. /* DATA_5_8_W registers */
  55. #define REG_DATA_5_8_W_DATA_5 GENMASK(7, 0)
  56. #define REG_DATA_5_8_W_DATA_6 GENMASK(15, 8)
  57. #define REG_DATA_5_8_W_DATA_7 GENMASK(23, 16)
  58. #define REG_DATA_5_8_W_DATA_8 GENMASK(31, 24)
  59. /* DATA_61_64_W registers */
  60. #define REG_DATA_61_64_W_DATA_61 GENMASK(7, 0)
  61. #define REG_DATA_61_64_W_DATA_62 GENMASK(15, 8)
  62. #define REG_DATA_61_64_W_DATA_63 GENMASK(23, 16)
  63. #define REG_DATA_61_64_W_DATA_64 GENMASK(31, 24)
  64. #endif