ioremap64 and remap_page_range in 440GP

2003-01-01 Thread Vishwanath

Hi All,

In PPC Linux, to bring a particular IO page onto Linux addressing space, we
use ioremap64(). Is my understanding correct? If I want to map this remapped
address on user space, I have to use  remap_page_range() of kernel in my
driver.  remap_page_range() takes a 32-bit physical address as argument. But
in 440GP, all addresses are 36-bit with respect to processor. Is there any
64-bit equivalent of remap_page_range(). If it exists, how to use it?

Please help me out since I am stuck while mapping an external peripheral
registers onto user space.

Thanks in advance.

Regards,
vishwa

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





Device Accessing Problem in 440GP

2002-12-02 Thread Vishwanath

Hi All,

I am working on IBM 440GP based proprietry board using MVL 2.1 linux. I have
a device siiting on the EBC at 0x10010 and I want to access it from the
user space. I use mmap call of my driver to do that. I have not initialized
the device. I have set the access parameters and controller registers of EBC
appropriately to access the device.

But when I make ioremap() call using,

 ioremap64(0x10010, 0x2000),

the function returns a  valid pointer. But when I do a sample write and
read, I am not getting correct values. While I was debigging, I couldn't
find the TLB entry for the real address.

When I try to access the returned mmap() pointer, kernel says ,
do_wp_page: bogus page at address  (page )

VM: killing process xxx

Does anyone know what could be the reason?

1. Do I  have to initialize the device in setup_arch function ?
2. Do I have to explicitly create a TLB entry for the device ?

Hoping to get a response. I am stuck in the middle.

Thanks and regards,
Vishwa

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





I2C Device Register Read problem in 440GP

2002-11-21 Thread Vishwanath

Hi all,

I have written custom driver for accessing a device sitting on the I2C bus
of IBM 440GP. I am operating in the master mode of I2C controller of 440GP.
I was able to write a particular value onto the device register. But when I
try to read the value back, it is returning 0. I have disabled the
interrupts.

When I was debugging, I found that data was arriving on the I2C bus. But
before I could read the Master Data Buffer Register of 440 GP, the register
is getting cleared. Does anyone no why?

Pls help me. I am stuck.

Thanks and regards,
vishwa


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





Monta Vista Linux Supporting Floating Point operations

2002-10-23 Thread Vishwanath

Hi All,

I am working on 440GP using Monta Vista Linux 2.1. I need floating point
operation support (for eg. function sqrt() for calculating square root of
given float variable) on Linux. I didn't find math emualtion on the Linux.
Can anyone tell me how can I get floating point support ?

Thanks in advance.

Regards,
Vishwanath


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





IBM 440GP IIC driver

2002-08-30 Thread Vishwanath

Hi All,

I am working on 440 GP board. I2C controller of 440 GP supports both 7-bit
and 10-bit addressing. But Linux supports only 7-bit addressing as of now. I
have a device which has i2c sub-addresses more than 128. So I need 10-bit
addressing of I2C controller. Apart from loading the higher bits of address
in High Address Register, is there any special thing to be taken care of,
while modifying the driver for 10-bit addressing ?

Thanks and regards,
Vishwanath


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





IBM 440GP 36-bit addressing

2002-08-24 Thread Vishwanath

Hi All,

Thanks for your information. I have few more doubts.

By going through the code, I understood that ioremap64() is used for mapping
the 36-bit real address onto 32-bit effective address space. How this
mapping information is conveyed to user applications ?

If I am writing assembly instructions to access 440GP registers, do I have
to pass 36-bit real address or 32-bit effective address ?

Physical address map of 440GP provides information only about Real
addresses.  How can I convert these real addresses onto effective addresses
? Do I have to write a TLB entry regarding my addresses ?

Thanks and Regards,
Vishwa


- Original Message -
From: "Hollis Blanchard" <[EMAIL PROTECTED]>
To: 
Sent: Friday, August 23, 2002 8:30 PM
Subject: Re: IBM 440GP 36-bit addressing


>
> On Fri, 2002-08-23 at 10:00, Vishwanath wrote:
> >
> > I am new to PPC Linux. I am working on IBM 440 GP board. I am using
> > MontaVista Linux source code. I didn't understand how 36-bit addressing
is
> > taken care in this code. If an application has to access the a memory
> > location in SDRAM of 440 GP or its internal peripheral registers,
whether it
> > has to pass 36-bit address or normal 32-bit address.
>
> It's a 36-bit real address space, but 32-bit effective (aka "virtual").
> Applications, which run entirely in effective address space, have no
> reason to think about such things and require no modification.
>
> The kernel has to care about the real address space, mostly when you
> want to ioremap (all the on-chip peripheral addresses are higher than
> 4GB as I recall) a 36-bit real address to a 32-bit effective address so
> you can use it in the kernel (which also runs in effective mode).
>
> -Hollis
>
>
>
>


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





IBM 440GP 36-bit addressing

2002-08-23 Thread Vishwanath

Hi,

I am new to PPC Linux. I am working on IBM 440 GP board. I am using
MontaVista Linux source code. I didn't understand how 36-bit addressing is
taken care in this code. If an application has to access the a memory
location in SDRAM of 440 GP or its internal peripheral registers, whether it
has to pass 36-bit address or normal 32-bit address.

I am afraid my doubt is silly one. But still I am totally confused.

Hope to get reply soon.

Thanks and regards,
Vishwanath


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/