Date: Thu, 5 Nov 2009 16:23:54 +0100 From: Matthias Reyelt <Matthias.Reyelt@brunel.de> To: Rafal Jaworowski <raj@semihalf.com> Cc: freebsd-arm@freebsd.org Subject: Re: Marvell Kirkwood 6281 mge1 interface Message-ID: <200911051623.56583.Matthias.Reyelt@brunel.de> In-Reply-To: <C37D237E-B40C-496A-8AAB-D75D065727D2@semihalf.com> References: <200911040956.09749.Matthias.Reyelt@brunel.de> <200911051423.52940.Matthias.Reyelt@brunel.de> <C37D237E-B40C-496A-8AAB-D75D065727D2@semihalf.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, the second phy is an E1116 as well. I have applied the patch to common.h There is still something missing. Here is the boot log. There are some other error messages, e.g. from pcib. Matthias -------------------------------snip----------------------------------------------------------------- __ __ _ _ | \/ | __ _ _ ____ _____| | | | |\/| |/ _` | '__\ \ / / _ \ | | | | | | (_| | | \ V / __/ | | |_| |_|\__,_|_| \_/ \___|_|_| _ _ ____ _ | | | | | __ ) ___ ___ | |_ | | | |___| _ \ / _ \ / _ \| __| | |_| |___| |_) | (_) | (_) | |_ \___/ |____/ \___/ \___/ \__| ** MARVELL BOARD: OpenRD-Client LE U-Boot 1.1.4 (May 18 2009 - 13:33:10) Marvell version: 3.4.16 U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE80 Soc: 88F6281 A0 (DDR2) CPU running @ 1200Mhz L2 running @ 400Mhz SysClock = 400Mhz , TClock = 200Mhz DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6 DRAM CS[0] base 0x00000000 size 256MB DRAM CS[1] base 0x10000000 size 256MB DRAM Total size 512MB 16bit width Flash: 0 kB Addresses 8M - 0M are saved for the U-Boot usage. Mem malloc Initialization (8M - 7M): Done NAND:512 MB Checking for BootROM Routine Errors No. of BootROM routine retries: 0 No error found Running POST... DDR2 data bus test PASSED DDR2 address bus test PASSED UART 1 internal loopback test on baudrate 9600 PASSED UART 1 internal loopback test on baudrate 19200 PASSED UART 1 internal loopback test on baudrate 115200 PASSED Device: 0, Size: 512 MB, Page Size: 2 KB, Block Size: 128 KB NAND detection test PASSED Bad Block: 1a5a0000 NAND bad-block detection test PASSED RTC test PASSED 6/6 tests PASSED POST completed CPU : Marvell Feroceon (Rev 1) Streaming disabled Write allocate disabled Module 0 is AUDIO Module 1 is RGMII USB 0: host mode PCI 0: PCI Express Root Complex Interface PEX interface detected Link X1 Net: egiga0 [PRIME], egiga1 Hit any key to stop autoboot: 0 Marvell>> tftpboot 900000 kernel.bin Using egiga0 device TFTP from server 172.16.102.81; our IP address is 172.16.102.69 Filename 'kernel.bin'. Load address: 0x900000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ############################################################### done Bytes transferred = 2980852 (2d7bf4 hex) Marvell>> go 900000 ## Starting application at 0x00900000 ... KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-RC2 #15 r198539:198785M: Thu Nov 5 15:46:38 CET 2009 root@bcspc5.bcs.brunel.local:/usr/obj/arm/arm/src/8-stable/8/sys/DB-88F6XXX Preloaded elf kernel "elf kernel" at 0xc0bf11d8. CPU: Feroceon 88FR131 rev 1 (write-through core) WB enabled EABT branch prediction enabled 16KB/32B 4-way Instruction cache 16KB/32B 4-way write-back-locking-C Data cache real memory = 536870912 (512 MB) Physical memory chunk(s): 00000000 - 0x8fffff, 9437184 bytes (2304 pages) 0xce7000 - 0x1f64bfff, 513167360 bytes (125285 pages) avail memory = 520372224 (496 MB) SOC: (0x6281:0x02) Marvell 88F6281 rev A0, TClock 200MHz nfslock: pseudo-device mem: <memory> null: <null device, zero device> random: <entropy source, Software, Yarrow> mbus0: <Marvell Internal Bus (Mbus)> on motherboard ic0: <Marvell Integrated Interrupt Controller> at mem 0xf1020200-0xf102023b on mbus0 timer0: <Marvell CPU Timer> at mem 0xf1020300-0xf102032f irq 1 on mbus0 timer0: [FILTER] rtc0: <Marvell Integrated RTC> at mem 0xf1010300-0xf1010307 on mbus0 rtc0: registered as a time-of-day clock (resolution 1000000us) gpio0: <Marvell Integrated GPIO Controller> at mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on mbus0 gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] gpio0: [FILTER] uart0: <16550 or compatible> at mem 0xf1012000-0xf101201f irq 33 on mbus0 uart0: [FILTER] uart0: fast interrupt uart0: console (115740,n,8,1) uart1: <16550 or compatible> at mem 0xf1012100-0xf101211f irq 34 on mbus0 uart1: [FILTER] uart1: fast interrupt ehci0: <Marvell Integrated USB 2.0 controller> at mem 0xf1050000-0xf1050fff irq 48,19 on mbus0 ehci0: [FILTER] ehci0: [MPSAFE] ehci0: [ITHREAD] ehci0: 5.24 GL USB-2 workaround enabled usbus0: EHCI version 1.0 usbus0: set host controller mode usbus0: <Marvell Integrated USB 2.0 controller> on ehci0 mge0: <Marvell Gigabit Ethernet controller> at mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on mbus0 mge0: bpf attached mge0: Ethernet address: 00:50:43:01:a2:5e mge0: Now probing PHY mge0: mii_phy_probe: Starting to probe PHYs: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:31085 ok miibus0: (miibus_probe) is the mii device mge0: (miibus_probe) is the eth device miibus0: Probing phy 0 miibus0: No phy found miibus0: Probing phy 1 miibus0: No phy found miibus0: Probing phy 2 miibus0: No phy found miibus0: Probing phy 3 miibus0: No phy found miibus0: Probing phy 4 miibus0: No phy found miibus0: Probing phy 5 miibus0: No phy found miibus0: Probing phy 6 miibus0: No phy found miibus0: Probing phy 7 miibus0: No phy found miibus0: Probing phy 8 miibus0: found one. Now looking for ID miibus0: Probing phy 9 miibus0: No phy found miibus0: Probing phy a miibus0: No phy found miibus0: Probing phy b miibus0: No phy found miibus0: Probing phy c miibus0: No phy found miibus0: Probing phy d miibus0: No phy found miibus0: Probing phy e miibus0: No phy found miibus0: Probing phy f miibus0: No phy found miibus0: Probing phy 10 miibus0: No phy found miibus0: Probing phy 11 miibus0: No phy found miibus0: Probing phy 12 miibus0: No phy found miibus0: Probing phy 13 miibus0: No phy found miibus0: Probing phy 14 miibus0: No phy found miibus0: Probing phy 15 miibus0: No phy found miibus0: Probing phy 16 miibus0: No phy found miibus0: Probing phy 17 miibus0: No phy found miibus0: Probing phy 18 miibus0: No phy found miibus0: Probing phy 19 miibus0: No phy found miibus0: Probing phy 1a miibus0: No phy found miibus0: Probing phy 1b miibus0: No phy found miibus0: Probing phy 1c miibus0: No phy found miibus0: Probing phy 1d miibus0: No phy found miibus0: Probing phy 1e miibus0: No phy found miibus0: Probing phy 1f miibus0: No phy found miibus0: <MII bus> on mge0 miibus0: miibus_attach e1000phy0: Probing e1000 PHY e1000phy0: Probing e1000 PHY e1000phy0: <Marvell 88E1116R Gigabit PHY> PHY 8 on miibus0 mge0: Writing 6800 to reg 10 on phy 8 mge0: Writing 70 to reg 14 on phy 8 mge0: Writing 9140 to reg 0 on phy 8 e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto mge0: [MPSAFE] mge0: [ITHREAD] mge0: [MPSAFE] mge0: [ITHREAD] mge1: <Marvell Gigabit Ethernet controller> at mem 0xf1076000-0xf1077fff irq 16,17,18,15,46 on mbus0 mge1: bpf attached mge1: Ethernet address: 00:50:43:01:a2:5f mge1: Now probing PHY mge1: mii_phy_probe: Starting to probe PHYs: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:65535 ok miibus1: (miibus_probe) is the mii device mge1: (miibus_probe) is the eth device miibus1: Probing phy 0 miibus1: No phy found miibus1: Probing phy 1 miibus1: No phy found miibus1: Probing phy 2 miibus1: No phy found miibus1: Probing phy 3 miibus1: No phy found miibus1: Probing phy 4 miibus1: No phy found miibus1: Probing phy 5 miibus1: No phy found miibus1: Probing phy 6 miibus1: No phy found miibus1: Probing phy 7 miibus1: No phy found miibus1: Probing phy 8 miibus1: No phy found miibus1: Probing phy 9 miibus1: found one. Now looking for ID miibus1: Probing phy a miibus1: No phy found miibus1: Probing phy b miibus1: No phy found miibus1: Probing phy c miibus1: No phy found miibus1: Probing phy d miibus1: No phy found miibus1: Probing phy e miibus1: No phy found miibus1: Probing phy f miibus1: No phy found miibus1: Probing phy 10 miibus1: No phy found miibus1: Probing phy 11 miibus1: No phy found miibus1: Probing phy 12 miibus1: No phy found miibus1: Probing phy 13 miibus1: No phy found miibus1: Probing phy 14 miibus1: No phy found miibus1: Probing phy 15 miibus1: No phy found miibus1: Probing phy 16 miibus1: No phy found miibus1: Probing phy 17 miibus1: No phy found miibus1: Probing phy 18 miibus1: No phy found miibus1: Probing phy 19 miibus1: No phy found miibus1: Probing phy 1a miibus1: No phy found miibus1: Probing phy 1b miibus1: No phy found miibus1: Probing phy 1c miibus1: No phy found miibus1: Probing phy 1d miibus1: No phy found miibus1: Probing phy 1e miibus1: No phy found miibus1: Probing phy 1f miibus1: No phy found miibus1: <MII bus> on mge1 miibus1: miibus_attach e1000phy1: Probing e1000 PHY ukphy0: <Generic IEEE 802.3u media interface> PHY 9 on miibus1 ukphy0: OUI 0x3fffff, model 0x003f, rev. 15 mge1: Writing 8400 to reg 0 on phy 9 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 100baseT4, 1000baseSX, 1000baseSX-FDX, 1000baseT, 1000baseT-FDX, auto mge1: [MPSAFE] mge1: [ITHREAD] mge1: [MPSAFE] mge1: [ITHREAD] twsi0: <Marvell Integrated I2C Bus Controller> at mem 0xf1011000-0xf101101f on mbus0 iicbus0: <Philips I2C bus> on twsi0 iic0: <I2C generic I/O> on iicbus0 sata0: <Marvell Integrated SATA Controller> at mem 0xf1080000-0xf1085fff irq 21 on mbus0 sata0: [MPSAFE] sata0: [ITHREAD] ata0: <Marvell Integrated SATA Channel> on sata0 ata0: hardware reset ... ata0: SATA connect timeout status=00000000 ata0: [MPSAFE] ata0: [ITHREAD] ata1: <Marvell Integrated SATA Channel> on sata0 ata1: hardware reset ... ata1: SATA connect timeout status=00000000 ata1: [MPSAFE] ata1: [ITHREAD] pcib0: <Marvell 88F6281 PCI-Express host controller> at mem 0xf1040000-0xf1041fff on mbus0 pcib0: PCI IO/Memory space exhausted device_attach: pcib0 attach returned 12 Timecounter "CPU Timer" frequency 200000000 Hz quality 1000 Timecounters tick every 10.000 msec lo0: bpf attached ata0: Identifying devices: 00000000 ata0: New devices: 00000000 ata1: Identifying devices: 00000000 ata1: New devices: 00000000 usbus0: 480Mbps High Speed USB v2.0 bootpc_init: wired to interface 'mge0' Sending DHCP Discover packet from interface mge0 (00:50:43:01:a2:5e) ugen0.1: <Marvell> at usbus0 uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 uhub0: 1 port with 1 removable, self powered mge0: link state changed to UP ugen0.2: <vendor 0x0424> at usbus0 uhub1: <vendor 0x0424 product 0x2517, class 9/0, rev 2.00/0.01, addr 2> on usbus0 uhub1: 7 ports with 7 removable, self powered DHCP/BOOTP timeout for server 255.255.255.255 DHCP/BOOTP timeout for server 255.255.255.255 DHCP/BOOTP timeout for server 255.255.255.255 DHCP/BOOTP timeout for server 255.255.255.255 DHCP/BOOTP timeout for server 255.255.255.255 Received DHCP Offer packet on mge0 from 172.16.102.81 (accepted) (no root path) Sending DHCP Request packet from interface mge0 (00:50:43:01:a2:5e) DHCP/BOOTP timeout for server 255.255.255.255 Received DHCP Ack packet on mge0 from 172.16.102.81 (accepted) (got root path) mge0 at 172.16.102.69 server 172.16.102.81 boot file kernel.bin subnet mask 255.255.255.0 router 172.16.102.3 rootfs 172.16.102.81:/nfsroot/arm-8-le hostname open-rd1 Adjusted interface mge0 ifa_del_loopback_route: deletion failed Trying to mount root from nfs: NFS ROOT: 172.16.102.81:/nfsroot/arm-8-le ct_to_ts([2009-11-05 14:55:27]) = 1257432927.000000000 ct_to_ts([2009-11-05 14:55:27]) = 1257432927.000000000 start_init: trying /sbin/init Enter full pathname of shell or RETURN for /bin/sh: # exit Interface mge0 IP-Address 172.16.102.69 Broadcast 172.16.102.255 Entropy harvesting: interrupts ethernet point_to_point kickstart. Fast boot: skipping disk checks. mount_nfs: can't update /var/db/mounttab for 172.16.102.81:/nfsroot/arm-8-le Starting Network: lo0. route: writing to routing socket: File exists add net default: gateway 172.16.102.3: route already in table devd: cannot open pid file: Operation not supported Mounting NFS file systems:mount_nfs: can't update /var/db/mounttab for 172.16.102.81:/nfsvar/arm-8-le . syslogd: cannot open pid file: Operation not supported Recovering vi editor sessions:. Starting local daemons:rc.local . Nov 5 14:55:45 open-rd1 sm-mta[820]: nA5EtjYr000820: SYSERR(root): hash map "Alias0": missing map file /etc/mail/aliases.db: No such file or directory Nov 5 14:55:45 open-rd1 sm-mta[829]: nA5EtjYr000820: SYSERR(root): hash map "Alias0": missing map file /etc/mail/aliases.db: No such file or directory Thu Nov 5 14:55:46 UTC 2009 FreeBSD/arm (open-rd1) (ttyu0) login: ----------------------------------snip--------------------------------------------------- Am Donnerstag 05 November 2009 15:16:08 schrieb Rafal Jaworowski: > > On 2009-11-05, at 14:23, Matthias Reyelt wrote: > > >> Before trying to identify PHY problems, can you share all your > >> changes (a diff)? So far all Kirkwood based boards we support had > >> only > >> a single active Ethernet port, so the Kirkwood platform config only > > Yes, the OpenRD client is rather new, and the board contains an > > awful lot of > > interfaces (and no fan), really great. > > Can you eye inspect the PHY chip connected to the second MAC, is it > E1116 as well? > > BTW: if you managed to get OpenRD to boot, please send a full booting > log for reference. > > >> accounted for a single MAC, have you altered the obio_devices[] in > >> particular? > > I did add the second interface to the obio_devices[], and adjusted > > the defines > > according to the header files as good as I knew (although I have > > been aware > > that there would be a reason for the missing interface :-) > > Your diff looks fine, however there is missing at least one important > piece: decode window for the second ETH is not being configured. Try > adding the change below. > > Rafal > > diff --git a/sys/arm/mv/common.c b/sys/arm/mv/common.c > index 76758be..b60d0ac 100644 > --- a/sys/arm/mv/common.c > +++ b/sys/arm/mv/common.c > @@ -204,7 +204,8 @@ soc_decode_win(void) > decode_win_cpu_setup(); > decode_win_usb_setup(); > decode_win_eth_setup(MV_ETH0_BASE); > - if (dev == MV_DEV_MV78100 || dev == MV_DEV_MV78100_Z0) > + if (dev == MV_DEV_88F6281 || > + dev == MV_DEV_MV78100 || dev == MV_DEV_MV78100_Z0) > decode_win_eth_setup(MV_ETH1_BASE); > if (dev == MV_DEV_88F6281 || dev == MV_DEV_MV78100 || > dev == MV_DEV_MV78100_Z0) > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911051623.56583.Matthias.Reyelt>