linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mylinux.list@gmail.com
@ 2010-05-27  5:05 linux_newbie good
  2010-05-27  5:55 ` mylinux.list@gmail.com Haojian Zhuang
  0 siblings, 1 reply; 3+ messages in thread
From: linux_newbie good @ 2010-05-27  5:05 UTC (permalink / raw)
  To: linux-kernel

Hi,

My board has a MIPS based Processor and a micro-controller.  The
communication between these two interfaces is through an I2C bus. The
Linux driver for my I2C controller (i mean the one in MIPS processor)
has support for master transmitter and master receiver whereas I could
not find support for slave TX and slave RX modes. Do I need to write
my own functions for slave support? If so, what kind of changes need
to be done, for slave mode support? Is there any other sample driver
which can help ?


Regards,
newbie

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: mylinux.list@gmail.com
  2010-05-27  5:05 mylinux.list@gmail.com linux_newbie good
@ 2010-05-27  5:55 ` Haojian Zhuang
  2010-05-28  5:01   ` mylinux.list@gmail.com Jack
  0 siblings, 1 reply; 3+ messages in thread
From: Haojian Zhuang @ 2010-05-27  5:55 UTC (permalink / raw)
  To: linux_newbie good; +Cc: linux-kernel

On Thu, May 27, 2010 at 1:05 PM, linux_newbie good
<mylinux.list@gmail.com> wrote:
> Hi,
>
> My board has a MIPS based Processor and a micro-controller.  The
> communication between these two interfaces is through an I2C bus. The
> Linux driver for my I2C controller (i mean the one in MIPS processor)
> has support for master transmitter and master receiver whereas I could
> not find support for slave TX and slave RX modes. Do I need to write
> my own functions for slave support? If so, what kind of changes need
> to be done, for slave mode support? Is there any other sample driver
> which can help ?
>
>

Maybe you needn't write a slave I2C driver on MIPS side. It should
based on your system requirement.

I suggest the solution in below may be easier.

++++++++++++++                             ++++++++++++
+ MIPS (Master)  + -----> I2C -----------> + MCU (Slave)  +
+                        +<----GPIO INT <----- +                     +
++++++++++++++                             ++++++++++++

Since MIPS is master, it can read/write data from slave directly.
While MCU want to contact with MIPS, it can trigger INT first. Then
MIPS can query MCU and feed its required.

Perhaps you may not choice this solution. You have to write slave
driver on MIPS side and both master/slave driver on MCU side. You can
refer to $LINUX/drivers/i2c/busses/i2c-pxa.c for reference. i2c-pxa
driver supports both master and slave mode.

Thanks
Haojian

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: mylinux.list@gmail.com
  2010-05-27  5:55 ` mylinux.list@gmail.com Haojian Zhuang
@ 2010-05-28  5:01   ` Jack
  0 siblings, 0 replies; 3+ messages in thread
From: Jack @ 2010-05-28  5:01 UTC (permalink / raw)
  To: Haojian Zhuang; +Cc: linux-kernel

Hi,
Thanks,

First solution needs additional GPIO pins, I have used all the pins.
I'm going with the other solution, writing slave driver on the MIPS side.
The MIPS provides an interrupt vector for the I2C bus.

Regards,
Jack
.


On Thu, May 27, 2010 at 11:25 AM, Haojian Zhuang
<haojian.zhuang@gmail.com> wrote:
> On Thu, May 27, 2010 at 1:05 PM, linux_newbie good
> <mylinux.list@gmail.com> wrote:
>> Hi,
>>
>> My board has a MIPS based Processor and a micro-controller.  The
>> communication between these two interfaces is through an I2C bus. The
>> Linux driver for my I2C controller (i mean the one in MIPS processor)
>> has support for master transmitter and master receiver whereas I could
>> not find support for slave TX and slave RX modes. Do I need to write
>> my own functions for slave support? If so, what kind of changes need
>> to be done, for slave mode support? Is there any other sample driver
>> which can help ?
>>
>>
>
> Maybe you needn't write a slave I2C driver on MIPS side. It should
> based on your system requirement.
>
> I suggest the solution in below may be easier.
>
> ++++++++++++++                             ++++++++++++
> + MIPS (Master)  + -----> I2C -----------> + MCU (Slave)  +
> +                        +<----GPIO INT <----- +                     +
> ++++++++++++++                             ++++++++++++
>
> Since MIPS is master, it can read/write data from slave directly.
> While MCU want to contact with MIPS, it can trigger INT first. Then
> MIPS can query MCU and feed its required.
>
> Perhaps you may not choice this solution. You have to write slave
> driver on MIPS side and both master/slave driver on MCU side. You can
> refer to $LINUX/drivers/i2c/busses/i2c-pxa.c for reference. i2c-pxa
> driver supports both master and slave mode.
>
> Thanks
> Haojian
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-05-28  5:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-27  5:05 mylinux.list@gmail.com linux_newbie good
2010-05-27  5:55 ` mylinux.list@gmail.com Haojian Zhuang
2010-05-28  5:01   ` mylinux.list@gmail.com Jack

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).