1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * mcp251xfd - Microchip MCP251xFD Family CAN controller driver
4 *
5 * Copyright (c) 2019, 2020, 2021 Pengutronix,
6 *               Marc Kleine-Budde <kernel@pengutronix.de>
7 */
8
9#ifndef _MCP251XFD_DUMP_H
10#define _MCP251XFD_DUMP_H
11
12#define MCP251XFD_DUMP_MAGIC 0x1825434d
13
14enum mcp251xfd_dump_object_type {
15	MCP251XFD_DUMP_OBJECT_TYPE_REG,
16	MCP251XFD_DUMP_OBJECT_TYPE_TEF,
17	MCP251XFD_DUMP_OBJECT_TYPE_RX,
18	MCP251XFD_DUMP_OBJECT_TYPE_TX,
19	MCP251XFD_DUMP_OBJECT_TYPE_END = -1,
20};
21
22enum mcp251xfd_dump_object_ring_key {
23	MCP251XFD_DUMP_OBJECT_RING_KEY_HEAD,
24	MCP251XFD_DUMP_OBJECT_RING_KEY_TAIL,
25	MCP251XFD_DUMP_OBJECT_RING_KEY_BASE,
26	MCP251XFD_DUMP_OBJECT_RING_KEY_NR,
27	MCP251XFD_DUMP_OBJECT_RING_KEY_FIFO_NR,
28	MCP251XFD_DUMP_OBJECT_RING_KEY_OBJ_NUM,
29	MCP251XFD_DUMP_OBJECT_RING_KEY_OBJ_SIZE,
30	__MCP251XFD_DUMP_OBJECT_RING_KEY_MAX,
31};
32
33struct mcp251xfd_dump_object_header {
34	__le32 magic;
35	__le32 type;
36	__le32 offset;
37	__le32 len;
38};
39
40struct mcp251xfd_dump_object_reg {
41	__le32 reg;
42	__le32 val;
43};
44
45#endif
46