xref: /openbmc/qemu/hw/misc/xlnx-cfi-if.c (revision a7e8e30e7ca071c8fbf8920a7a4ee9976a0e7544)
1*5a8559e2SFrancisco Iglesias /*
2*5a8559e2SFrancisco Iglesias  * Xilinx CFI interface
3*5a8559e2SFrancisco Iglesias  *
4*5a8559e2SFrancisco Iglesias  * Copyright (C) 2023, Advanced Micro Devices, Inc.
5*5a8559e2SFrancisco Iglesias  *
6*5a8559e2SFrancisco Iglesias  * Written by Francisco Iglesias <francisco.iglesias@amd.com>
7*5a8559e2SFrancisco Iglesias  *
8*5a8559e2SFrancisco Iglesias  * SPDX-License-Identifier: GPL-2.0-or-later
9*5a8559e2SFrancisco Iglesias  */
10*5a8559e2SFrancisco Iglesias #include "qemu/osdep.h"
11*5a8559e2SFrancisco Iglesias #include "hw/misc/xlnx-cfi-if.h"
12*5a8559e2SFrancisco Iglesias 
xlnx_cfi_transfer_packet(XlnxCfiIf * cfi_if,XlnxCfiPacket * pkt)13*5a8559e2SFrancisco Iglesias void xlnx_cfi_transfer_packet(XlnxCfiIf *cfi_if, XlnxCfiPacket *pkt)
14*5a8559e2SFrancisco Iglesias {
15*5a8559e2SFrancisco Iglesias     XlnxCfiIfClass *xcic = XLNX_CFI_IF_GET_CLASS(cfi_if);
16*5a8559e2SFrancisco Iglesias 
17*5a8559e2SFrancisco Iglesias     if (xcic->cfi_transfer_packet) {
18*5a8559e2SFrancisco Iglesias         xcic->cfi_transfer_packet(cfi_if, pkt);
19*5a8559e2SFrancisco Iglesias     }
20*5a8559e2SFrancisco Iglesias }
21*5a8559e2SFrancisco Iglesias 
22*5a8559e2SFrancisco Iglesias static const TypeInfo xlnx_cfi_if_info = {
23*5a8559e2SFrancisco Iglesias     .name          = TYPE_XLNX_CFI_IF,
24*5a8559e2SFrancisco Iglesias     .parent        = TYPE_INTERFACE,
25*5a8559e2SFrancisco Iglesias     .class_size = sizeof(XlnxCfiIfClass),
26*5a8559e2SFrancisco Iglesias };
27*5a8559e2SFrancisco Iglesias 
xlnx_cfi_if_register_types(void)28*5a8559e2SFrancisco Iglesias static void xlnx_cfi_if_register_types(void)
29*5a8559e2SFrancisco Iglesias {
30*5a8559e2SFrancisco Iglesias     type_register_static(&xlnx_cfi_if_info);
31*5a8559e2SFrancisco Iglesias }
32*5a8559e2SFrancisco Iglesias 
33*5a8559e2SFrancisco Iglesias type_init(xlnx_cfi_if_register_types)
34*5a8559e2SFrancisco Iglesias 
35