diff options
author | Leilei Shang <shangll@marvell.com> | 2013-06-07 14:38:17 +0800 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2013-08-07 16:58:07 +0200 |
commit | 9d3dda5c0d092d6bc9911bf24de81350d47c6be6 (patch) | |
tree | 529b7d061971e6954807f74410b81e9fd5c85016 /include/linux/i2c | |
parent | f480adaf1b7130ad43760f627b762f771fcfc5f5 (diff) | |
download | linux-9d3dda5c0d092d6bc9911bf24de81350d47c6be6.tar.gz linux-9d3dda5c0d092d6bc9911bf24de81350d47c6be6.tar.bz2 linux-9d3dda5c0d092d6bc9911bf24de81350d47c6be6.zip |
i2c: pxa: enable high speed mode for i2c bus
To enter high speed mode, following steps should be done:
1. When running in high speed mode, i2c clock rate is different
from standard mode. Clock rate must be set according to
specification first.
2. When i2c controller sends a master code and wins arbitration,
high speed mode is entered.
If you want to enable high speed mode, the following members of
platform data should be set to proper value:
1. "high_mode" should be set to "1".
2. "master_code" should be set to "8'b 0000_1xxx"(x is 0 or 1).
If no master_code is set, set to default value 0xe.
3. "rate" should be set according to specification.
Signed-off-by: Leilei Shang <shangll@marvell.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'include/linux/i2c')
-rw-r--r-- | include/linux/i2c/pxa-i2c.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/i2c/pxa-i2c.h b/include/linux/i2c/pxa-i2c.h index 1a9f65e6ec0f..53aab243cbd8 100644 --- a/include/linux/i2c/pxa-i2c.h +++ b/include/linux/i2c/pxa-i2c.h @@ -67,6 +67,9 @@ struct i2c_pxa_platform_data { unsigned int class; unsigned int use_pio :1; unsigned int fast_mode :1; + unsigned int high_mode:1; + unsigned char master_code; + unsigned long rate; }; extern void pxa_set_i2c_info(struct i2c_pxa_platform_data *info); |