New upstream version 18.02
[deb_dpdk.git] / drivers / bus / fslmc / mc / fsl_dpcon_cmd.h
1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
2  *
3  * Copyright 2013-2016 Freescale Semiconductor Inc.
4  * Copyright 2016-2017 NXP
5  *
6  */
7 #ifndef _FSL_DPCON_CMD_H
8 #define _FSL_DPCON_CMD_H
9
10 /* DPCON Version */
11 #define DPCON_VER_MAJOR                 3
12 #define DPCON_VER_MINOR                 3
13
14
15 /* Command versioning */
16 #define DPCON_CMD_BASE_VERSION          1
17 #define DPCON_CMD_ID_OFFSET             4
18
19 #define DPCON_CMD(id)   ((id << DPCON_CMD_ID_OFFSET) | DPCON_CMD_BASE_VERSION)
20
21 /* Command IDs */
22 #define DPCON_CMDID_CLOSE               DPCON_CMD(0x800)
23 #define DPCON_CMDID_OPEN                DPCON_CMD(0x808)
24 #define DPCON_CMDID_CREATE              DPCON_CMD(0x908)
25 #define DPCON_CMDID_DESTROY             DPCON_CMD(0x988)
26 #define DPCON_CMDID_GET_API_VERSION     DPCON_CMD(0xa08)
27
28 #define DPCON_CMDID_ENABLE              DPCON_CMD(0x002)
29 #define DPCON_CMDID_DISABLE             DPCON_CMD(0x003)
30 #define DPCON_CMDID_GET_ATTR            DPCON_CMD(0x004)
31 #define DPCON_CMDID_RESET               DPCON_CMD(0x005)
32 #define DPCON_CMDID_IS_ENABLED          DPCON_CMD(0x006)
33
34 #define DPCON_CMDID_SET_NOTIFICATION    DPCON_CMD(0x100)
35
36 #pragma pack(push, 1)
37 struct dpcon_cmd_open {
38         uint32_t dpcon_id;
39 };
40
41 struct dpcon_cmd_create {
42         uint8_t num_priorities;
43 };
44
45 struct dpcon_cmd_destroy {
46         uint32_t object_id;
47 };
48
49 #define DPCON_ENABLE                    1
50
51 struct dpcon_rsp_is_enabled {
52         uint8_t enabled;
53 };
54
55 struct dpcon_rsp_get_attr {
56         uint32_t id;
57         uint16_t qbman_ch_id;
58         uint8_t num_priorities;
59         uint8_t pad;
60 };
61
62 struct dpcon_cmd_set_notification {
63         uint32_t dpio_id;
64         uint8_t priority;
65         uint8_t pad[3];
66         uint64_t user_ctx;
67 };
68
69 struct dpcon_rsp_get_api_version {
70         uint16_t major;
71         uint16_t minor;
72 };
73
74 #pragma pack(pop)
75 #endif /* _FSL_DPCON_CMD_H */