xref: /linux/include/linux/fsi-sbefifo.h (revision 6b99076c)
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