diff options
author | Shubhrajyoti D <shubhrajyoti@ti.com> | 2012-11-05 17:53:36 +0530 |
---|---|---|
committer | Wolfram Sang <w.sang@pengutronix.de> | 2012-11-14 17:44:38 +0100 |
commit | 47dcd0161a0b37bf0299473585fc5030d3f45b64 (patch) | |
tree | 433bf454fd29ba3d480ca9edd96527c4a2bf0ba3 /Documentation/wimax | |
parent | 2d4b4520a5eaed6701b0c9f7540c8fd99a26e449 (diff) | |
download | talos-op-linux-47dcd0161a0b37bf0299473585fc5030d3f45b64.tar.gz talos-op-linux-47dcd0161a0b37bf0299473585fc5030d3f45b64.zip |
i2c: omap: Fix the revision register read
The revision register on OMAP4 is a 16-bit lo and a 16-bit
hi. Currently the driver reads only the lower 8-bits.
Fix the same by preventing the truncating of the rev register
for OMAP4.
Also use the scheme bit ie bit-14 of the hi register to know if it
is OMAP_I2C_IP_VERSION_2.
On platforms previous to OMAP4 the offset 0x04 is IE register whose
bit-14 reset value is 0, the code uses the same to its advantage.
Also since the omap_i2c_read_reg uses reg_map_ip_* a raw_readw is done
to fetch the revision register.
The dev->regs is populated after reading the rev_hi. A NULL check
has been added in the resume handler to prevent the access before
the setting of the regs.
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Diffstat (limited to 'Documentation/wimax')
0 files changed, 0 insertions, 0 deletions