2.6.24 AT91 MACB driver broken | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Hey everyone, I believe that the MACB driver may be broken in Linux 2.6.24 and beyond on the AT91SAM9260-EK board with a DM9161A PHY chip. I've been completely unable to get ethernet working with 2.6.24, though it does work with 2.6.22 and prior kernels (I was unable to test 2.6.23 because of a bug which caused the kernel to compile incorrectly). My boot output is printed below. Most notable is the line which says the DM9161A's PHY address is 0xffffffff, instead of 0x0181b8a0. I've examined the code fairly thoroughly, and I know that the proper PHY address is read from the hardware in mdiobus_register(): phydev = get_phy_device(bus, i); However, phydev->dev.bus_id is set with the following line: snprintf(phydev->dev.bus_id, BUS_ID_SIZE, PHY_ID_FMT, bus->id, i); but bus->id is still set to -1, hence the 0xffffffff. The bus id is initialized in the calling function macb_mii_init() as follows: bp->mii_bus.id = bp->pdev->id; Here, bp->pdev->id is still set to -1, the value it was given in at91sam9260_devices.c. However, I've tried a few hacks to set the bus id to the appropriate value before calling mdiobus_register(), and the correct PHY address is then printed out during boot, but ethernet still doesn't work. Perhaps I'm barking up the wrong tree? I'm eager to fix this problem, but at this point, I don't know where else to look. If anyone has some guidance to offer, please let me know. Cheers,Alex Parkinson Here's the output: Linux version 2.6.24.4 (alex@Vanilli) (gcc version 4.2.3) #9 PREEMPT Thu May 1 14:31:14 EDT 2008CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177Machine: Atmel AT91SAM9260-EKMemory policy: ECC disabled, Data cache writebackClocks: CPU 198 MHz, master 99 MHz, main 18.432 MHzCPU0: D VIVT write-back cacheCPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 setsCPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 setsBuilt 1 zonelists in Zone order, mobility grouping on. Total pages: 16256Kernel command line: mem=64M console=ttyS0,115200 initrd=0x21200000,0x600000 root=/dev/ram0 rwAT91: 96 gpio irqs in 3 banksPID hash table entries: 256 (order: 8, 1024 bytes)Console: colour dummy device 80x30console [ttyS0] enabledDentry cache hash table entries: 8192 (order: 3, 32768 bytes)Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)Memory: 64MB = 64MB totalMemory: 56472KB available (1956K code, 191K data, 96K init)Mount-cache hash table entries: 512CPU: Testing write buffer coherency: oknet_namespace: 64 bytesNET: Registered protocol family 16Generic PHY: Registered new driverNET: Registered protocol family 2IP route cache hash table entries: 1024 (order: 0, 4096 bytes)TCP established hash table entries: 2048 (order: 2, 16384 bytes)TCP bind hash table entries: 2048 (order: 1, 8192 bytes)TCP: Hash tables configured (established 2048 bind 2048)TCP reno registeredchecking if image is initramfs...it isn't (no cpio magic); looks like an initrdFreeing initrd memory: 6144KNetWinder Floating Point Emulator V0.97 (double precision)JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.JFFS2: default compression mode: priorityio scheduler noop registered (default)Console: switching to colour frame buffer device 80x50fb0: Virtual frame buffer device, using 1024K of video memoryatmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIALatmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIALatmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIALRAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksizeMACB_mii_bus: probedeth0: Atmel MACB at 0xfffc4000 irq 21 (00:01:02:03:84:05)eth0: attached PHY driver [Davicom DM9161A] (mii_bus:phy_addr=ffffffff:00, irq=-1)block2mtd: version $Revision: 1.30 $atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffc8000 (irq 12)mtd_dataflash spi0.1: AT45DB642x (8448 KBytes)mice: PS/2 mouse device common for all micei2c /dev entries driverTCP cubic registeredNET: Registered protocol family 1NET: Registered protocol family 17RAMDISK: Compressed image found at block 0VFS: Mounted root (ext2 filesystem).Freeing init memory: 96Kinit started: BusyBox v1.10.1 (2008-05-01 12:12:26 EDT)Initializing random number generator... done.Starting network...ip: RTNETLINK answers: File exists -------------------------------------------------------------------List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-armFAQ: http://www.arm.linux.org.uk/mailinglists/faq.phpEtiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
[Site Home] [Fedora ARM] [IETF Annouce] [Security] [Bugtraq] [Linux] [Linux ARM Kernel] [Linux OMAP] [Linux MIPS] [ECOS] [Tools] [DDR & Rambus] [Monitors]