X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EmbeddedPkg%2FDrivers%2FLan9118Dxe%2FLan9118DxeUtil.h;fp=EmbeddedPkg%2FDrivers%2FLan9118Dxe%2FLan9118DxeUtil.h;h=0000000000000000000000000000000000000000;hp=24e74077e5599790d68cfac1bdad732c05bfd25c;hb=f2bd980059d9f826bb366ddeb35e3365c65b477d;hpb=43bad5b5ba2c2723b23a0af256e7c88d8a62f0c0 diff --git a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h b/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h deleted file mode 100644 index 24e74077e5..0000000000 --- a/EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h +++ /dev/null @@ -1,276 +0,0 @@ -/** @file -* -* Copyright (c) 2012-2014, ARM Limited. All rights reserved. -* -* SPDX-License-Identifier: BSD-2-Clause-Patent -* -**/ - -#ifndef __LAN9118_DXE_UTIL_H__ -#define __LAN9118_DXE_UTIL_H__ - -// Most common CRC32 Polynomial for little endian machines -#define CRC_POLYNOMIAL 0xEDB88320 - -/** - This internal function reverses bits for 32bit data. - - @param Value The data to be reversed. - - @return Data reversed. - -**/ -UINT32 -ReverseBits ( - UINT32 Value - ); - -// Create an Ethernet CRC -UINT32 -GenEtherCrc32 ( - IN EFI_MAC_ADDRESS *Mac, - IN UINT32 AddrLen - ); - -UINT32 -Lan9118RawMmioRead32( - UINTN Address, - UINTN Delay - ); -#define Lan9118MmioRead32(a) \ - Lan9118RawMmioRead32(a, a ## _RD_DELAY) - -UINT32 -Lan9118RawMmioWrite32( - UINTN Address, - UINT32 Value, - UINTN Delay - ); -#define Lan9118MmioWrite32(a, v) \ - Lan9118RawMmioWrite32(a, v, a ## _WR_DELAY) - -/* ------------------ MAC CSR Access ------------------- */ - -// Read from MAC indirect registers -UINT32 -IndirectMACRead32 ( - UINT32 Index - ); - - -// Write to indirect registers -UINT32 -IndirectMACWrite32 ( - UINT32 Index, - UINT32 Value - ); - - -/* --------------- PHY Registers Access ---------------- */ - -// Read from MII register (PHY Access) -UINT32 -IndirectPHYRead32( - UINT32 Index - ); - - -// Write to the MII register (PHY Access) -UINT32 -IndirectPHYWrite32( - UINT32 Index, - UINT32 Value - ); - -/* ---------------- EEPROM Operations ------------------ */ - -// Read from EEPROM memory -UINT32 -IndirectEEPROMRead32 ( - UINT32 Index - ); - -// Write to EEPROM memory -UINT32 -IndirectEEPROMWrite32 ( - UINT32 Index, - UINT32 Value - ); - -/* ---------------- General Operations ----------------- */ - -VOID -Lan9118SetMacAddress ( - EFI_MAC_ADDRESS *Mac, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Initialise the LAN9118 -EFI_STATUS -Lan9118Initialize ( - IN EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Flags for software reset -#define SOFT_RESET_CHECK_MAC_ADDR_LOAD BIT0 -#define SOFT_RESET_CLEAR_INT BIT1 -#define SOFT_RESET_SELF_TEST BIT2 - -// Perform software reset on the LAN9118 -EFI_STATUS -SoftReset ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Flags for PHY reset -#define PHY_RESET_PMT BIT0 -#define PHY_RESET_BCR BIT1 -#define PHY_SOFT_RESET_CLEAR_INT BIT2 - -// Perform PHY software reset -EFI_STATUS -PhySoftReset ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Flags for Hardware configuration -#define HW_CONF_USE_LEDS BIT0 - -// Configure hardware for LAN9118 -EFI_STATUS -ConfigureHardware ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Configure flow control -EFI_STATUS -ConfigureFlow ( - UINT32 Flags, - UINT32 HighTrig, - UINT32 LowTrig, - UINT32 BPDuration, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Flags for auto negotiation -#define AUTO_NEGOTIATE_COLLISION_TEST BIT0 -#define AUTO_NEGOTIATE_ADVERTISE_ALL BIT1 - -// Do auto-negotiation -EFI_STATUS -AutoNegotiate ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Check the Link Status and take appropriate action -EFI_STATUS -CheckLinkStatus ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Stop transmitter flags -#define STOP_TX_MAC BIT0 -#define STOP_TX_CFG BIT1 -#define STOP_TX_CLEAR BIT2 - -// Stop the transmitter -EFI_STATUS -StopTx ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Stop receiver flags -#define STOP_RX_CLEAR BIT0 - -// Stop the receiver -EFI_STATUS -StopRx ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Start transmitter flags -#define START_TX_MAC BIT0 -#define START_TX_CFG BIT1 -#define START_TX_CLEAR BIT2 - -// Start the transmitter -EFI_STATUS -StartTx ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Stop receiver flags -#define START_RX_CLEAR BIT0 - -// Start the receiver -EFI_STATUS -StartRx ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Check Tx Data available space -UINT32 -TxDataFreeSpace ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Check Tx Status used space -UINT32 -TxStatusUsedSpace ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Check Rx Data used space -UINT32 -RxDataUsedSpace ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -// Check Rx Status used space -UINT32 -RxStatusUsedSpace ( - UINT32 Flags, - EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - - -// Flags for FIFO allocation -#define ALLOC_USE_DEFAULT BIT0 -#define ALLOC_USE_FIFOS BIT1 -#define ALLOC_USE_DMA BIT2 - -// FIFO min and max sizes -#define TX_FIFO_MIN_SIZE 0x00000600 -#define TX_FIFO_MAX_SIZE 0x00003600 -//#define RX_FIFO_MIN_SIZE -//#define RX_FIFO_MAX_SIZE - -// Change the allocation of FIFOs -EFI_STATUS -ChangeFifoAllocation ( - IN UINT32 Flags, - IN OUT UINTN *TxDataSize OPTIONAL, - IN OUT UINTN *RxDataSize OPTIONAL, - IN OUT UINT32 *TxStatusSize OPTIONAL, - IN OUT UINT32 *RxStatusSize OPTIONAL, - IN OUT EFI_SIMPLE_NETWORK_PROTOCOL *Snp - ); - -VOID -Lan9118ReadMacAddress ( - OUT EFI_MAC_ADDRESS *Mac - ); - -#endif // __LAN9118_DXE_UTIL_H__