1*6b99076cSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 29f4a8a2dSBenjamin Herrenschmidt /* 39f4a8a2dSBenjamin Herrenschmidt * SBEFIFO FSI Client device driver 49f4a8a2dSBenjamin Herrenschmidt * 59f4a8a2dSBenjamin Herrenschmidt * Copyright (C) IBM Corporation 2017 69f4a8a2dSBenjamin Herrenschmidt */ 79f4a8a2dSBenjamin Herrenschmidt 89f4a8a2dSBenjamin Herrenschmidt #ifndef LINUX_FSI_SBEFIFO_H 99f4a8a2dSBenjamin Herrenschmidt #define LINUX_FSI_SBEFIFO_H 109f4a8a2dSBenjamin Herrenschmidt 119f4a8a2dSBenjamin Herrenschmidt #define SBEFIFO_CMD_PUT_OCC_SRAM 0xa404 129f4a8a2dSBenjamin Herrenschmidt #define SBEFIFO_CMD_GET_OCC_SRAM 0xa403 139f4a8a2dSBenjamin Herrenschmidt #define SBEFIFO_CMD_GET_SBE_FFDC 0xa801 149f4a8a2dSBenjamin Herrenschmidt 159f4a8a2dSBenjamin Herrenschmidt #define SBEFIFO_MAX_FFDC_SIZE 0x2000 169f4a8a2dSBenjamin Herrenschmidt 179f4a8a2dSBenjamin Herrenschmidt struct device; 189f4a8a2dSBenjamin Herrenschmidt 199f4a8a2dSBenjamin Herrenschmidt int sbefifo_submit(struct device *dev, const __be32 *command, size_t cmd_len, 209f4a8a2dSBenjamin Herrenschmidt __be32 *response, size_t *resp_len); 219f4a8a2dSBenjamin Herrenschmidt 229f4a8a2dSBenjamin Herrenschmidt int sbefifo_parse_status(struct device *dev, u16 cmd, __be32 *response, 239f4a8a2dSBenjamin Herrenschmidt size_t resp_len, size_t *data_len); 249f4a8a2dSBenjamin Herrenschmidt 259f4a8a2dSBenjamin Herrenschmidt #endif /* LINUX_FSI_SBEFIFO_H */ 26