diff options
author | Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> | 2010-02-01 08:58:22 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-04 13:04:50 -0500 |
commit | e208c447bd728920e4f3d438a706344ea31249b9 (patch) | |
tree | b4984f98ed2f8da0911a23da71e23643da71ed47 /arch/arm/plat-nomadik | |
parent | 8e58ed34d926d89969796a0832ab38381a4c90ed (diff) |
ARM: 5908/1: nomadik: add platform specific i2c configuration
This adds the platform specific i2c configuration
data structures to setup the nomadik/ux500 i2c block.
Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/plat-nomadik')
-rw-r--r-- | arch/arm/plat-nomadik/include/plat/i2c.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/arm/plat-nomadik/include/plat/i2c.h b/arch/arm/plat-nomadik/include/plat/i2c.h new file mode 100644 index 000000000000..1621db67a53d --- /dev/null +++ b/arch/arm/plat-nomadik/include/plat/i2c.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 ST-Ericsson | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2, as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | #ifndef __PLAT_I2C_H | ||
9 | #define __PLAT_I2C_H | ||
10 | |||
11 | enum i2c_freq_mode { | ||
12 | I2C_FREQ_MODE_STANDARD, /* up to 100 Kb/s */ | ||
13 | I2C_FREQ_MODE_FAST, /* up to 400 Kb/s */ | ||
14 | I2C_FREQ_MODE_FAST_PLUS, /* up to 1 Mb/s */ | ||
15 | I2C_FREQ_MODE_HIGH_SPEED /* up to 3.4 Mb/s */ | ||
16 | }; | ||
17 | |||
18 | /** | ||
19 | * struct nmk_i2c_controller - client specific controller configuration | ||
20 | * @clk_freq: clock frequency for the operation mode | ||
21 | * @slsu: Slave data setup time in ns. | ||
22 | * The needed setup time for three modes of operation | ||
23 | * are 250ns, 100ns and 10ns respectively thus leading | ||
24 | * to the values of 14, 6, 2 for a 48 MHz i2c clk | ||
25 | * @tft: Tx FIFO Threshold in bytes | ||
26 | * @rft: Rx FIFO Threshold in bytes | ||
27 | * @sm: speed mode | ||
28 | */ | ||
29 | struct nmk_i2c_controller { | ||
30 | unsigned long clk_freq; | ||
31 | unsigned short slsu; | ||
32 | unsigned char tft; | ||
33 | unsigned char rft; | ||
34 | enum i2c_freq_mode sm; | ||
35 | }; | ||
36 | |||
37 | #endif /* __PLAT_I2C_H */ | ||