CON5 Extension header

fred_from_france
Hello everybody,

I would like to use extension header to driver an FPGA extension.
Because there is 7 addresses bits and 16 data bits, i would like to connect
them in to the fpga.
My questions are :
- how to setup automatically NGS strobes ( how to make partition )
- how to access to this memory range from CE6.0 ?

Thank you for your help
Fred

fred_from_france
Hello !

I will rewrite my question...

I would like to access physical address 0x08000000 with windows CE ( NGS
pins are automatically driven )
How can i write this code under winCE 6.0 ?

Fred

domodom
Hello fred_from_france, 
This topic should answer to your question :
http://www.friendlyarm.net/forum/topic/1004
Don't hesitate to ask if you need further explanations.
Domodom

fred_from_france
Hi domodom,
Thank you for your answer.
I have another question about your GPIO driver :
in the s2440.h header file, we have :

#define IOP_BASE      0xB1600000 // 0x56000000

In comment, we have the real address of the PIO registers.
But what is the 0xB1600000 address ????

Thank you for your help
Fred

domodom
Hello, 
It's a bit embarrassing, because i don't remember what is this file that
doesn't even seem to be used in my driver.
To access to the io port registers, the S3C2440A_BASE_REG_PA_IOPORT address
is used. Its value is defined in the
WINCE600\PLATFORM\MINI2440\SRC\INC\s3c2440a_base_regs.h file and is
0x56000000 (see the Virtual_Alloc() function in the gpio.cpp file)
domodom

fred_from_france
Hello Dom,

I edit all the drivers files of the BSP and a lot of them include this file
( dm9000, backlight, ... ). 
I also make a simple driver for the ADC from your gpio driver, and i
include the s2440.h file, with ADC_BASE value. My driver seems to work
because on adc0, i get the value given by the FriendlyArm sample app.

I follow the tutorial you do for compiling gpio and your driver call this
file ( i have an error if file is not present ... )

I try to print the binary value of these two values, and nothing match...
( i think about a little endian - big endian conversion, but it's not ).

Please have you any other ideas ?
Thank you

Fred

fred_from_france
Hi Domodom,

I finally understand ( i think ;) ) what these addresses are :
For example, the address 0x56000000 is the physical address, and the
virtual address is 0x91600000 : this address is given by
"oemaddrtab_cfg.inc"
If we add the "MEM_UNCACHED_BIT" given in the "oal_memory.inc" ( 0x20000000
), we find the virtual address 0xB1600000.

PA : 0x56000000

VA : 0x91600000
MCB: 0x20000000
-----------------
VA': 0xB1600000

So as conclusion, all the base address in the s2440.h files are virtual
addresses, and not physical address to translate...

I will soon continue my Expansion-con5 driver. I just have to control the
virtual address 0xAC000000 !!!

to be continued !!!
Fred

myid123456
hi fred_from_france

did you manage to develope your Expansion-con5 driver?

I have the same problem and need to access a physical address.

please share your code with me.

thanks alot
saeed
ss.mm@gmx.com