iPXE
|
#include <errno.h>
#include <ipxe/ethernet.h>
#include "etherboot.h"
#include "nic.h"
#include <ipxe/isa.h>
#include "cs89x0.h"
Go to the source code of this file.
Functions | |
FILE_LICENCE (GPL2_ONLY) | |
Per an email message from Russ Nelson nelso on 18 March 2008 this file is now licensed under GPL Version 2. n@cr ynwr. comMore... | |
static int | readreg (int portno) |
static void | writereg (int portno, int value) |
static int | wait_eeprom_ready (void) |
static int | get_eeprom_data (int off, int len, unsigned short *buffer) |
static int | get_eeprom_chksum (int off __unused, int len, unsigned short *buffer) |
static void | clrline (void) |
static void | control_dc_dc (int on_not_off) |
static int | detect_tp (void) |
static int | send_test_pkt (struct nic *nic) |
static int | detect_aui (struct nic *nic) |
static int | detect_bnc (struct nic *nic) |
static void | cs89x0_reset (struct nic *nic) |
static void | cs89x0_transmit (struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p) |
static int | cs89x0_poll (struct nic *nic, int retrieve) |
static void | cs89x0_irq (struct nic *nic __unused, irq_action_t action __unused) |
static int | cs89x0_probe_addr (isa_probe_addr_t ioaddr) |
static int | cs89x0_probe (struct nic *nic, struct isa_device *isa __unused) |
static void | cs89x0_disable (struct nic *nic, struct isa_device *isa __unused) |
ISA_DRIVER (cs89x0_driver, cs89x0_probe_addrs, cs89x0_probe_addr, ISAPNP_VENDOR('C', 'S', 'C'), 0x0007) | |
DRIVER ("cs89x0", nic_driver, isa_driver, cs89x0_driver, cs89x0_probe, cs89x0_disable) | |
ISA_ROM ("cs89x0", "Crystal Semiconductor CS89x0") | |
Variables | |
static unsigned short | eth_nic_base |
static unsigned long | eth_mem_start |
static unsigned short | eth_irqno |
static unsigned short | eth_cs_type |
static unsigned short | eth_auto_neg_cnf |
static unsigned short | eth_adapter_cnf |
static unsigned short | eth_linectl |
static struct nic_operations | cs89x0_operations |
static isa_probe_addr_t | cs89x0_probe_addrs [] |
FILE_LICENCE | ( | GPL2_ONLY | ) |
Per an email message from Russ Nelson nelso on 18 March 2008 this file is now licensed under GPL Version 2. n@cr ynwr. com
From: Russ Nelson nelso Date: Tue, 18 Mar 2008 12:42:00 -0400 Subject: Re: [Etherboot-developers] cs89x0 driver in etherboot – quote from email As copyright holder, if I say it doesn't conflict with the GPL, then it doesn't conflict with the GPL. n@cr ynwr. com
However, there's no point in causing people's brains to overheat, so yes, I grant permission for the code to be relicensed under the GPLv2. Please make sure that this change in licensing makes its way upstream. -russ – quote from email
|
inlinestatic |
Definition at line 109 of file cs89x0.c.
References ADD_PORT, DATA_PORT, eth_nic_base, inw(), and outw.
Referenced by cs89x0_poll(), cs89x0_probe(), cs89x0_reset(), cs89x0_transmit(), detect_tp(), get_eeprom_data(), send_test_pkt(), and wait_eeprom_ready().
|
inlinestatic |
Definition at line 115 of file cs89x0.c.
References ADD_PORT, DATA_PORT, eth_nic_base, outw, and value.
Referenced by control_dc_dc(), cs89x0_probe(), cs89x0_reset(), detect_aui(), detect_bnc(), detect_tp(), get_eeprom_data(), and send_test_pkt().
|
static |
Definition at line 126 of file cs89x0.c.
References currticks(), PP_SelfST, readreg(), SI_BUSY, and TICKS_PER_SEC.
Referenced by get_eeprom_data().
|
static |
Definition at line 139 of file cs89x0.c.
References buffer, EEPROM_READ_CMD, len, PP_EECMD, PP_EEData, printf(), putchar(), readreg(), wait_eeprom_ready(), and writereg().
Referenced by cs89x0_probe().
|
static |
|
static |
Definition at line 185 of file cs89x0.c.
References printf(), and putchar().
Referenced by cs89x0_probe(), detect_aui(), detect_bnc(), and detect_tp().
|
static |
Definition at line 195 of file cs89x0.c.
References A_CNF_DC_DC_POLARITY, currticks(), eth_adapter_cnf, HCB1, HCB1_ENBL, PP_SelfCTL, TICKS_PER_SEC, and writereg().
Referenced by detect_aui(), detect_bnc(), and detect_tp().
|
static |
Definition at line 214 of file cs89x0.c.
References A_CNF_MEDIA_10B_T, AUI_ONLY, AUTO_NEG_BITS, AUTO_NEG_BUSY, AUTO_NEG_ENABLE, AUTO_NEG_MASK, clrline(), control_dc_dc(), CS8900, currticks(), eth_auto_neg_cnf, eth_cs_type, eth_linectl, FDX_ACTIVE, LINK_OK, PP_AutoNegCTL, PP_AutoNegST, PP_LineCTL, PP_LineST, printf(), readreg(), TICKS_PER_SEC, and writereg().
Referenced by cs89x0_probe().
|
static |
Definition at line 261 of file cs89x0.c.
References currticks(), ETH_ALEN, eth_nic_base, ETH_ZLEN, memcpy(), nic::node_addr, outsw(), outw, PP_BusST, PP_LineCTL, PP_TxEvent, printf(), readreg(), READY_FOR_TX_NOW, SERIAL_TX_ON, TX_AFTER_ALL, TX_CMD_PORT, TX_FRAME_PORT, TX_LEN_PORT, TX_OK, TX_SEND_OK_BITS, and writereg().
Referenced by detect_aui(), and detect_bnc().
|
static |
Definition at line 300 of file cs89x0.c.
References A_CNF_MEDIA_AUI, AUI_ONLY, AUTO_AUI_10BASET, clrline(), control_dc_dc(), eth_linectl, PP_LineCTL, printf(), send_test_pkt(), and writereg().
Referenced by cs89x0_probe().
|
static |
Definition at line 313 of file cs89x0.c.
References A_CNF_MEDIA_10B_2, AUI_ONLY, AUTO_AUI_10BASET, clrline(), control_dc_dc(), eth_linectl, PP_LineCTL, printf(), send_test_pkt(), and writereg().
Referenced by cs89x0_probe().
|
static |
Definition at line 330 of file cs89x0.c.
References ADD_PORT, CS8900, currticks(), DATA_PORT, DEF_RX_ACCEPT, ETH_ALEN, eth_cs_type, eth_irqno, eth_mem_start, eth_nic_base, INIT_DONE, nic::node_addr, outb, outw, POWER_ON_RESET, PP_BufCFG, PP_BusCTL, PP_ChipID, PP_CS8920_ISAINT, PP_CS8920_ISAMemB, PP_IA, PP_RxCFG, PP_RxCTL, PP_SelfCTL, PP_SelfST, PP_TxCFG, readreg(), and writereg().
Referenced by cs89x0_disable(), cs89x0_probe(), and cs89x0_transmit().
|
static |
Definition at line 389 of file cs89x0.c.
References cs89x0_reset(), currticks(), ETH_ALEN, ETH_HLEN, eth_nic_base, ETH_ZLEN, nic::node_addr, outsw(), outw, PP_BusST, PP_TxEvent, printf(), readreg(), READY_FOR_TX_NOW, TICKS_PER_SEC, TX_AFTER_ALL, TX_CMD_PORT, TX_FRAME_PORT, TX_LEN_PORT, TX_OK, and TX_SEND_OK_BITS.
|
static |
Definition at line 441 of file cs89x0.c.
References eth_nic_base, insw(), inw(), nic::packet, nic::packetlen, PP_RxEvent, readreg(), RX_FRAME_PORT, RX_OK, and status.
|
static |
|
static |
|
static |
Definition at line 500 of file cs89x0.c.
References A_CNF_10B_2, A_CNF_10B_T, A_CNF_AUI, A_CNF_EXTND_10B_2, A_CNF_LOW_RX_SQUELCH, A_CNF_MEDIA_10B_2, A_CNF_MEDIA_10B_T, A_CNF_MEDIA_AUI, A_CNF_MEDIA_AUTO, A_CNF_MEDIA_TYPE, ADAPTER_CNF_OFFSET, ADD_PORT, AUTO_AUI_10BASET, AUTO_NEG_CNF_OFFSET, CHKSUM_LEN, clrline(), CS8900, CS8920_NO_INTS, CS8920M, cs89x0_operations, cs89x0_reset(), DBG, detect_aui(), detect_bnc(), detect_tp(), EE_AUTO_NEG_ENABLE, EEPROM_PRESENT, error, eth_adapter_cnf, ETH_ALEN, eth_auto_neg_cnf, eth_cs_type, eth_irqno, eth_linectl, eth_mem_start, eth_nic_base, eth_ntoa(), get_eeprom_chksum(), get_eeprom_data(), IMM_BIT, INT_NO_MASK, nic::ioaddr, nic::irqno, ISA_CNF_OFFSET, LOW_RX_SQUELCH, memcpy(), nic::nic_op, nic::node_addr, outw, PACKET_PAGE_OFFSET, PP_ChipID, PP_CS8920_ISAINT, PP_LineCTL, PP_SelfST, printf(), PRODUCT_ID_ADD, readreg(), result, REVISON_BITS, SERIAL_RX_ON, SERIAL_TX_ON, START_EEPROM_DATA, and writereg().
|
static |
ISA_DRIVER | ( | cs89x0_driver | , |
cs89x0_probe_addrs | , | ||
cs89x0_probe_addr | , | ||
ISAPNP_VENDOR( 'C', 'S', 'C') | , | ||
0x0007 | |||
) |
DRIVER | ( | "cs89x0" | , |
nic_driver | , | ||
isa_driver | , | ||
cs89x0_driver | , | ||
cs89x0_probe | , | ||
cs89x0_disable | |||
) |
ISA_ROM | ( | "cs89x0" | , |
"Crystal Semiconductor CS89x0" | |||
) |
|
static |
Definition at line 97 of file cs89x0.c.
Referenced by cs89x0_poll(), cs89x0_probe(), cs89x0_reset(), cs89x0_transmit(), readreg(), send_test_pkt(), and writereg().
|
static |
Definition at line 98 of file cs89x0.c.
Referenced by cs89x0_probe(), and cs89x0_reset().
|
static |
Definition at line 99 of file cs89x0.c.
Referenced by cs89x0_probe(), and cs89x0_reset().
|
static |
Definition at line 100 of file cs89x0.c.
Referenced by cs89x0_probe(), cs89x0_reset(), and detect_tp().
|
static |
Definition at line 101 of file cs89x0.c.
Referenced by cs89x0_probe(), and detect_tp().
|
static |
Definition at line 102 of file cs89x0.c.
Referenced by control_dc_dc(), and cs89x0_probe().
|
static |
Definition at line 103 of file cs89x0.c.
Referenced by cs89x0_probe(), detect_aui(), detect_bnc(), and detect_tp().
|
static |
Definition at line 472 of file cs89x0.c.
Referenced by cs89x0_probe().
|
static |