我的单板是c6678, 第二个网口,网口的serdes 的参考时钟是250M
所以我修改了:pa_ss_init.c 的serdes_init 函数
static int serdes_init(void)
{
#ifdef CONFIG_ARCH_BOARD_EVM6670
dscr_set_reg(DSCR_SGMII_SERDES_CFGPLL, 0x00000051);
#else
// dscr_set_reg(DSCR_SGMII_SERDES_CFGPLL, 0x00000041);
dscr_set_reg(DSCR_SGMII_SERDES_CFGPLL, 0x00000051);
#endif
_c6x_delay(2000);
#ifdef CONFIG_ARCH_BOARD_EVMTCI6616
dscr_set_reg(DSCR_SGMII_SERDES_CFGRX0, 0x00460411);
dscr_set_reg(DSCR_SGMII_SERDES_CFGRX1, 0x00460411);
dscr_set_reg(DSCR_SGMII_SERDES_CFGTX0, 0x00011F91);
dscr_set_reg(DSCR_SGMII_SERDES_CFGTX1, 0x00011F91);
#else
// dscr_set_reg(DSCR_SGMII_SERDES_CFGRX0, 0x00700621);
// dscr_set_reg(DSCR_SGMII_SERDES_CFGRX1, 0x00700621);
// dscr_set_reg(DSCR_SGMII_SERDES_CFGTX0, 0x000108A1);
// dscr_set_reg(DSCR_SGMII_SERDES_CFGTX1, 0x000108A1);
dscr_set_reg(DSCR_SGMII_SERDES_CFGRX0, 0x00448621);
dscr_set_reg(DSCR_SGMII_SERDES_CFGRX1, 0x00448621);
dscr_set_reg(DSCR_SGMII_SERDES_CFGTX0, 0x00010FA1);
dscr_set_reg(DSCR_SGMII_SERDES_CFGTX1, 0x00010FA1);
#endif
_c6x_delay(2000);
return 0;
}
但是网络还是不通
启动日志也没什么错误
Linux version 2.6.34 (root@ubuntu) (gcc version 4.5.1 (Sourcery CodeBench Lite 4.5-124) ) #2 Wed Mar 1 22:21:51 PST 2023
Designed for the EVMC6678 board, Texas Instruments.
CPU0: C66x rev 0x0, 1.2 volts, 1000MHz
Initializing kernel
physical RAM map changed by user
no initrd specified
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
Kernel command line: console=ttyS0,115200 rw mem=256M ip=192.168.1.55:192.168.1.56:192.168.1.1:255.255.255.0::eth0:off
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory available: 251456k/253716k RAM, 0k/0k ROM (793k kernel code, 1312k data)
SLUB: Genslabs=7, HWalign=128, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is enabled.
NR_IRQS:288
Console: colour dummy device 80x25
Calibrating delay loop... 999.42 BogoMIPS (lpj=1998848)
Mount-cache hash table entries: 512
C64x: 9 gpio irqs
NET: Registered protocol family 16
SGMII init complete
bio: create slab <bio-0> at 0
Switching to clocksource TSC64
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni has been set to 491
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x2540000 (irq = 276) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
at24 1-0050: 131072 byte 24c1024 EEPROM (writable)
uclinux[mtd]: RAM probe address=0x8083a760 size=0x73f76000
Creating 1 MTD partitions on "RAM":
0x000000000000-0x000073f76000 : "ROMfs"
Generic platform RAM MTD, (c) 2004 Simtec Electronics
No NAND device found.
m25p80 spi0.0: non-JEDEC variant of n25q128
m25p80 spi0.0: n25q128 (16384 Kbytes)
Creating 1 MTD partitions on "spi_flash":
0x000000000000-0x000001000000 : "test"
spi_davinci spi_davinci.0: Controller at 0x20bf0000
spi_davinci spi_davinci.0: Operating in interrupt mode using IRQ 182
keystone_netcp keystone_netcp.0: firmware: using built-in firmware keystone-pdsp/qmss_pdsp_acc48_be.fw
keystone_netcp keystone_netcp.0: firmware: using built-in firmware keystone-pdsp/pa_pdsp_default.fw
pktgen 2.72: Packet Generator for packet performance testing.
TCP cubic registered
NET: Registered protocol family 17
IP-Config: Complete:
device=eth0, addr=192.168.1.55, mask=255.255.255.0, gw=192.168.1.1,
host=192.168.1.55, domain=, nis-domain=(none),
bootserver=192.168.1.56, rootserver=192.168.1.56, rootpath=
Freeing unused kernel memory: 4596K freed
starting pid 17, tty '': '/etc/rc.sysinit'
Starting system...
Mounting proc filesystem: done.
Mounting other filesystems: done.
Starting mdev
Setting hostname 192.168.1.55: done.
Bringing up loopback interface: done.
Starting inetd: done.
eth0 Link encap:Ethernet HWaddr 78:DB:2F:45:DE:9C
inet addr:192.168.1.55 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:48
System started.
starting pid 66, tty '/dev/console': '/bin/sh'
/ #
/ #
/ #
/ #
/ #
/ #
/ # ping 192.168.1.56
PING 192.168.1.56 (192.168.1.56): 56 data bytes
