Hi, On 03/24/2014 03:06 PM, Maxime Ripard wrote: > On Tue, Mar 11, 2014 at 12:00:14PM +0100, Hans de Goede wrote: >>> On Tue, Mar 11, 2014 at 11:16:16AM +0100, Hans de Goede wrote: >>>>> There's still some subtleties I don't get yet, but the more I >>>>> think about this, the more I feel like we'll have to write our own >>>>> bus :( >>>> >>>> So on the bus things are different then with i2c, that does not mean >>>> we cannot still pretend it is i2c to upper layers in the kernel. >>> >>> The fact that it's not having any ACK, nor any address is kind of a >>> show stopper. For all we now, we could just as much pretend it's SPI :) >> >> According to: >> https://github.com/oliv3r/u-boot-sunxi/commit/52b8454fb8951e95da76b3d9ba82461adab5ee7f >> >> It does have a device address, and if I read your previous mail >> correct, there is an ack. > > I'm not sure about what this is actually about, but the protocol > description clearly shows that there is no address sent over the bus. > > However, I think what happens is that it starts as an I2C bus, and > that a write to this register actually switch the PMIC from I2C to > P2WI mode, hence why it needs an address. > > And there is an ACK, but at the end of the transfer, not between each > byte like on I2C. > > >>> Plus, a lot of devices can actually be plugged onto several different >>> buses, and have driver that add a small layer to access registers >>> depending on which bus they're loaded from. >>> >>> We could very well imagine having to use regmap for the i2c part, and >>> p2wi bus calls for the A31's case. >> >> This actually sounds like something which using a regmap would make >> easier to do. > > Indeed. > >>>> And if we try and fail we can always define our own bus for this >>>> later. >>> >>> You can still ask the i2c maintainer, but I'm afraid I know his >>> answer. >> >> As said before I think we first need to learn more about how this >> bus works before we can make a call one way or the other. > > What's missing from my previous mail?
Nothing, in the mean time I've taken a look at the i2c-regmap code and that actually is quite small. So I've come around and I agree that making this its own bus from day 1 is the best thing to do. Regards, Hans -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.