This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IP-Config: Device `eth0' not found.VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs" or unknown-block(2,0)

Other Parts Discussed in Thread: ADS7846

bootm 0x82000000

## Booting kernel from Legacy Image at 82000000 ...

  Image Name:   Linux-2.6.37

  Image Type:   ARM Linux Kernel Image (uncompressed)

  Data Size:    3236568 Bytes = 3.1 MiB

  Load Address: 80008000

  Entry Point:  80008000

  Verifying Checksum ... OK

  Loading Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

[    0.000000] Linux version 2.6.37 (ss@ubuntu10) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Wed Oct 24 14:38:18 CST 2012

[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f

[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

[    0.000000] Machine: OMAP3 EVM

[    0.000000] Reserving 4194304 bytes SDRAM for VRAM

[    0.000000] Memory policy: ECC disabled, Data cache writeback

[    0.000000] OMAP3630 ES1.2 (l2cache iva sgx neon isp 192mhz_clk )

[    0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64000

[    0.000000] Kernel command line: console=ttyO0,115200n8 mem=256M root=/dev/nfs noinitrd rw nwhwconf=device:eth0,hwaddr:02:00:05:38:00:02 nfsroot=10.2.7.96:/home/ss/targetfs,tcp,nolock ip=10.2.7.97:10.2.7.96:10.2.7.1:255.255.255.0::eth0:off

[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)

[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)

[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)

[    0.000000] Memory: 252MB = 252MB total

[    0.000000] Memory: 243196k/243196k available, 18948k reserved, 0K highmem

[    0.000000] Virtual kernel memory layout:

[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)

[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

[    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)

[    0.000000]     vmalloc : 0xd0800000 - 0xf8000000   ( 632 MB)

[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)

[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)

[    0.000000]       .init : 0xc0008000 - 0xc003c000   ( 208 kB)

[    0.000000]       .text : 0xc003c000 - 0xc05fc9a4   (5891 kB)

[    0.000000]       .data : 0xc05fe000 - 0xc07c0520   (1802 kB)

[    0.000000] NR_IRQS:409

[    0.000000] Clocking rate (Crystal/Core/MPU): 26.0/400/1000 MHz

[    0.000000] omap_hwmod: i2c1: softreset failed (waited 10000 usec)

[    0.000000] omap_hwmod: i2c2: softreset failed (waited 10000 usec)

[    0.000000] omap_hwmod: i2c3: softreset failed (waited 10000 usec)

[    0.000000] Reprogramming SDRC clock to 400000000 Hz

[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts

[    0.000000] Total of 96 interrupts on 1 active controller

[    0.000000] GPMC revision 5.0

[    0.000000] Trying to install interrupt handler for IRQ402

[    0.000000] Trying to install interrupt handler for IRQ403

[    0.000000] Trying to install interrupt handler for IRQ404

[    0.000000] Trying to install interrupt handler for IRQ405

[    0.000000] Trying to install interrupt handler for IRQ406

[    0.000000] Trying to install interrupt handler for IRQ407

[    0.000000] Trying to install interrupt handler for IRQ408

[    0.000000] Trying to install type control for IRQ409

[    0.000000] Trying to set irq flags for IRQ409

[    0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz

[    0.000000] Console: colour dummy device 80x30

[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar

[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8

[    0.000000] ... MAX_LOCK_DEPTH:          48

[    0.000000] ... MAX_LOCKDEP_KEYS:        8191

[    0.000000] ... CLASSHASH_SIZE:          4096

[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384

[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768

[    0.000000] ... CHAINHASH_SIZE:          16384

[    0.000000]  memory used by lock dependency info: 3935 kB

[    0.000000]  per task-struct memory footprint: 2304 bytes

[    0.000000] Calibrating delay loop... 998.84 BogoMIPS (lpj=3899392)

[    0.000000] pid_max: default: 32768 minimum: 301

[    0.000000] Security Framework initialized

[    0.000000] Mount-cache hash table entries: 512

[    0.000000] CPU: Testing write buffer coherency: ok

[    0.000000] regulator: core version 0.5

[    0.000000] regulator: dummy:

[    0.000000] NET: Registered protocol family 16

[    0.000000] OMAP GPIO hardware version 2.5

[    0.000000] OMAP GPIO hardware version 2.5

[    0.000000] OMAP GPIO hardware version 2.5

[    0.000000] OMAP GPIO hardware version 2.5

[    0.000000] OMAP GPIO hardware version 2.5

[    0.000000] OMAP GPIO hardware version 2.5

[    0.000000] omap_mux_init: Add partition: #1: core, flags: 0

[    0.000000] hw-breakpoint: debug architecture 0x4 unsupported.

[    0.000000] OMAP DMA hardware revision 5.0

[    0.063385] bio: create slab <bio-0> at 0

[    0.066009] regulator: vwl1271: 1800 mV

[    0.069000] SCSI subsystem initialized

[    0.075286] usbcore: registered new interface driver usbfs

[    0.076019] usbcore: registered new interface driver hub

[    0.076629] usbcore: registered new device driver usb

[    0.088745] omap_i2c omap_i2c.1: bus 1 rev4.0 at 2600 kHz

[    0.094299] twl4030: PIH (irq 7) chaining IRQs 368..375

[    0.094421] twl4030: power (irq 373) chaining IRQs 376..383

[    0.095642] twl4030: gpio (irq 368) chaining IRQs 384..401

[    0.104797] regulator: VIO: 1800 mV normal standby

[    0.106201] regulator: VMMC1: 1850 <--> 3150 mV at 3000 mV normal standby

[    0.107574] regulator: VDAC: 1800 mV normal standby

[    0.108947] regulator: VAUX2_4030: 2800 mV normal standby

[    0.110321] regulator: VPLL2: 1800 mV normal standby

[    0.111694] regulator: VSIM: 1800 <--> 3000 mV at 1800 mV normal standby

[    0.113159] regulator: VAUX3: 2800 mV normal standby

[    0.113922] omap_device: omap_i2c.2: new worst case activate latency 0: 30517

[    0.114013] omap_i2c omap_i2c.2: bus 2 rev4.0 at 400 kHz

[    0.127746] omap_i2c omap_i2c.3: bus 3 rev4.0 at 400 kHz

[    0.131164] Advanced Linux Sound Architecture Driver Version 1.0.23.

[    0.132812] Bluetooth: Core ver 2.15

[    0.133270] NET: Registered protocol family 31

[    0.133270] Bluetooth: HCI device and connection manager initialized

[    0.133361] Bluetooth: HCI socket layer initialized

[    0.134368] Switching to clocksource 32k_counter

[    0.201934] musb-hdrc: version 6.0, otg (peripheral+host), debug=0

[    0.202178] musb-hdrc musb-hdrc.0: dma type: dma-inventra

[    0.202667] musb-hdrc musb-hdrc.0: USB OTG mode controller at fa0ab000 using DMA, IRQ 92

[    0.203643] NET: Registered protocol family 2

[    0.204010] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)

[    0.204742] TCP established hash table entries: 8192 (order: 4, 65536 bytes)

[    0.205108] TCP bind hash table entries: 8192 (order: 6, 360448 bytes)

[    0.206390] TCP: Hash tables configured (established 8192 bind 8192)

[    0.206420] TCP reno registered

[    0.206420] UDP hash table entries: 128 (order: 1, 12288 bytes)

[    0.206542] UDP-Lite hash table entries: 128 (order: 1, 12288 bytes)

[    0.207031] NET: Registered protocol family 1

[    0.207763] RPC: Registered udp transport module.

[    0.207794] RPC: Registered tcp transport module.

[    0.207794] RPC: Registered tcp NFSv4.1 backchannel transport module.

[    0.208282] NetWinder Floating Point Emulator V0.97 (double precision)

[    0.212188] omap3evm camera init done successfully...

[    0.212707] omap-iommu omap-iommu.0: isp registered

[    0.213195] AM37x/DM37x  Linux PSP version 04.02.00.07 (OMAP3EVM)

[    0.315673] VFS: Disk quotas dquot_6.5.2

[    0.315734] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

[    0.317016] JFFS2 version 2.2. (NAND) (SUMMARY)  Â© 2001-2006 Red Hat, Inc.

[    0.317565] msgmni has been set to 474

[    0.320556] io scheduler noop registered

[    0.320556] io scheduler deadline registered

[    0.320678] io scheduler cfq registered (default)

[    0.384765] OMAP DSS rev 2.0

[    0.384948] OMAP DISPC rev 3.0

[    0.385009] OMAP VENC rev 2

[    0.385620] OMAP DSI rev 1.0

[    0.715148] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled

[    0.719238] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0

[    1.450347] console [ttyO0] enabled

[    1.454803] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1

[    1.462982] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2

[    1.471099] omap_uart.3: ttyO3 at MMIO 0x49042000 (irq = 80) is a OMAP UART3

[    1.502593] brd: module loaded

[    1.517303] loop: module loaded

[    1.525543] mtdoops: mtd device (mtddev=name/number) must be supplied

[    1.532318] omap2-nand driver initializing

[    1.537109] NAND device: Manufacturer ID: 0xad, Chip ID: 0xbc (Hynix )

[    1.544006] Creating 5 MTD partitions on "omap2-nand.0":

[    1.549591] 0x000000000000-0x000000080000 : "X-Loader-NAND"

[    1.559570] 0x000000080000-0x0000001c0000 : "U-Boot-NAND"

[    1.569061] 0x0000001c0000-0x000000280000 : "Boot Env-NAND"

[    1.578430] 0x000000280000-0x000000780000 : "Kernel-NAND"

[    1.589508] 0x000000780000-0x000020000000 : "File System - NAND"

[    1.831451] OneNAND driver initializing

[    1.835632] omap2-onenand omap2-onenand: Cannot request GPMC CS

[    1.841979] omap2-onenand: probe of omap2-onenand failed with error -16

[    1.851257] smsc911x: Driver version 2008-10-21.

[    1.859588] smsc911x-mdio: probed

[    1.863403] eth0: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=ffffffff:01, irq=-1)

[    1.872558] net eth0: MAC Address: d6:67:69:6c:82:c3

[    1.878723] usbcore: registered new interface driver asix

[    1.884796] usbcore: registered new interface driver cdc_ether

[    1.891265] usbcore: registered new interface driver net1080

[    1.897583] usbcore: registered new interface driver cdc_subset

[    1.904174] usbcore: registered new interface driver zaurus

[    1.910064] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

[    2.923583] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller

[    2.929962] ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1

[    2.938018] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800

[    2.954895] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00

[    2.961242] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002

[    2.968383] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    2.975952] usb usb1: Product: OMAP-EHCI Host Controller

[    2.981536] usb usb1: Manufacturer: Linux 2.6.37 ehci_hcd

[    2.987213] usb usb1: SerialNumber: ehci-omap.0

[    2.994110] hub 1-0:1.0: USB hub found

[    2.998077] hub 1-0:1.0: 3 ports detected

[    3.033538] Initializing USB Mass Storage driver...

[    3.039123] usbcore: registered new interface driver usb-storage

[    3.045440] USB Mass Storage support registered.

[    3.050781] usbcore: registered new interface driver usbtest

[    3.056823] g_ether gadget: using random self ethernet address

[    3.062927] g_ether gadget: using random host ethernet address

[    3.070098] usb0: MAC fa:33:b1:a6:a4:a9

[    3.074157] usb0: HOST MAC 3a:90:03:36:c4:12

[    3.078674] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008

[    3.085632] g_ether gadget: g_ether ready

[    3.089874] musb-hdrc musb-hdrc.0: MUSB HDRC host driver

[    3.095550] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2

[    3.103881] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002

[    3.110961] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    3.118560] usb usb2: Product: MUSB HDRC host driver

[    3.123779] usb usb2: Manufacturer: Linux 2.6.37 musb-hcd

[    3.129455] usb usb2: SerialNumber: musb-hdrc.0

[    3.135986] hub 2-0:1.0: USB hub found

[    3.139923] hub 2-0:1.0: 1 port detected

[    3.146759] mice: PS/2 mouse device common for all mice

[    3.154296] input: TWL4030 Keypad as /devices/platform/omap/omap_i2c.1/i2c-1/1-004a/twl4030_keypad/input/input0

[    3.169219] omap_device: omap_i2c.1: new worst case deactivate latency 0: 30517

[    3.178131] ads7846 spi1.0: touchscreen, irq 335

[    3.184326] input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input1

[    3.197082] omap_device: omap_i2c.1: new worst case deactivate latency 0: 61035

[    3.204895] input: twl4030_pwrbutton as /devices/platform/omap/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input2

[    3.218627] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0

[    3.227905] i2c /dev entries driver

[    3.234527] Linux media interface: v0.10

[    3.239074] Linux video capture interface: v2.00

[    3.245483] omap3isp supply VDD_CSIPHY1 not found, using dummy regulator

[    3.252563] omap3isp supply VDD_CSIPHY2 not found, using dummy regulator

[    3.259857] omap3isp omap3isp: Revision 15.0 found

[    3.265014] omap-iommu omap-iommu.0: isp: version 1.1

[    3.334747] mt9t111 2-003c: Unable to detectmt9t111sensor

[    3.340576] usb 1-2: new high speed USB device using ehci-omap and address 2

[    3.351531] isp_register_subdev_group: Unable to register subdev mt9t111

[    3.359649] tvp514x 3-005c: tvp514x 3-005c decoder driver registered !!

[    3.367675] tvp514x 3-005c: Write: retry ... 0

[    3.392822] tvp514x 3-005c: Write: retry ... 1

[    3.416137] tvp514x 3-005c: Write: retry ... 2

[    3.439666] tvp514x 3-005c: Write: retry ... 3

[    3.462921] tvp514x 3-005c: Write: retry ... 4

[    3.486419] tvp514x 3-005c: Write: retry ... 5

[    3.502319] usb 1-2: New USB device found, idVendor=0409, idProduct=005a

[    3.509307] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    3.517730] tvp514x 3-005c: Write failed. Err[-121]

[    3.522827] tvp514x 3-005c: Unable to turn on decoder

[    3.528656] tvp514x 3-005c: Read: retry ... 0

[    3.533996] hub 1-2:1.0: USB hub found

[    3.538055] hub 1-2:1.0: 4 ports detected

[    3.556915] tvp514x 3-005c: Read: retry ... 1

[    3.580322] tvp514x 3-005c: Read: retry ... 2

[    3.603729] tvp514x 3-005c: Read: retry ... 3

[    3.627166] tvp514x 3-005c: Read: retry ... 4

[    3.650329] tvp514x 3-005c: Read: retry ... 5

[    3.674041] tvp514x 3-005c: Unable to query std

[    3.679748] usbcore: registered new interface driver uvcvideo

[    3.685791] USB Video Class driver (v1.0.0)

[    3.690429] omap_device: omap_wdt.-1: new worst case activate latency 0: 30517

[    3.698974] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec

[    3.705413] omap_device: omap_wdt.-1: new worst case deactivate latency 0: 30517

[    3.713592] Bluetooth: HCI UART driver ver 2.2

[    3.718261] Bluetooth: HCI H4 protocol initialized

[    3.723297] Bluetooth: HCILL protocol initialized

[    3.734344] mmci-omap-hs.1 supply vmmc_aux not found, using dummy regulator

[    3.746368] usbcore: registered new interface driver usbhid

[    3.752258] usbhid: USB HID core driver

[    3.757965] usbcore: registered new interface driver snd-usb-audio

[    3.767272] OMAP3 EVM SoC init

[    3.847778] asoc: twl4030-hifi <-> omap-mcbsp-dai.1 mapping ok

[    3.856842] ALSA device list:

[    3.859954]   #0: omap3evm

[    3.862823] oprofile: hardware counters not available

[    3.868103] oprofile: using timer interrupt.

[    3.872741] nf_conntrack version 0.5.0 (3799 buckets, 15196 max)

[    3.880004] ip_tables: (C) 2000-2006 Netfilter Core Team

[    3.885925] TCP cubic registered

[    3.889282] Initializing XFRM netlink socket

[    3.894012] NET: Registered protocol family 17

[    3.898712] NET: Registered protocol family 15

[    3.903930] Bluetooth: L2CAP ver 2.15

[    3.907745] Bluetooth: L2CAP socket layer initialized

[    3.913116] Bluetooth: SCO (Voice Link) ver 0.6

[    3.917877] Bluetooth: SCO socket layer initialized

[    3.923248] Bluetooth: RFCOMM TTY layer initialized

[    3.928436] Bluetooth: RFCOMM socket layer initialized

[    3.933868] Bluetooth: RFCOMM ver 1.11

[    3.937774] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

[    3.943359] Bluetooth: BNEP filters: protocol multicast

[    3.948852] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

[    3.956207] Registering the dns_resolver key type

[    3.961425] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3

[    3.970581] ThumbEE CPU extension supported.

[    3.987548] Power Management for TI OMAP3.

[    3.992370] sr_init: No PMIC hook to init smartreflex

[    3.998016] smartreflex smartreflex.0: omap_sr_probe: SmartReflex driver initialized

[    4.006530] smartreflex smartreflex.1: omap_sr_probe: SmartReflex driver initialized

[    4.015441] SmartReflex Class3 initialized

[    4.044128] clock: disabling unused clocks to save power

[    4.051055] platform mpu.0: omap_voltage_scale: Already at the requestedrate 1000000000

[    4.137237] twl_rtc twl_rtc: setting system clock to 2000-01-01 00:15:00 UTC (946685700)

[    4.145996] omap_vout omap_vout: Buffer Size = 3686400

[    4.153015] omap_vout omap_vout: : registered and initialized video device 16

[    4.160552] omap_vout omap_vout: Buffer Size = 3686400

[    4.167449] omap_vout omap_vout: : registered and initialized video device 17

[    4.197174] mmc0: new high speed SDHC card at address 1234

[    4.203887] mmcblk0: mmc0:1234 SA04G 3.63 GiB (ro)

[    4.212829]  mmcblk0: p1 p2

[   20.306427] net eth0: ISR failed signaling test (IRQ 336)

[   20.312072] IP-Config: Failed to open eth0

[   20.316375] IP-Config: Device `eth0' not found.

[   80.548828] VFS: Unable to mount root fs via NFS, trying floppy.

[   80.556579] VFS: Cannot open root device "nfs" or unknown-block(2,0)

[   80.563201] Please append a correct "root=" boot option; here are the available partitions:

[   80.572052] 1f00             512 mtdblock0  (driver?)

[   80.577362] 1f01            1280 mtdblock1  (driver?)

[   80.582824] 1f02             768 mtdblock2  (driver?)

[   80.588134] 1f03            5120 mtdblock3  (driver?)

[   80.593414] 1f04          516608 mtdblock4  (driver?)

[   80.598754] b300         3813376 mmcblk0  driver: mmcblk

[   80.604339]   b301           40131 mmcblk0p1 00000000-0000-0000-0000-000000000mmcblk0p1

[   80.612731]   b302         3767242 mmcblk0p2 00000000-0000-0000-0000-000000000mmcblk0p2

[   80.621154] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

[   80.629852] [<c004c2d8>] (unwind_backtrace+0x0/0xec) from [<c044d9ac>] (panic+0x54/0x17c)

[   80.638427] [<c044d9ac>] (panic+0x54/0x17c) from [<c0009154>] (mount_block_root+0x1d0/0x210)

[   80.647277] [<c0009154>] (mount_block_root+0x1d0/0x210) from [<c0009234>] (mount_root+0xa0/0xbc)

[   80.656494] [<c0009234>] (mount_root+0xa0/0xbc) from [<c00093b4>] (prepare_namespace+0x164/0x1bc)

[   80.665802] [<c00093b4>] (prepare_namespace+0x164/0x1bc) from [<c0008708>] (kernel_init+0x10c/0x14c)

[   80.675506] [<c0008708>] (kernel_init+0x10c/0x14c) from [<c004754c>] (kernel_thread_exit+0x0/0x8)

遇到的问题非常奇怪,使用DVSDK4.03时,用uboot-2009引导Linux2.6.37通过nfs引导文件系统能正常挂载,但使用uboot-2010引导linux2.6.37通过nfs文件系统则出现上面错误,bootargs='console=ttyO0,115200n8 mem=256M root=/dev/nfs noinitrd rw nwhwconf=device:eth0,hwaddr:02:00:05:38:00:02 nfsroot=10.2.7.96:/home/ss/targetfs,tcp,nolock ip=10.2.7.97:10.2.7.96:10.2.7.1:255.255.255.0::eth0:off"。请专家看看是什么问题,是不是标记为红色几行的问题呢?如何解决?

  • bootargs 里面,ip改dhcp试试,

  • 改成ip=DHCP也是不管用,net eth0: ISR failed signaling test (IRQ 336)这句,smsc911x.c里面的标红一行中断测试失败,但我不知原因是什么,u-boot2009则可以正常引导,请专家指点。

    static int smsc911x_open(struct net_device *dev)

    {

    struct smsc911x_data *pdata = netdev_priv(dev);

    unsigned int timeout;

    unsigned int temp;

    unsigned int intcfg;

    /* if the phy is not yet registered, retry later*/

    if (!pdata->phy_dev) {

    SMSC_WARNING(HW, "phy_dev is NULL");

    return -EAGAIN;

    }

    if (!is_valid_ether_addr(dev->dev_addr)) {

    SMSC_WARNING(HW, "dev_addr is not a valid MAC address");

    return -EADDRNOTAVAIL;

    }

    /*

    * WORKAROUND: Somehow SMSC soft reset is failing with latest version

    * of EVM's where the reset line is completely dis-connected.

    */

    #if 0

    /* Reset the LAN911x */

    if (smsc911x_soft_reset(pdata)) {

    SMSC_WARNING(HW, "soft reset failed");

    return -EIO;

    }

    #endif

    smsc911x_reg_write(pdata, HW_CFG, 0x00050000);

    smsc911x_reg_write(pdata, AFC_CFG, 0x006E3740);

    /* Make sure EEPROM has finished loading before setting GPIO_CFG */

    timeout = 50;

    while ((smsc911x_reg_read(pdata, E2P_CMD) & E2P_CMD_EPC_BUSY_) &&

          --timeout) {

    udelay(10);

    }

    if (unlikely(timeout == 0))

    SMSC_WARNING(IFUP,

    "Timed out waiting for EEPROM busy bit to clear");

    smsc911x_reg_write(pdata, GPIO_CFG, 0x70070000);

    /* The soft reset above cleared the device's MAC address,

    * restore it from local copy (set in probe) */

    spin_lock_irq(&pdata->mac_lock);

    smsc911x_set_hw_mac_address(pdata, dev->dev_addr);

    spin_unlock_irq(&pdata->mac_lock);

    /* Initialise irqs, but leave all sources disabled */

    smsc911x_reg_write(pdata, INT_EN, 0);

    smsc911x_reg_write(pdata, INT_STS, 0xFFFFFFFF);

    /* Set interrupt deassertion to 100uS */

    intcfg = ((10 << 24) | INT_CFG_IRQ_EN_);

    if (pdata->config.irq_polarity) {

    SMSC_TRACE(IFUP, "irq polarity: active high");

    intcfg |= INT_CFG_IRQ_POL_;

    } else {

    SMSC_TRACE(IFUP, "irq polarity: active low");

    }

    if (pdata->config.irq_type) {

    SMSC_TRACE(IFUP, "irq type: push-pull");

    intcfg |= INT_CFG_IRQ_TYPE_;

    } else {

    SMSC_TRACE(IFUP, "irq type: open drain");

    }

    smsc911x_reg_write(pdata, INT_CFG, intcfg);

    SMSC_TRACE(IFUP, "Testing irq handler using IRQ %d", dev->irq);

    pdata->software_irq_signal = 0;

    smp_wmb();

    temp = smsc911x_reg_read(pdata, INT_EN);

    temp |= INT_EN_SW_INT_EN_;

    smsc911x_reg_write(pdata, INT_EN, temp);

    timeout = 1000;

    while (timeout--) {

    if (pdata->software_irq_signal)

    break;

    msleep(1);

    }

    if (!pdata->software_irq_signal) {

    dev_warn(&dev->dev, "ISR failed signaling test (IRQ %d)\n",

    dev->irq);

    return -ENODEV;

    }

    SMSC_TRACE(IFUP, "IRQ handler passed test using IRQ %d", dev->irq);

    dev_info(&dev->dev, "SMSC911x/921x identified at %#08lx, IRQ: %d\n",

    (unsigned long)pdata->ioaddr, dev->irq);

    /* Reset the last known duplex and carrier */

    pdata->last_duplex = -1;

    pdata->last_carrier = -1;

    /* Bring the PHY up */

    phy_start(pdata->phy_dev);

    temp = smsc911x_reg_read(pdata, HW_CFG);

    /* Preserve TX FIFO size and external PHY configuration */

    temp &= (HW_CFG_TX_FIF_SZ_|0x00000FFF);

    temp |= HW_CFG_SF_;

    smsc911x_reg_write(pdata, HW_CFG, temp);

    temp = smsc911x_reg_read(pdata, FIFO_INT);

    temp |= FIFO_INT_TX_AVAIL_LEVEL_;

    temp &= ~(FIFO_INT_RX_STS_LEVEL_);

    smsc911x_reg_write(pdata, FIFO_INT, temp);

    /* set RX Data offset to 2 bytes for alignment */

    smsc911x_reg_write(pdata, RX_CFG, (2 << 8));

    /* enable NAPI polling before enabling RX interrupts */

    napi_enable(&pdata->napi);

    temp = smsc911x_reg_read(pdata, INT_EN);

    temp |= (INT_EN_TDFA_EN_ | INT_EN_RSFL_EN_ | INT_EN_RXSTOP_INT_EN_);

    smsc911x_reg_write(pdata, INT_EN, temp);

    spin_lock_irq(&pdata->mac_lock);

    temp = smsc911x_mac_read(pdata, MAC_CR);

    temp |= (MAC_CR_TXEN_ | MAC_CR_RXEN_ | MAC_CR_HBDIS_);

    smsc911x_mac_write(pdata, MAC_CR, temp);

    spin_unlock_irq(&pdata->mac_lock);

    smsc911x_reg_write(pdata, TX_CFG, TX_CFG_TX_ON_);

    netif_start_queue(dev);

    return 0;

    }

  • 跟代码发现,未进入smsc911x_irqhandler(int irq, void *dev_id)中断服务程序,注册中断服务程序代码为retval = request_irq(dev->irq, smsc911x_irqhandler, irq_flags | IRQF_SHARED, dev->name, dev);不知道哪里有问题?

  • 问题解决了,原来u-boot2010初始化smsc911x中断引脚时出错了!

x 出现错误。请重试或与管理员联系。