Lines Matching +full:srom +full:- +full:page +full:- +full:mode
7 * SPDX-License-Identifier: GPL-2.0+
9 (C)Copyright 1997-1998 DAVICOM Semiconductor,Inc. All Rights Reserved.
16 E5: R25 = ((R24 + NF - 3) & 0x00ff) | 0xc200
22 v1.1 11/09/2001 fix force mode bug
26 Added tx/rx 32 bit mode.
29 --------------------------------------
31 12/15/2003 Initial port to u-boot by
35 - Fixed the driver to work with DM9000A.
39 - Added autodetect of databus width.
40 - Made debug code compile again.
41 - Adapt eth_send such that it matches the DM9000*
44 - Adapted reset procedure to match DM9000 application
46 - some minor code cleanups
61 /* Board/System/Debug information/definition ---------------- */
82 /* Structure/enum declaration ------------------------------- */
94 unsigned char srom[128]; member
103 /* function declaration ------------------------------------- */
110 /* DM9000 network board routine ---------------------------- */
241 return -1; in dm9000_probe()
252 see DM9000 Application Notes V1.22 Jun 11, 2004 page 29 */ in dm9000_reset()
277 printf("ERROR: resetting DM9000 -> not responding\n"); in dm9000_reset()
294 return -1; in dm9000_init()
296 /* Auto-detect 8/16/32 bit mode, ISR Bit 6+7 indicate bus width */ in dm9000_init()
300 case 0x0: /* 16-bit mode */ in dm9000_init()
301 printf("DM9000: running in 16 bit mode\n"); in dm9000_init()
302 db->outblk = dm9000_outblk_16bit; in dm9000_init()
303 db->inblk = dm9000_inblk_16bit; in dm9000_init()
304 db->rx_status = dm9000_rx_status_16bit; in dm9000_init()
306 case 0x01: /* 32-bit mode */ in dm9000_init()
307 printf("DM9000: running in 32 bit mode\n"); in dm9000_init()
308 db->outblk = dm9000_outblk_32bit; in dm9000_init()
309 db->inblk = dm9000_inblk_32bit; in dm9000_init()
310 db->rx_status = dm9000_rx_status_32bit; in dm9000_init()
312 case 0x02: /* 8 bit mode */ in dm9000_init()
313 printf("DM9000: running in 8 bit mode\n"); in dm9000_init()
314 db->outblk = dm9000_outblk_8bit; in dm9000_init()
315 db->inblk = dm9000_inblk_8bit; in dm9000_init()
316 db->rx_status = dm9000_rx_status_8bit; in dm9000_init()
319 /* Assume 8 bit mode, will probably not work anyway */ in dm9000_init()
320 printf("DM9000: Undefined IO-mode:0x%x\n", io_mode); in dm9000_init()
321 db->outblk = dm9000_outblk_8bit; in dm9000_init()
322 db->inblk = dm9000_inblk_8bit; in dm9000_init()
323 db->rx_status = dm9000_rx_status_8bit; in dm9000_init()
337 /* Special Mode */ in dm9000_init()
344 printf("MAC: %pM\n", dev->enetaddr); in dm9000_init()
345 if (!is_valid_ethaddr(dev->enetaddr)) { in dm9000_init()
351 DM9000_iow(oft, dev->enetaddr[i]); in dm9000_init()
396 printf("mode\n"); in dm9000_init()
414 DM9000_outb(DM9000_MWCMD, DM9000_IO); /* Prepare for TX-data */ in dm9000_send()
416 /* push the data to the TX-fifo */ in dm9000_send()
417 (db->outblk)(packet, length); in dm9000_send()
451 DM9000_iow(DM9000_GPR, 0x01); /* Power-Down PHY */ in dm9000_halt()
468 if (!(DM9000_ior(DM9000_ISR) & 0x01)) /* Rx-ISR bit must be set. */ in dm9000_rx()
496 (db->rx_status)(&RxStatus, &RxLen); in dm9000_rx()
502 (db->inblk)(rdptr, RxLen); in dm9000_rx()
530 Read a word data from SROM
559 dm9000_read_srom_word(i, dev->enetaddr + (2 * i)); in dm9000_get_enetaddr()
629 dev->init = dm9000_init; in dm9000_initialize()
630 dev->halt = dm9000_halt; in dm9000_initialize()
631 dev->send = dm9000_send; in dm9000_initialize()
632 dev->recv = dm9000_rx; in dm9000_initialize()
633 strcpy(dev->name, "dm9000"); in dm9000_initialize()