root/include/uapi/linux/aspeed-lpc-ctrl.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
   2 /*
   3  * Copyright 2017 IBM Corp.
   4  *
   5  * This program is free software; you can redistribute it and/or
   6  * modify it under the terms of the GNU General Public License
   7  * as published by the Free Software Foundation; either version
   8  * 2 of the License, or (at your option) any later version.
   9  */
  10 
  11 #ifndef _UAPI_LINUX_ASPEED_LPC_CTRL_H
  12 #define _UAPI_LINUX_ASPEED_LPC_CTRL_H
  13 
  14 #include <linux/ioctl.h>
  15 #include <linux/types.h>
  16 
  17 /* Window types */
  18 #define ASPEED_LPC_CTRL_WINDOW_FLASH    1
  19 #define ASPEED_LPC_CTRL_WINDOW_MEMORY   2
  20 
  21 /*
  22  * This driver provides a window for the host to access a BMC resource
  23  * across the BMC <-> Host LPC bus.
  24  *
  25  * window_type: The BMC resource that the host will access through the
  26  * window. BMC flash and BMC RAM.
  27  *
  28  * window_id: For each window type there may be multiple windows,
  29  * these are referenced by ID.
  30  *
  31  * flags: Reserved for future use, this field is expected to be
  32  * zeroed.
  33  *
  34  * addr: Address on the host LPC bus that the specified window should
  35  * be mapped. This address must be power of two aligned.
  36  *
  37  * offset: Offset into the BMC window that should be mapped to the
  38  * host (at addr). This must be a multiple of size.
  39  *
  40  * size: The size of the mapping. The smallest possible size is 64K.
  41  * This must be power of two aligned.
  42  *
  43  */
  44 
  45 struct aspeed_lpc_ctrl_mapping {
  46         __u8    window_type;
  47         __u8    window_id;
  48         __u16   flags;
  49         __u32   addr;
  50         __u32   offset;
  51         __u32   size;
  52 };
  53 
  54 #define __ASPEED_LPC_CTRL_IOCTL_MAGIC   0xb2
  55 
  56 #define ASPEED_LPC_CTRL_IOCTL_GET_SIZE  _IOWR(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \
  57                 0x00, struct aspeed_lpc_ctrl_mapping)
  58 
  59 #define ASPEED_LPC_CTRL_IOCTL_MAP       _IOW(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \
  60                 0x01, struct aspeed_lpc_ctrl_mapping)
  61 
  62 #endif /* _UAPI_LINUX_ASPEED_LPC_CTRL_H */

/* [<][>][^][v][top][bottom][index][help] */