WIP FPC-III support
[linux/fpc-iii.git] / drivers / net / ethernet / freescale / dpaa2 / dprtc-cmd.h
blob96ffeb948f088a2488a0ebbf3bcc18ac7710c582
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Copyright 2013-2016 Freescale Semiconductor Inc.
4 * Copyright 2016-2018 NXP
5 */
7 #ifndef _FSL_DPRTC_CMD_H
8 #define _FSL_DPRTC_CMD_H
10 /* Command versioning */
11 #define DPRTC_CMD_BASE_VERSION 1
12 #define DPRTC_CMD_VERSION_2 2
13 #define DPRTC_CMD_ID_OFFSET 4
15 #define DPRTC_CMD(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_BASE_VERSION)
16 #define DPRTC_CMD_V2(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_VERSION_2)
18 /* Command IDs */
19 #define DPRTC_CMDID_CLOSE DPRTC_CMD(0x800)
20 #define DPRTC_CMDID_OPEN DPRTC_CMD(0x810)
22 #define DPRTC_CMDID_SET_IRQ_ENABLE DPRTC_CMD(0x012)
23 #define DPRTC_CMDID_GET_IRQ_ENABLE DPRTC_CMD(0x013)
24 #define DPRTC_CMDID_SET_IRQ_MASK DPRTC_CMD_V2(0x014)
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)
29 #pragma pack(push, 1)
30 struct dprtc_cmd_open {
31 __le32 dprtc_id;
34 struct dprtc_cmd_get_irq {
35 __le32 pad;
36 u8 irq_index;
39 struct dprtc_cmd_set_irq_enable {
40 u8 en;
41 u8 pad[3];
42 u8 irq_index;
45 struct dprtc_rsp_get_irq_enable {
46 u8 en;
49 struct dprtc_cmd_set_irq_mask {
50 __le32 mask;
51 u8 irq_index;
54 struct dprtc_rsp_get_irq_mask {
55 __le32 mask;
58 struct dprtc_cmd_get_irq_status {
59 __le32 status;
60 u8 irq_index;
63 struct dprtc_rsp_get_irq_status {
64 __le32 status;
67 struct dprtc_cmd_clear_irq_status {
68 __le32 status;
69 u8 irq_index;
72 #pragma pack(pop)
74 #endif /* _FSL_DPRTC_CMD_H */