Files
system76-coreboot/src/include/console/ne2k.h
Arthur Heymans 91e6117c09 drivers/net/ne2k: Make it work for bootblock
This code was written in a romcc bootblock time. There is no reason why
it would not work in bootblock now.

Untested but expected to work.

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: I708e8a3b503eb3a7fdf6063803d666529096f651
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78934
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
2023-11-07 17:22:33 +00:00

32 lines
776 B
C

/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef _NE2K_H__
#define _NE2K_H__
#include <stdint.h>
void ne2k_append_data(unsigned char *d, int len, unsigned int base);
int ne2k_init(unsigned int eth_nic_base);
void ne2k_transmit(unsigned int eth_nic_base);
#if CONFIG(CONSOLE_NE2K) && (ENV_ROMSTAGE_OR_BEFORE || ENV_RAMSTAGE)
static inline void __ne2k_init(void)
{
ne2k_init(CONFIG_CONSOLE_NE2K_IO_PORT);
}
static inline void __ne2k_tx_byte(u8 data)
{
ne2k_append_data(&data, 1, CONFIG_CONSOLE_NE2K_IO_PORT);
}
static inline void __ne2k_tx_flush(void)
{
ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
}
#else
static inline void __ne2k_init(void) {}
static inline void __ne2k_tx_byte(u8 data) {}
static inline void __ne2k_tx_flush(void) {}
#endif
#endif /* _NE2K_H__ */