Hello everyone,
We are currently trying to get Linux running on our custom Board.
At this point i'm realy exhausted because of the MAC_ENET.
The Kernel Source we are using is intended for the Vybrid and we are just modifing it
to fit our needs. The Bootloader which is loading the Kernel and preparing the clock settings, is our
own source.
On boot the PHY controller is found and the corresponding driver is loaded. Additionaly
i get informed if the ethernet-cable is pluged in. I assume this information are transfered via MDIO.
But at the point where "sending discover..." is issued by BusyBox i cant see any action on the
TXEN Pin(Oscilloscope used).
My question is now, what could be the Problem assuming, that the Kernel code is correct.
//Kernelcode works with the corresponding example board. Based on the fact, that the action i want to see is pure vybrid and not depending on the architekture/board below.
Hi, have you tried to enable the internal MAC loopback to find out whether the issue is in MAC or in PHY?
Regards
Rene
Hello Torben,
We are not in possession of ArmstoneA5 hardware, it is a Vybrid variant we are not currently supporting in our own Vybrid efforts. Given that you are using a completely custom bootloader, this issue could be the result of improper initialization of the hardware there. Is this issue booting your custom bootloader, or the reference U-boot provided by F&S? As we are not supporting this hardware currently, perhaps an F&S engineer can assist karinavalencia?
Thank you,
Timesys Support
rendy can you help here?
reminder
rendy can you help here?
rendy any update?
Hello Torben,
Can you provide details on U-boot version (or is this a completely custom bootloader?), Linux kernel version, and what reference hardware your design is based on?
Can you also provide a boot log?
Thank you,
Timesys Support
Hello Timesys,
The Bootloader is a completely custom Bootloader. We are running Linux Kernel Version 3.0.15 based on the kernel sources for the the armstoneA5 produced by F+S Net.
Linux Kernel wrote:
Linux version 3.0.15 (torben@Torben) (gcc version 4.7.2 (crosstool-NG 1.18.0) ) #230 Wed Apr 22 16:25:23 CEST 2015
CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 128000
free_area_init_node: node 0, pgdat 804890f0, node_mem_map 8b800000
DMA zone: 368 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 46736 pages, LIFO batch:15
Normal zone: 632 pages used for memmap
Normal zone: 80264 pages, LIFO batch:15
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 127000
Kernel command line: root=/dev/mmcblk0p1 rw rootfstype=ext2 console=ttymxc0,115200 mem=500M debug init=/sbin/init
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 500MB = 500MB total
Memory: 502556k/502556k available, 9444k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 - 0xffe00000 ( 184 MB)
vmalloc : 0x9f800000 - 0xf2000000 (1320 MB)
lowmem : 0x80000000 - 0x9f400000 ( 500 MB)
modules : 0x7f000000 - 0x80000000 ( 16 MB)
.init : 0x80008000 - 0x8002d000 ( 148 kB)
.text : 0x8002d000 - 0x80459000 (4272 kB)
.data : 0x8045a000 - 0x80489d20 ( 192 kB)
.bss : 0x80489d44 - 0x804ca7b8 ( 259 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:432
MVF GPIO hardware
sched_clock: 32 bits at 93MHz, resolution 10ns, wraps every 45820ms
Console: colour dummy device 80x30
Calibrating delay loop... 124.31 BogoMIPS (lpj=621568)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
mcf_edma: Initialized successfully
Using UART1 for UART port A (TXD/RXD/RTS/CTS)
Using UART2 for UART port B (TXD/RXD)
Using UART3 for UART port C (TXD/RXD)
Booting on CPU #0 CA5 r0p1 on port #2, 2 CPU(s)
Level 1 cache: I: 32768 Bytes/2 ways, D: 32768 Bytes/4 ways
Level 2 cache: 524288 bytes/8 ways
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02060000, Cache size: 524288 B
IMX usb wakeupx probe. id=0
the wakeup pdata is 0x9e0b8040
IMX usb wakeupx probe. id=1
the wakeup pdata is 0x9e0b8180
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Advanced Linux Sound Architecture Driver Version 1.0.24.
Switching to clocksource pit
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
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 named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Static Power Management for Freescale Vybrid
cpaddr = 9f880000 suspend_iram_base=9f810000 iram_paddr 3f000000
PM driver module loaded
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 981
alg: No test for stdrng (krng)
NET: Registered protocol family 38
cryptodev: driver loaded.
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
fb0: Layer0 fb device registered successfully.
fb1: fb device registered successfully.
fb2: fb device registered successfully.
fb3: fb device registered successfully.
Serial: MVF driver
IMX UART RTS/CTS enabled
IMX UART FIFO enabled
imx-uart.0: ttymxc0 at MMIO 0x40027000 (irq = 93) is a IMX
console [ttymxc0] enabled
IMX UART FIFO enabled
imx-uart.2: ttymxc2 at MMIO 0x40029000 (irq = 95) is a IMX
IMX UART FIFO enabled
imx-uart.3: ttymxc3 at MMIO 0x4002a000 (irq = 96) is a IMX
brd: module loaded
mvf-adc mvf-adc.0: attached adc driver
mvf-adc mvf-adc.1: attached adc driver
FEC Ethernet Driver
fec_enet_mii_bus: probedx
fec_enet_mii_bus: probedx
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
add wake up source irq 107
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 107, io base 0x40034000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 108
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 108, io base 0x400b4000
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci sdhci-esdhc-imx.1: no write-protect pin available!
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA
MVF ASRC registered
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SDHC card at address aaaa
mmcblk0: mmc0:aaaa SU04G 3.69 GiB
caam caam.0: device ID = 0x0a18010000000000
caam caam.0: job rings = 2, qi = 0
mmcblk0: p1
alg: No test for authenc(hmac(md5),cbc(aes)) (authenc-hmac-md5-cbc-aes-caam)
caam caam.0: authenc-hmac-md5-cbc-aes-caam
alg: No test for authenc(hmac(sha1),cbc(aes)) (authenc-hmac-sha1-cbc-aes-caam)
caam caam.0: authenc-hmac-sha1-cbc-aes-caam
alg: No test for authenc(hmac(sha224),cbc(aes)) (authenc-hmac-sha224-cbc-aes-caam)
caam caam.0: authenc-hmac-sha224-cbc-aes-caam
alg: No test for authenc(hmac(sha256),cbc(aes)) (authenc-hmac-sha256-cbc-aes-caam)
caam caam.0: authenc-hmac-sha256-cbc-aes-caam
alg: No test for authenc(hmac(md5),cbc(des3_ede)) (authenc-hmac-md5-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-md5-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha1),cbc(des3_ede)) (authenc-hmac-sha1-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-sha1-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha224),cbc(des3_ede)) (authenc-hmac-sha224-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-sha224-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha256),cbc(des3_ede)) (authenc-hmac-sha256-cbc-des3_ede-caam)
caam caam.0: authenc-hmac-sha256-cbc-des3_ede-caam
alg: No test for authenc(hmac(md5),cbc(des)) (authenc-hmac-md5-cbc-des-caam)
caam caam.0: authenc-hmac-md5-cbc-des-caam
alg: No test for authenc(hmac(sha1),cbc(des)) (authenc-hmac-sha1-cbc-des-caam)
caam caam.0: authenc-hmac-sha1-cbc-des-caam
alg: No test for authenc(hmac(sha224),cbc(des)) (authenc-hmac-sha224-cbc-des-caam)
caam caam.0: authenc-hmac-sha224-cbc-des-caam
alg: No test for authenc(hmac(sha256),cbc(des)) (authenc-hmac-sha256-cbc-des-caam)
caam caam.0: authenc-hmac-sha256-cbc-des-caam
caam caam.0: cbc-aes-caam
caam caam.0: cbc-3des-caam
caam caam.0: cbc-des-caam
platform caam_jr.0: registering rng-caam
platform caam_sm.0: caam_sm_test: 8-byte key test match OK
platform caam_sm.0: caam_sm_test: 16-byte key test match OK
platform caam_sm.0: caam_sm_test: 32-byte key test match OK
platform caam_secvio.0: security violation service handlers armed
ALSA device list:
No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
snvs_rtc snvs_rtc.0: hctosys: 1970-01-01 not accepted as valid date
EXT2-fs (mmcblk0p1): warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem) on device 179:1.
Freeing init memory: 148K
Bad inittab entry at line 22
Bad inittab entry at line 36
Starting logging: OK
Initializing random number generator... EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode referenced: 24215
EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode referenced: 24215
read-only file system detected...done
Starting system message bus: done
Starting network...
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
PHY: 1:00 - Link is Up - 10/Half
Sending discover...
Sending discover...
No lease, failing
eth1: Freescale FEC PHY driver [Davicom DM9161B] (mii_bus:phy_addr=2:00, irq=-1)
PHY: 2:00 - Link is Up - 100/Full
Sending discover...
Sending discover...
No lease, failing
Welcome to Buildroot
buildroot login: root
Password:
#
I know there is still a lot of stuff to do ;-)
As you can see the PHY Chip is correct found and the driver loaded. Attached with my Oscilloscope i can see activity on the MDIO-Pins and also on the RX Pins (PHY to MAC_ENET). But not on the TX Pins as i would expect it when "sending discover".
What i did next i navigated to the xmit function where as far as i can see it, the virtual adress used is correct, based on the previous call of ioremap.
But when triggered (Write to TDAR) no activity on the pin.
Now i'm wondering if i maybe missed some dependencies on the clock settings or something like this.
Best regards Torben
timesyssupport please continue with the follow up.
timesyssupport can you help with this case?