Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-block.git] / drivers / net / ethernet / freescale / dpaa2 / dprtc-cmd.h
CommitLineData
7de4344f 1/* SPDX-License-Identifier: GPL-2.0 */
9bdf43b3
YL
2/*
3 * Copyright 2013-2016 Freescale Semiconductor Inc.
4 * Copyright 2016-2018 NXP
5 */
6
7#ifndef _FSL_DPRTC_CMD_H
8#define _FSL_DPRTC_CMD_H
9
9bdf43b3
YL
10/* Command versioning */
11#define DPRTC_CMD_BASE_VERSION 1
17568c62 12#define DPRTC_CMD_VERSION_2 2
9bdf43b3
YL
13#define DPRTC_CMD_ID_OFFSET 4
14
15#define DPRTC_CMD(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_BASE_VERSION)
17568c62 16#define DPRTC_CMD_V2(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_VERSION_2)
9bdf43b3
YL
17
18/* Command IDs */
19#define DPRTC_CMDID_CLOSE DPRTC_CMD(0x800)
20#define DPRTC_CMDID_OPEN DPRTC_CMD(0x810)
9bdf43b3 21
8893a843
YL
22#define DPRTC_CMDID_SET_IRQ_ENABLE DPRTC_CMD(0x012)
23#define DPRTC_CMDID_GET_IRQ_ENABLE DPRTC_CMD(0x013)
17568c62 24#define DPRTC_CMDID_SET_IRQ_MASK DPRTC_CMD_V2(0x014)
8893a843
YL
25#define DPRTC_CMDID_GET_IRQ_MASK DPRTC_CMD(0x015)
26#define DPRTC_CMDID_GET_IRQ_STATUS DPRTC_CMD(0x016)
27#define DPRTC_CMDID_CLEAR_IRQ_STATUS DPRTC_CMD(0x017)
28
9bdf43b3
YL
29#pragma pack(push, 1)
30struct dprtc_cmd_open {
31 __le32 dprtc_id;
32};
33
8893a843
YL
34struct dprtc_cmd_get_irq {
35 __le32 pad;
36 u8 irq_index;
37};
38
39struct dprtc_cmd_set_irq_enable {
40 u8 en;
41 u8 pad[3];
42 u8 irq_index;
43};
44
45struct dprtc_rsp_get_irq_enable {
46 u8 en;
47};
48
49struct dprtc_cmd_set_irq_mask {
50 __le32 mask;
51 u8 irq_index;
52};
53
54struct dprtc_rsp_get_irq_mask {
55 __le32 mask;
56};
57
58struct dprtc_cmd_get_irq_status {
59 __le32 status;
60 u8 irq_index;
61};
62
63struct dprtc_rsp_get_irq_status {
64 __le32 status;
65};
66
67struct dprtc_cmd_clear_irq_status {
68 __le32 status;
69 u8 irq_index;
70};
71
9bdf43b3
YL
72#pragma pack(pop)
73
74#endif /* _FSL_DPRTC_CMD_H */