[U-Boot-Users] Please explain this code in drivers/pci.c

Rune Torgersen runet at innovsys.com
Mon May 19 17:19:30 CEST 2003

>Subject: [U-Boot-Users] Please explain this code in drivers/pci.c

>The value of bar_response is 0xffff8008 which looks good.  This gives bar
size of 
>0x8000 which also looks good.  The value of mem is initially 0x90000000.
>(mem -  1) = 0x8fffffff and (bar_size - 1) = 0x7fff).  When these are or'd
one gets 
>0x8fffffff and adding 1 gives 0x90000000.  This result is that the card is
given 4 
>address bases all at 0x90000000.

If the card wants 4 different memory regiuons, I assume it has 4 BAR
registers? Each BAR must have the correct base address, so you have to add
the size of the last region to the memory pointer before writing the
address to the next BAR

More information about the U-Boot mailing list