[U-Boot-Users] FW: PPC405EP ethernet problems
Stalder, Reto
reto.stalder at schmid-telecom.ch
Tue Jun 20 11:19:14 CEST 2006
Hi,
<snip1>
> Forgot this one: Debian also tends to use some beta versions of the
> "make" tool which are obviously very broken. Make sure to use only
> stable versions.
</snip1>
<snip2>
> Is it possible that there is any chace that you get an enetInt just
> after the first irq_install_handler? Can you put a printf at the
> beginning of the entInt?
</snip2>
First of all a big thank you to Matthias and Wolfgang for their answers!
I've put some printf statements into enetInt and associated functions
and tested the code with CONFIG_NET_MULTI enabled and disabled. As
Matthias suspected an enetInt is fired just after the first
irq_install_handler. The console output of both configurations is
inserted below.
For both configurations:
- The 'mtdcr (uicer, mfdcr (uicer) | (0x80000000 >> i)' statement in
irq_install_handler is the last instruction, before enetInt is entered.
- As soon as enetInt returns, it re-enters.
But:
- For CONFIG_NET_MULTI defined the problem occurs already while
starting. In contrast I get the U-Boot prompt, if it is not defined.
- For CONFIG_NET_MULTI defined, there is _NO_ printf output in
enet_init, which seems very strange to me (see console output below).
Do the console output and my observations ring any bells? Do you have
ideas where the problem could lie and what else I could try to solve it?
Thank you very much,
Reto
Without CONFIG_NET_MULTI configured:
------------------------------------
=> ping 1.2.3.4
NetLoop: calling eth_halt()
NetLoop: returned from eth_halt()
NetLoop: calling eth_init()
eth_init: calling ppc_4xx_eth_initialize()
ppc_4xx_eth_initialize: calling irq_install_handler(MS...)
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
<-- here should come a "irq_install_handler: mtdcr done"
printout
enetInt: entered function
enetInt: calling mal_err
MAL error occured.... ISR = 0 UIC = = 200000 MAL_DEF = 2e0000
MAL_ERR= 260000
mal_err: calling eth_init again
eth_init: calling ppc_4xx_eth_initialize()
ppc_4xx_eth_initialize: calling irq_install_handler(MS...)
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 10 ==> 007e55ec
ppc_4xx_eth_initialize: returned from irq_install_handler(MS...)
ppc_4xx_eth_initialize: calling irq_install_handler(MTE...)
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 11 ==> 007e55ec
ppc_4xx_eth_initialize: returned from irq_install_handler(MTE...)
ppc_4xx_eth_initialize: calling irq_install_handler(MRE...)
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 12 ==> 007e55ec
ppc_4xx_eth_initialize: returned from irq_install_handler(MRE...)
ppc_4xx_eth_initialize: calling irq_install_handler(TXDE...)
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 13 ==> 007e55ec
ppc_4xx_eth_initialize: returned from
irq_install_handler(TXDE...)
ppc_4xx_eth_initialize: calling irq_install_handler(RXDE...)
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 14 ==> 007e55ec
ppc_4xx_eth_initialize: returned from
irq_install_handler(RXDE...)
ppc_4xx_eth_initialize: calling miiphy_register()
miiphy_register: non unique device name 'ppc_4xx_eth0'
ppc_4xx_eth_initialize: returned from miiphy_register()
eth_init: returned from ppc_4xx_eth_initialize()
eth_init: calling _STATIC_ ppc_4xx_eth_init()
About preceeding transfer (eth0):
- Sent packet number 0
- Received packet number 0
- Handled packet number 0
ENET Speed is 100 Mbps - FULL duplex connection
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 15 ==> 007e55ec
eth_init: returned from ppc_4xx_eth_init()
mal_err: returned from eth_init
enetInt: returned from mal_err
enetInt: entered function
enetInt: calling mal_err
MAL error occured.... ISR = c0100010 UIC = = 150000 MAL_DEF =
2e0000 MAL_ERR= 260000
mal_err: calling eth_init again
eth_init: calling ppc_4xx_eth_initialize()
ppc_4xx_eth_initialize: calling miiphy_register()
miiphy_register: non unique device name 'ppc_4xx_eth0'
ppc_4xx_eth_initialize: returned from miiphy_register()
eth_init: returned from ppc_4xx_eth_initialize()
eth_init: calling ppc_4xx_eth_init()
About preceeding transfer (eth0):
- Sent packet number 0
- Received packet number 0
- Handled packet number 0
ENET Speed is 100 Mbps - FULL duplex connection
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 15 ==> 007e55ec
eth_init: returned from ppc_4xx_eth_init()
mal_err: returned from eth_init
enetInt: returned from mal_err
enetInt: entered function
enetInt: calling mal_err
MAL error occured.... ISR = c0100010 UIC = = 150000 MAL_DEF =
2e0000 MAL_ERR= 260000
mal_err: calling eth_init again
eth_init: calling ppc_4xx_eth_initialize()
ppc_4xx_eth_initialize: calling miiphy_register()
miiphy_register: non unique device name 'ppc_4xx_eth0'
ppc_4xx_eth_initialize: returned from miiphy_register()
eth_init: returned from ppc_4xx_eth_initialize()
eth_init: calling ppc_4xx_eth_init()
About preceeding transfer (eth0):
- Sent packet number 0
- Received packet number 0
- Handled packet number 0
ENET Speed is 100 Mbps - FULL duplex connection
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
irq_install_handler: mtdcr... done
Install interrupt for vector 15 ==> 007e55ec
eth_init: returned from ppc_4xx_eth_init()
mal_err: returned from eth_init
enetInt: returned from mal_err
enetInt: entered function
enetInt: calling mal_err
With CONFIG_NET_MULTI configured:
---------------------------------
U-Boot 1.1.4 (Jun 20 2006 - 10:06:31)
CPU: AMCC PowerPC 405EP Rev. B at 133.333 MHz (PLB=133, OPB=66, EBC=33
MHz)
I2C boot EEPROM disabled
16 kB I-Cache 16 kB D-Cache
DRAM: 8 MB
FLASH: 16 MB
In: serial
Out: serial
Err: serial
Net:
ppc_4xx_eth_initialize: calling irq_install_handler(MS...)
irq_install_handler: executing mtdcr (uicer, mfdcr (uicer) |
(0x80000000 >> i));
<-- here should come a "irq_install_handler: mtdcr done"
printout
enetInt: entered function
enetInt: calling mal_err
MAL error occured.... ISR = 0 UIC = = 200000 MAL_DEF = 2e0000
MAL_ERR= 260000
mal_err: calling eth_init again
<-- where is all the printf output from eth_init?
mal_err: returned from eth_init
enetInt: returned from mal_err
enetInt: entered function
enetInt: calling mal_err
MAL error occured.... ISR = 0 UIC = = 200000 MAL_DEF = 2e0000
MAL_ERR= 260000
mal_err: calling eth_init again
<-- where is all the printf output from eth_init?
mal_err: returned from eth_init
enetInt: returned from mal_err
enetInt: entered function
enetInt: calling mal_err
More information about the U-Boot
mailing list