|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
Marvell Kirkwood 6281 mge1 interfaceHi,
I have tried to use the second network interface on an Marvell OpenRD board with BETA3. The mge1 interfaces seems to have problems with it's phy. I am not familiar with kernel debugging, I've only seen that mii_phy_probe() detects the bmsr register at 0x09, but readreg returns 0xffff. Has anybody got that second interface up already? Regards Matthias -- Dr.-Ing. Matthias Reyelt Master Software Designer Brunel GmbH Bereich Communications Daimlerring 9 31135 Hildesheim Tel: +49 5121 1760 805 Fax: +49 5121 1760 999 email: Matthias.Reyelt@... Internet: www.brunel.de Hauptsitz: Airport City, Hermann-Köhl-Str. 1, 28199 Bremen Amtsgericht Bremen HRB 16935 General Manager: Johan Arie van Barneveld _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Re: Marvell Kirkwood 6281 mge1 interfaceOn 2009-11-04, at 09:56, Matthias Reyelt wrote: > I have tried to use the second network interface on an Marvell > OpenRD board > with BETA3. The mge1 interfaces seems to have problems with it's phy. > > I am not familiar with kernel debugging, I've only seen that > mii_phy_probe() > detects the bmsr register at 0x09, but readreg returns 0xffff. > > Has anybody got that second interface up already? Please paste the log with errors you're seeing. Rafal _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Re: Marvell Kirkwood 6281 mge1 interfaceHi,
here is the boot log. I have added several device_printf's and removed the 0xffff condition in mii_phy_probe() Matthias ge0: <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] Am Mittwoch 04 November 2009 10:37:52 schrieb Rafal Jaworowski: > > On 2009-11-04, at 09:56, Matthias Reyelt wrote: > > > I have tried to use the second network interface on an Marvell > > OpenRD board > > with BETA3. The mge1 interfaces seems to have problems with it's phy. > > > > I am not familiar with kernel debugging, I've only seen that > > mii_phy_probe() > > detects the bmsr register at 0x09, but readreg returns 0xffff. > > > > Has anybody got that second interface up already? > > Please paste the log with errors you're seeing. > > Rafal > > _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Re: Marvell Kirkwood 6281 mge1 interfaceOn 2009-11-04, at 11:42, Matthias Reyelt wrote: > Hi, > > here is the boot log. I have added several device_printf's and > removed the > 0xffff condition in mii_phy_probe() 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 accounted for a single MAC, have you altered the obio_devices[] in particular? Rafal _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Re: Marvell Kirkwood 6281 mge1 interfaceHi,
here is the diff. The removal of the debug options were due to some performance tests I did before. Am Donnerstag 05 November 2009 11:46:06 schrieb Rafal Jaworowski: > > On 2009-11-04, at 11:42, Matthias Reyelt wrote: > > > Hi, > > > > here is the boot log. I have added several device_printf's and > > removed the > > 0xffff condition in mii_phy_probe() > > 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 > 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 :-) Matthias [changes-kw2ndif.diff] Index: arm/mv/kirkwood/kirkwood.c =================================================================== --- arm/mv/kirkwood/kirkwood.c (revision 198539) +++ arm/mv/kirkwood/kirkwood.c (working copy) @@ -95,6 +95,12 @@ { -1 }, CPU_PM_CTRL_GE0 }, + { "mge", MV_ETH1_BASE, MV_ETH_SIZE, + { MV_INT_GBE1RX, MV_INT_GBE1TX, MV_INT_GBE1MISC, + MV_INT_GBE1SUM, MV_INT_GBEERR, -1 }, + { -1 }, + CPU_PM_CTRL_GE1 + }, { "twsi", MV_TWSI0_BASE, MV_TWSI_SIZE, { -1 }, { -1 }, CPU_PM_CTRL_NONE Index: arm/conf/DB-88F6XXX =================================================================== --- arm/conf/DB-88F6XXX (revision 198539) +++ arm/conf/DB-88F6XXX (working copy) @@ -39,12 +39,12 @@ # Debugging options ALT_BREAK_TO_DEBUGGER options DDB -options DIAGNOSTIC +#options DIAGNOSTIC #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS options KDB -options WITNESS #Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options WITNESS_KDB device pci Index: conf/NOTES =================================================================== --- conf/NOTES (revision 198539) +++ conf/NOTES (working copy) @@ -266,12 +266,12 @@ # a lock hierarchy violation occurs or if locks are held when going to # sleep. # WITNESS_SKIPSPIN disables the witness checks on spin mutexes. -options PREEMPTION -options FULL_PREEMPTION -options MUTEX_DEBUG -options WITNESS -options WITNESS_KDB -options WITNESS_SKIPSPIN +#options PREEMPTION +#options FULL_PREEMPTION +#options MUTEX_DEBUG +#options WITNESS +#options WITNESS_KDB +#options WITNESS_SKIPSPIN # LOCK_PROFILING - Profiling locks. See LOCK_PROFILING(9) for details. options LOCK_PROFILING Index: dev/mge/if_mge.c =================================================================== --- dev/mge/if_mge.c (revision 198785) +++ dev/mge/if_mge.c (working copy) @@ -685,6 +685,7 @@ ether_ifattach(ifp, hwaddr); callout_init(&sc->wd_callout, 0); + device_printf( dev, "Now probing PHY\n" ); /* Probe PHY(s) */ error = mii_phy_probe(dev, &sc->miibus, mge_ifmedia_upd, mge_ifmedia_sts); if (error) { @@ -1273,10 +1274,11 @@ * unit. */ - + if ((MII_ADDR_BASE + device_get_unit(dev)) != phy) return (0); + MGE_WRITE(sc_mge0, MGE_REG_SMI, 0x1fffffff & (MGE_SMI_READ | (reg << 21) | (phy << 16))); @@ -1298,6 +1300,7 @@ if ((MII_ADDR_BASE + device_get_unit(dev)) != phy) return (0); + device_printf( dev, "Writing %x to reg %x on phy %x\n", value, reg, phy ); MGE_WRITE(sc_mge0, MGE_REG_SMI, 0x1fffffff & (MGE_SMI_WRITE | (reg << 21) | (phy << 16) | (value & 0xffff))); Index: dev/mii/e1000phy.c =================================================================== --- dev/mii/e1000phy.c (revision 198539) +++ dev/mii/e1000phy.c (working copy) @@ -119,7 +119,7 @@ static int e1000phy_probe(device_t dev) { - + device_printf( dev, "Probing e1000 PHY\n" ); return (mii_phy_dev_probe(dev, e1000phys, BUS_PROBE_DEFAULT)); } Index: dev/mii/mii.c =================================================================== --- dev/mii/mii.c (revision 198539) +++ dev/mii/mii.c (working copy) @@ -124,7 +124,9 @@ int bmsr, capmask = 0xFFFFFFFF; mii = device_get_softc(dev); + device_printf( dev, "(miibus_probe) is the mii device\n" ); parent = device_get_parent(dev); + device_printf( parent, "(miibus_probe) is the eth device\n" ); LIST_INIT(&mii->mii_phys); for (ma.mii_phyno = 0; ma.mii_phyno < MII_NPHY; ma.mii_phyno++) { @@ -133,13 +135,15 @@ * many braindead PHYs report 0/0 in their ID registers, * so we test for media in the BMSR. */ + device_printf( dev, "Probing phy %x ", ma.mii_phyno ); bmsr = MIIBUS_READREG(parent, ma.mii_phyno, MII_BMSR); - if (bmsr == 0 || bmsr == 0xffff || + if (bmsr == 0 || (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) { /* Assume no PHY at this address. */ - continue; + device_printf( dev, "No phy found\n" ); + continue; } - + device_printf( dev, "found one. Now looking for ID\n" ); /* * Extract the IDs. Braindead PHYs will be handled by * the `ukphy' driver, as we have no ID information to @@ -179,6 +183,7 @@ * Note that each NIC's softc must start with an ifnet pointer. * XXX: EVIL HACK! */ + device_printf( dev, "miibus_attach\n" ); mii->mii_ifp = *(struct ifnet**)device_get_softc(device_get_parent(dev)); ivars = device_get_ivars(dev); ifmedia_init(&mii->mii_media, IFM_IMASK, ivars->ifmedia_upd, @@ -337,13 +342,16 @@ *child = device_add_child(dev, "miibus", -1); device_set_ivars(*child, ivars); + device_printf( dev, "mii_phy_probe: Starting to probe PHYs: " ); for (i = 0; i < MII_NPHY; i++) { bmsr = MIIBUS_READREG(dev, i, MII_BMSR); - if (bmsr == 0 || bmsr == 0xffff || + printf( "%d:%d ", i, bmsr ); + if (bmsr == 0 || (bmsr & (BMSR_EXTSTAT|BMSR_MEDIAMASK)) == 0) { /* Assume no PHY at this address. */ continue; } else + printf( "ok\n" ); break; } _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Re: Marvell Kirkwood 6281 mge1 interfaceOn 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) _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Re: Marvell Kirkwood 6281 mge1 interfaceHi,
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@...:/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) > > freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Re: Marvell Kirkwood 6281 mge1 interfaceHi,
I have built a linux kernel with some debug code and found out that the base address for the second phy is not at 0x09 but at 0x18. Actually it's in the config files, but I wasn't looking for an extra configuration for this board before. I think this would require a patch to mge_miibus_readreg(), because it's a different mapping. Is that correct? I will do a quick patch on monday to test it. Are there other files that have to be patched, Rafal? Matthias _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
|
|
Marvell MV6281 OpenRD client mge1Hi,
I have changed the PHY address for mge1 to 0x18 in the code, and the second PHY is now correctly detected. I can ifconfig the interface and I am able to receive packets. I am not able to send packets yet. If I ping mge1 over the network tcpdump reports the ARP requests and it reports the ARP replies as well. The replies do not reach the cable though. (They aren't sent to mge0 either). I haven't yet found out, where the packets get lost, they seem to pass mge_start_locked() correctly. I will check the register settings. Matthias Am Freitag 06 November 2009 14:35:55 schrieb Matthias Reyelt: > Hi, > > I have built a linux kernel with some debug code and found out that the base > address for the second phy is not at 0x09 but at 0x18. Actually it's in the > config files, but I wasn't looking for an extra configuration for this board > before. > > I think this would require a patch to mge_miibus_readreg(), because it's a > different mapping. Is that correct? > > I will do a quick patch on monday to test it. Are there other files that > to be patched, Rafal? > > Matthias > > -- Dr.-Ing. Matthias Reyelt Master Software Designer Brunel GmbH Bereich Communications Daimlerring 9 31135 Hildesheim Tel: +49 5121 1760 805 Fax: +49 5121 1760 999 email: Matthias.Reyelt@... Internet: www.brunel.de Hauptsitz: Airport City, Hermann-Köhl-Str. 1, 28199 Bremen Amtsgericht Bremen HRB 16935 General Manager: Johan Arie van Barneveld _______________________________________________ freebsd-arm@... mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arm To unsubscribe, send any mail to "freebsd-arm-unsubscribe@..." |
| Free embeddable forum powered by Nabble | Forum Help |