xref: /openbmc/linux/drivers/fpga/dfl-fme.h (revision 724142f8)
129de7624SKang Luwei /* SPDX-License-Identifier: GPL-2.0 */
229de7624SKang Luwei /*
329de7624SKang Luwei  * Header file for FPGA Management Engine (FME) Driver
429de7624SKang Luwei  *
529de7624SKang Luwei  * Copyright (C) 2017-2018 Intel Corporation, Inc.
629de7624SKang Luwei  *
729de7624SKang Luwei  * Authors:
829de7624SKang Luwei  *   Kang Luwei <luwei.kang@intel.com>
929de7624SKang Luwei  *   Xiao Guangrong <guangrong.xiao@linux.intel.com>
1029de7624SKang Luwei  *   Wu Hao <hao.wu@intel.com>
1129de7624SKang Luwei  *   Joseph Grecco <joe.grecco@intel.com>
1229de7624SKang Luwei  *   Enno Luebbers <enno.luebbers@intel.com>
1329de7624SKang Luwei  *   Tim Whisonant <tim.whisonant@intel.com>
1429de7624SKang Luwei  *   Ananda Ravuri <ananda.ravuri@intel.com>
1529de7624SKang Luwei  *   Henry Mitchel <henry.mitchel@intel.com>
1629de7624SKang Luwei  */
1729de7624SKang Luwei 
1829de7624SKang Luwei #ifndef __DFL_FME_H
1929de7624SKang Luwei #define __DFL_FME_H
2029de7624SKang Luwei 
2129de7624SKang Luwei /**
2229de7624SKang Luwei  * struct dfl_fme - dfl fme private data
2329de7624SKang Luwei  *
2429de7624SKang Luwei  * @mgr: FME's FPGA manager platform device.
2529de7624SKang Luwei  * @region_list: linked list of FME's FPGA regions.
2629de7624SKang Luwei  * @bridge_list: linked list of FME's FPGA bridges.
2729de7624SKang Luwei  * @pdata: fme platform device's pdata.
2829de7624SKang Luwei  */
2929de7624SKang Luwei struct dfl_fme {
3029de7624SKang Luwei 	struct platform_device *mgr;
3129de7624SKang Luwei 	struct list_head region_list;
3229de7624SKang Luwei 	struct list_head bridge_list;
3329de7624SKang Luwei 	struct dfl_feature_platform_data *pdata;
3429de7624SKang Luwei };
3529de7624SKang Luwei 
3615bbb300SWu Hao extern const struct dfl_feature_ops fme_pr_mgmt_ops;
3715bbb300SWu Hao extern const struct dfl_feature_id fme_pr_mgmt_id_table[];
38cb3c2c47SWu Hao extern const struct dfl_feature_ops fme_global_err_ops;
39cb3c2c47SWu Hao extern const struct dfl_feature_id fme_global_err_id_table[];
40cb3c2c47SWu Hao extern const struct attribute_group fme_global_err_group;
41724142f8SWu Hao extern const struct dfl_feature_ops fme_perf_ops;
42724142f8SWu Hao extern const struct dfl_feature_id fme_perf_id_table[];
4329de7624SKang Luwei 
4429de7624SKang Luwei #endif /* __DFL_FME_H */
45