Re: Confusion about memory mapped I/O

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 15, 2009 at 01:49:46AM -0700, Benoit Donnette wrote:
> > Hi,
> >
> > I am trying to understand the magic behind memory mapped I/O in linux
> > device drivers. I understand the concepts behind setting up memory
> > mapped I/O but I am confused about how the data (once written into
> > memory) gets transferred onto the bus and onto the peripheral.
> 
> "Memory mapped I/O" means taht through the specified address, mapped in
> the address space, you actually send data to the device.
> 
> It means you map I/O buffers on the device into addressable memory. After
> that, everything you write at these addresses will go to the device as set
> up, not to memory.
> 

Ok that definitely makes more sense, everything is written directly
to the registers on the device not main memory.

> >
> > E.g. many network drivers use memory mapped I/O and this makes it quite
> > generic but how do you specify the bus in all this?
> 
> All the memory mapped I/O setup does the job.
> 

I guess this is the part I am getting confused. For example ethoc.c sets
up everything as memory mapped IO. I need to hookup the actual ethoc
device to the processor. This will be done using SPI. So how does the
'memory mapped I/O setup' know to use SPI to read/write the data.

> >
> > Thanks for any help,
> > Amit
> >

Thanks for the quick respone.


_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux