1/*
2 * Copyright 2017, Data61
3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 * ABN 41 687 119 230.
5 *
6 * This software may be distributed and modified according to the terms of
7 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
8 * See "LICENSE_GPLv2.txt" for details.
9 *
10 * @TAG(DATA61_GPL)
11 */
12
13#pragma once
14
15#include <platsupport/io.h>
16#include <ethdrivers/raw.h>
17
18typedef struct ethif_virtio_pci_config {
19    uint16_t io_base;
20    void *mmio_base;
21} ethif_virtio_pci_config_t;
22
23/**
24 * This function initialises the hardware and conforms to the ethif_driver_init
25 * type in raw.h
26 * @param[out] eth_driver   Ethernet driver structure to fill out
27 * @param[in] io_ops        A structure containing os specific data and
28 *                          functions.
29 * @param[in] config        Pointer to a ethif_virtio_pci_config struct
30 */
31int ethif_virtio_pci_init(struct eth_driver *eth_driver, ps_io_ops_t io_ops, void *config);
32
33