[ECOS] Where set SMSC-LAN91C111 registers for availing interrupt ?

ariga masahiro ariga@link-lab.co.jp
Wed Aug 29 06:25:00 GMT 2007


Hi everyone,

Please help me next problem.

My target-board uses SMSC-LAN91C111 LAN chip.
I'm still struggling to connect(i.e.light LINK-LED) using net template.

Andrew wrote,
> The net template will use interrupt driven Ethernet drivers. Only the
> redboot template uses polled io. So you don't need to change anything
> like CYGPKG_IO_ETH_DRIVERS_STAND_ALONE.
Very Good.

> It is better to enable CYGPKG_NET_BUILD_HW_TESTS and then just do
I enabled CYGPKG_NET_BUILD_HW_TESTS.

According to SMSC's FAQ,in order to enable interrupt, PHY Register 19's MINT 
bit should be set to '0',
and MAC Bank 2 Offset D Interrupt Mask Register's  MDINT should be set to 
'1'.

I traced program but appeares to me,never set these register bits.
I list trace logs in both cases of RedBoot(StandAlone) and net 
template(interrupt).

In case of RedBoot,
\opt\ecos\ecos-2.0\packages\io\eth\v2_0\src\stand_alone\eth_drv.c
eth_drv_ini()
eth_drv_start()
lan91cxx_start(), and here do PHY initialization.

In case of net template,
\opt\ecos\ecos-2.0\packages\io\eth\v2_0\src\net\eth_drv.c
eth_drv_ini()
after that nowhere set PHY Register or Interrupt Mask Register.

I wonder I made mistakes in configuration,
or there really is not setting Registers code.

I also wonder if there is not PHY register or Interrupt Mask Register
setting code,is it possible to correctly run ethernet using interrupt ?
Is there any technical tricks to enable interrupt ?

Please enlighten me.

Also if there should be regisiter setting code,
do you think I should amend it ?

I mean,
Could you recommend where and how I should insert them ?

Masahiro Ariga


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list