[U-Boot-Users] 83xx address translation: is it really necessary?

Kumar Gala galak at kernel.crashing.org
Tue Aug 8 01:29:45 CEST 2006


On Aug 7, 2006, at 5:44 PM, Timur Tabi wrote:

> Kumar Gala wrote:
>
>> Is the physical memory map the same on the ITX as it is on the  
>> 8349EMDS?
>
> Beats me.
>
> The EMDS has this for the BATs:
>
> #define CFG_PCI1_MEM_BASE	0x80000000
> #define CFG_PCI1_MEM_PHYS	CFG_PCI1_MEM_BASE
> #define CFG_PCI1_MEM_SIZE	0x10000000	/* 256M */
> #define CFG_PCI1_MMIO_BASE	0x90000000
> #define CFG_PCI1_MMIO_PHYS	CFG_PCI1_MMIO_BASE
> #define CFG_PCI1_MMIO_SIZE	0x10000000	/* 256M */
> #define CFG_PCI1_IO_BASE	0x00000000
> #define CFG_PCI1_IO_PHYS	0xE2000000
> #define CFG_PCI1_IO_SIZE	0x00100000	/* 1M */
>
> #define CFG_PCI2_MEM_BASE	0xA0000000
> #define CFG_PCI2_MEM_PHYS	CFG_PCI2_MEM_BASE
> #define CFG_PCI2_MEM_SIZE	0x10000000	/* 256M */
> #define CFG_PCI2_MMIO_BASE	0xB0000000
> #define CFG_PCI2_MMIO_PHYS	CFG_PCI2_MMIO_BASE
> #define CFG_PCI2_MMIO_SIZE	0x10000000	/* 256M */
> #define CFG_PCI2_IO_BASE	0x00000000
> #define CFG_PCI2_IO_PHYS	0xE2100000
> #define CFG_PCI2_IO_SIZE	0x00100000	/* 1M */
>
> Question #1: Why is CFG_PCI1_MEM_PHYS the same as  
> CFG_PCI1_MEM_BASE, but CFG_PCI1_IO_PHYS is not the same as  
> CFG_PCI1_IO_BASE?

Ask me this at lunch one day, its easier to explain in person.

> I'm porting the ITX support from an older U-Boot (1.1.3) that was  
> written by another group.  This is what they have:
>
> #define CFG_PCI1_MEM_BASE	0x80000000
> #define CFG_PCI1_MEM_PHYS	CFG_PCI1_MEM_BASE
> #define CFG_PCI1_MEM_SIZE	0x20000000	/* 512M */
> #define CFG_PCI1_IO_BASE	0x00000000
> #define CFG_PCI1_IO_PHYS	0xe2000000
> #define CFG_PCI1_IO_SIZE	0x1000000	/* 16M */
>
> #define CFG_PCI2_MEM_BASE	0xA0000000
> #define CFG_PCI2_MEM_PHYS	CFG_PCI2_MEM_BASE
> #define CFG_PCI2_MEM_SIZE	0x20000000	/* 512M */
> #define CFG_PCI2_IO_BASE	0x00000000
> #define CFG_PCI2_IO_PHYS	0xe3000000
> #define CFG_PCI2_IO_SIZE	0x1000000	/* 16M */
>
> As you can see, some numbers are different, and some are missing.   
> I had to guess what value to use for CFG_PCI1_MMIO_BASE, etc.

Its because I reworked the memory map to support both PCI Memory  
(prefetchable) and MMIO (non-prefetchable) windows.

> I don't know why the PCI sizes are larger on the ITX than on the  
> EMDS.  I have no documentation that tells me what these numbers  
> should be.

I'd rework the ITX to match the current EMDS. Also, does the ITX  
actually have PCI2 accessible or connected to anything?

- kumar




More information about the U-Boot mailing list