Rockchip RK3188 I2C driver

Mark Brown broonie at kernel.org
Tue Apr 15 10:55:04 PDT 2014


On Tue, Apr 15, 2014 at 07:25:28PM +0200, Heiko Stübner wrote:

> Looking at the grf-handling of your i2c-driver [0] reminded me, that I'm 
> generally not sure how we should handle these registers. All of them use what 
> recently always got called a hiword-mask, with the upper 16 bit indicating 
> which lower 16 bit get changed.

> So while the

> 	regmap_write(grf, 4, BIT(11 + bus_idx) | BIT(27 + bus_idx));

> will most likely get the desired result at least once, I'm not sure how this 
> interacts with the caching regmap implements [and regmap in general], as the 
> bit(27 + bus_idx) is not a real value bit and will always read 0.

Can you be more specific what the wire format is here please?  The above
sounds like you're saying that the register value contains 32 bits, the
top 16 being essentially an extension of the register field and the last
16 bits being a value but that just sounds like 16+n bit registers and
16 bit data so presumably isn't what you mean.  Is there a datasheet
somewhere?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140415/7cfbc363/attachment.sig>


More information about the linux-arm-kernel mailing list