RE: Tegra I2C slave address patches

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

 



Marc Dietrich wrote at Thursday, May 12, 2011 1:09 PM:
> Hi Stephen,
> 
> Am Donnerstag 12 Mai 2011, 20:15:08 schrieb Stephen Warren:
> > Wei,
> >
> > I'm trying to consolidate the two Tegra I2C slave mode patches we posted
> > to the mailing lists:
> >
> > Yours: http://www.spinics.net/lists/linux-i2c/msg05437.html
> > Mine: http://www.spinics.net/lists/linux-i2c/msg05464.html
> >
> > I had some questions:
> >
> > 1) Why does your patch enable I2C_SL_CNFG_NACK. According to the Tegra
> > documentation, this prevents the slave I2C controller from ACKing any
> > transfers. Doesn't this prevent the slave functionality from working at
> > all?
> >
> > 2) Your patch sets up the slave_addr registers based on platform data.
> > However, I don't see any code in i2c-tegra.c to actually act as a slave
> > device. Hence, it seems pointless to configure the slave address.
> >
> > Are those two things bug workarounds or something?
> >
> > I know that Marc said he'd like to see the slave address configuration
> > code merged, since the AC100 uses it. However, I'm having a hard time
> > seeing how it'll make any difference to the driver right now; it seems
> > if/when slave mode is actually implemented, the slave_addr setup should
> > be part of that patch.
> 
> you are right, slave implementation requires at least an additional ISR. As we
> don't have any tegra documentation, it will probably take a little longer to
> implement it correctly. Maybe I hoped that there are some other devices using
> it. Because there seem to be none, it's ok from my side to drop that part. If we
> ever get something hacked together, I'm going resubmit it.
> 
> Btw, I was a little bit "shocked" that seaboard addedd the slave_addr (0xfc) to
> the board file, which looks like all ports (except dvc) became slaves now. Is
> this a special kind of address, because it is the last possible one?

Interesting. For reference, you're talking about the following in
http://git.chromium.org/chromiumos/third_party/kernel.git chromeos-2.6.38

  1eb243925afed4ef70a04f632f5288e320607ac0
  CHROMIUM: tegra: seaboard: i2c address for new i2c slaves
  New i2c slave should be configured with a non-zero i2c address.
  Configure i2c slave with an i2c address assigned by platform
  data for an i2c dev.
  Assign 0xFC as i2c slave address for all new i2c slaves.

I'll have to let Wei comment on that; he wrote the change. It certainly
sounds like it's setting an unused slave address as some kind of bug
workaround.

-- 
nvpublic

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux