Prev: vfs: don't hold s_umount over close_bdev_exclusive() call
Next: dynamic_debug: allow to set dynamic debug flags right at module load time
From: linux_newbie good on 27 May 2010 01:10 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Haojian Zhuang on 27 May 2010 02:00 On Thu, May 27, 2010 at 1:05 PM, linux_newbie good <mylinux.list(a)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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Jack on 28 May 2010 01:10
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(a)gmail.com> wrote: > On Thu, May 27, 2010 at 1:05 PM, linux_newbie good > <mylinux.list(a)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 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |