AW: PPC440GX IBM EMAC2/3 RGMII mode selection
David Grab
d.grab at hima.com
Fri Jul 8 21:14:54 EST 2005
I solved the PHY assertion with my board specific function. Thanks to Travis
B. Sawyer for this hint.
if (i < 2) {
emacdata->phy_map = 0xffffffff;
emacdata->phy_mode = PHY_MODE_NA;
}
else {
emacdata->phy_map = 0x00000001;
emacdata->phy_mode = PHY_MODE_RGMII;
}
But now i have a new problem. As you can see my PHY is detected and working
properly. It respond on link down and link up by (un)connecting ethernet
cable. Also i get RX Stuff from ethernet. But if i ping after setting
network, then it results in No response and even i can´t measure an TX
Enable or TX Clock signal from PPC440 to my PHY. I debugged a litte bit and
i think it´s becaus my ethernet is set up with zmii0: input 0 in SMII mode
and rgmii0: input 0 in RGMII mode. Is it possible that eth0 uses SMII mode
instead of RGMII so that no TX CLK / Enable is generated from PPC?
bootd
## Booting image at ff000000 ...
Image Name: Linux-2.6.11.6
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 891020 Bytes = 870.1 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at 0x1FF9D898 => set upper limit to 0x00800000
## cmdline at 0x007FFF00 ... 0x007FFF25
bd address = 0x1FF9DF54
memstart = 0x00000000
memsize = 0x20000000
flashstart = 0xFF000000
flashsize = 0x01000000
flashoffset = 0x00000000
sramstart = 0x00000000
sramsize = 0x00000000
bootflags = 0xC01D2260
intfreq = 500 MHz
busfreq = 166.666 MHz
ethaddr = 00:04:AC:E3:28:8A
eth1addr = 00:04:AC:E3:28:8B
eth2addr = 00:04:AC:E3:28:8C
eth3addr = 00:04:AC:E3:28:8D
IP addr = 192.168.0.116
baudrate = 115200 bps
## Loading RAMDisk Image at ff800000 ...
Image Name: Test Ramdisk
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1629365 Bytes = 1.6 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## initrd at 0xFF800040 ... 0xFF98DCF4 (len=1629365=0x18DCB5)
Loading Ramdisk to 1fe0f000, end 1ff9ccb5 ... OK
## Transferring control to Linux (at address 00000000) ...
## Transferring control to Linux (at address 00000000) ...
Adresse: 7ffe50
Linux version 2.6.11.6 (david at FedoraDG) (gcc-Version 3.3.3 (DENX ELDK 3.1
3.3.3-8)) #12 Fri Jul 8 00:54:21 CEST 2005
IBM
Built 1 zonelists
Kernel command line: console=ttyS1,115200 root=/dev/ram rw
PID hash table entries: 4096 (order: 12, 65536 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 515712k available (1372k kernel code, 464k data, 108k init, 0k
highmem)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
checking if image is initramfs...it isn't (no cpio magic); looks like an
initrd
Freeing initrd memory: 1591k freed
NET: Registered protocol family 16
PCI: Probing PCI hardware
PCI: bridge rsrc 0..ffff (100), parent c0195018
PCI: bridge rsrc 80000000..ffffefff (200), parent c0195034
SCSI subsystem initialized
Serial: 8250/16550 driver $Revision: 1.90 $ 6 ports, IRQ sharing enabled
ttyS0 at MMIO 0x0 (irq = 0) is a 16550A
ttyS1 at MMIO 0x0 (irq = 1) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
mal0: Initialized, 4 tx channels, 4 rx channels
emac: IBM EMAC Ethernet driver, version 2.0
Maintained by Benjamin Herrenschmidt <benh at kernel.crashing.org>
zmii0: input 0 in SMII mode
emac0: Can't find PHY.
zmii0: input 1 in SMII mode
emac1: Can't find PHY.
zmii0: input 2 in SMII mode
rgmii0: input 0 in RGMII mode
eth0: IBM emac, MAC 00:04:ac:e3:28:8c
eth0: Found Generic MII PHY (0x05)
zmii0: input 3 in SMII mode
rgmii0: input 1 in RGMII mode
eth1: IBM emac, MAC 00:04:ac:e3:28:8d
eth1: Found Generic MII PHY (0x06)
NET: Registered protocol family 2
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
NET: Registered protocol family 1
NET: Registered protocol family 17
RAMDISK: Compressed image found at block 0
RAMDISK: incomplete write (-28 != 1024) 4194304
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 108k init
eth0: Link is Up
eth0: Speed: 100, Full duplex.
### Application running ...
BusyBox v0.60.5 (2004.11.10-15:02+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.
# ifconfig eth0 192.168.0.116 netmask 255.255.252.0
# eth0: Link is Up
eth0: Speed: 100, Full duplex.
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:04:AC:E3:28:8C
inet addr:192.168.0.116 Bcast:192.168.0.255 Mask:255.255.252.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:134 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9225 (9.0 kiB) TX bytes:0 (0.0 iB)
Interrupt:64
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 iB) TX bytes:0 (0.0 iB)
# ping 192.168.121
emac_start_xmit()
exitn
emac_start_xmit()
exitn
emac_start_xmit()
exitn
No response from 192.168.0.121
#
More information about the Linuxppc-embedded
mailing list