This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: HAL_PCI_ALLOC_BASE_MEMORY question ??


"mohanlal jangir" <mohanlaljangir@hotmail.com> writes:

> Hi Nick,
> 
> > Try changing HAL_PCI_ALLOC_BASE_MEMORY in plf_io.h to 0x20000. Then
> > rebuild and reinstall RedBoot. The application will then see a
> > non-zero BAR during initialization.
> I think you are very close to solve my problem. After changing
> HAL_PCI_ALLOC_BASE_MEMORY to 0x20000 82559 SelfTest is passing and also I do
> see device eth0 configured. Unfortunately packets are still not going out
> nor coming in. I have a question in this regard. Why did you referr to
> change to 0x200000? My PCI region starts from 0x40000000. Is it related to
> this?

Addresses seen by the PCI bus are different to the addresses seen from
the CPU. In the case of the integrator PCI address 0 is mapped to
physical address 0x40000000.

I chose 0x20000 simply because in the original address allocation
BAR[2] was set to 0x20000, indicating that BAR[0] needed a 128k
window. So I just moved the allocation start point up 128k to keep it
all aligned.

> 
> Also now I see BAR[0] to initialized to the address
> HAL_PCI_ALLOC_BASE_MEMORY.
> **** ETHERNET DRIVER DUMP WITH DEBUG ENABLED ****
>  BAR[0]    0x00020000 / probed size 0x00000000 / CPU addr 0x40020000
>  memory address = 0x40020000
>  I/O address = 0x60004000

Those look like the right addresses.

> 
> 82559 Self Test
>   General self-test: passed.
>   Serial sub-system self-test: passed.
>   Internal registers self-test: passed.
>   ROM checksum self-test: passed (3258698E).
> eeprom data bits 6 (ioaddr 6000400e)
>

And this all looks happy too.

To find out what is happening with your packets, try enabling more of
the debug options at the top of if_i82559.c either by setting
CYGDBG_DEVS_ETH_INTEL_I82559_CHATTER to a value > 1 or just add a
define for DEBUG_82559. This will give you messages as packets come
and go. If your network is reasonably busy you should at least see any
broadcasts arriving.


-- 
Nick Garnett                    eCos Kernel Architect
http://www.ecoscentric.com      The eCos and RedBoot experts


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]