linux/drivers/net/ethernet/freescale/dpaa2/dprtc-cmd.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   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
  10/* Command versioning */
  11#define DPRTC_CMD_BASE_VERSION          1
  12#define DPRTC_CMD_VERSION_2             2
  13#define DPRTC_CMD_ID_OFFSET             4
  14
  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)
  17
  18/* Command IDs */
  19#define DPRTC_CMDID_CLOSE                       DPRTC_CMD(0x800)
  20#define DPRTC_CMDID_OPEN                        DPRTC_CMD(0x810)
  21
  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)
  28
  29#pragma pack(push, 1)
  30struct dprtc_cmd_open {
  31        __le32 dprtc_id;
  32};
  33
  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
  72#pragma pack(pop)
  73
  74#endif /* _FSL_DPRTC_CMD_H */
  75