Lines Matching +full:short +full:- +full:descriptor

2    natsemi.c: A U-Boot driver for the NatSemi DP8381x series.
21 Written/copyright 1999-2001 by Donald Becker.
48 * Initial U-Boot Release. Tested with Netgear FA311 board
61 #define EEPROM_SIZE 0xb /*12 16-bit chunks, or 24 bytes*/
69 #define NUM_RX_DESC 4 /* Number of Rx descriptor registers. */
72 Unlike software-only systems, device drivers interact with complex hardware.
229 short value);
249 #define bus_to_phys(a) pci_mem_to_phys((pci_dev_t)dev->priv, a)
250 #define phys_to_bus(a) pci_phys_to_mem((pci_dev_t)dev->priv, a)
255 return le16_to_cpu(*(vu_short *) (addr + dev->iobase)); in INW()
261 return le32_to_cpu(*(vu_long *) (addr + dev->iobase)); in INL()
267 *(vu_short *) ((addr + dev->iobase)) = cpu_to_le16(command); in OUTW()
273 *(vu_long *) ((addr + dev->iobase)) = cpu_to_le32(command); in OUTL()
329 sprintf(dev->name, "dp83815#%d", card_number); in natsemi_initialize()
330 dev->iobase = bus_to_phys(iobase); in natsemi_initialize()
332 printf("natsemi: NatSemi ns8381[56] @ %#x\n", dev->iobase); in natsemi_initialize()
334 dev->priv = (void *) devno; in natsemi_initialize()
335 dev->init = natsemi_init; in natsemi_initialize()
336 dev->halt = natsemi_disable; in natsemi_initialize()
337 dev->send = natsemi_send; in natsemi_initialize()
338 dev->recv = natsemi_poll; in natsemi_initialize()
349 /* natsemi has a non-standard PM control register in natsemi_initialize()
361 short eedata = read_eeprom(dev, EECtrl, i); in natsemi_initialize()
370 dev->enetaddr[i*2] = (eedata << 1) + (prev_eedata >> 15); in natsemi_initialize()
371 dev->enetaddr[i*2+1] = eedata >> 7; in natsemi_initialize()
382 dev->name, (int) INL(dev, BasicStatus), advertising); in natsemi_initialize()
384 dev->name, chip_config & AnegMask ? "enabled, advertise" : in natsemi_initialize()
391 dev->name, chip_config & AnegMask ? "enabled, advertise" : in natsemi_initialize()
397 /*un-reset phy*/ in natsemi_initialize()
429 /* The EEPROM commands include the alway-set leading bit. */
437 write_eeprom(struct eth_device *dev, long addr, int location, short value)
441 short wren_cmd = EE_WrEnCmd | 0x30; /*wren is 100 + 11XXXX*/
442 short write_cmd = location | EE_WriteCmd;
446 dev->iobase + ee_addr, write_cmd, value);
449 for (i = 9; i >= 0; i--) {
450 short cmdval = (wren_cmd & (1 << i)) ? EE_Write1 : EE_Write0;
462 for (i = 9; i >= 0; i--) {
463 short cmdval = (write_cmd & (1 << i)) ? EE_Write1 : EE_Write0;
471 short cmdval = (value & (1 << i)) ? EE_Write1 : EE_Write0;
506 for (i = 10; i >= 0; i--) { in read_eeprom()
507 short dataval = (read_cmd & (1 << i)) ? EE_Write1 : EE_Write0; in read_eeprom()
530 dev->iobase + ee_addr, read_cmd, retval); in read_eeprom()
581 printf("%s: Setting TxConfig Register %#08X\n", dev->name, tx_config); in natsemi_init()
582 printf("%s: Setting RxConfig Register %#08X\n", dev->name, rx_config); in natsemi_init()
640 OUTW(dev, dev->enetaddr[i] + (dev->enetaddr[i + 1] << 8), in natsemi_init_rxfilter()
648 * Description: initializes the Tx descriptor
662 /* load Transmit Descriptor Register */ in natsemi_init_txd()
665 printf("natsemi_init_txd: TX descriptor reg loaded with: %#08X\n", in natsemi_init_txd()
672 * Description: initializes the Rx descriptor ring
686 /* init RX descriptor */ in natsemi_init_rxd()
703 /* load Receive Descriptor Register */ in natsemi_init_rxd()
707 printf("natsemi_init_rxd: RX descriptor register loaded with: %X\n", in natsemi_init_rxd()
737 printf("%s: Setting %s-duplex based on negotiated link" in natsemi_check_duplex()
738 " capability.\n", dev->name, duplex ? "full" : "half"); in natsemi_check_duplex()
771 /* set the transmit buffer descriptor and enable Transmit State Machine */ in natsemi_send()
776 /* load Transmit Descriptor Register */ in natsemi_send()
780 printf("natsemi_send: TX descriptor register loaded with: %#08X\n", in natsemi_send()
792 dev->name, tx_status); in natsemi_send()
818 * Returns (copies) the packet to the array dev->packet.
836 length = (rx_status & DSIZE) - CRC_SIZE; in natsemi_poll()
849 /* return the descriptor and buffer to receive ring */ in natsemi_poll()
856 /* re-enable the potentially idle receive state machine */ in natsemi_poll()