aboutsummaryrefslogtreecommitdiff
path: root/drivers/i2c/s3c24x0_i2c.h
diff options
context:
space:
mode:
authorNaveen Krishna Ch <ch.naveen@samsung.com>2013-10-15 16:02:44 +0530
committerHeiko Schocher <hs@denx.de>2013-10-17 07:20:26 +0200
commit296a461dcab70c4d18e51389a6f020b4ddfe88af (patch)
treef0556ea1e7291e3776dd329812c4c50847a6b7f2 /drivers/i2c/s3c24x0_i2c.h
parent940dd1624255baac928dbac5dc2e3147477ba02f (diff)
downloadu-boot-296a461dcab70c4d18e51389a6f020b4ddfe88af.zip
u-boot-296a461dcab70c4d18e51389a6f020b4ddfe88af.tar.gz
u-boot-296a461dcab70c4d18e51389a6f020b4ddfe88af.tar.bz2
i2c: s3c24xx: add hsi2c controller support
Add support for hsi2c controller available on exynos5420. Note: driver currently supports only fast speed mode 100kbps Change-Id: I02555b1dc8f4ac21c50aa5158179768563c92f43 Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Signed-off-by: R. Chandrasekar <rc.sekar@samsung.com>
Diffstat (limited to 'drivers/i2c/s3c24x0_i2c.h')
-rw-r--r--drivers/i2c/s3c24x0_i2c.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/drivers/i2c/s3c24x0_i2c.h b/drivers/i2c/s3c24x0_i2c.h
index 882af62..1ae73d2 100644
--- a/drivers/i2c/s3c24x0_i2c.h
+++ b/drivers/i2c/s3c24x0_i2c.h
@@ -15,11 +15,48 @@ struct s3c24x0_i2c {
u32 iiclc;
};
+struct exynos5_hsi2c {
+ u32 usi_ctl;
+ u32 usi_fifo_ctl;
+ u32 usi_trailing_ctl;
+ u32 usi_clk_ctl;
+ u32 usi_clk_slot;
+ u32 spi_ctl;
+ u32 uart_ctl;
+ u32 res1;
+ u32 usi_int_en;
+ u32 usi_int_stat;
+ u32 usi_modem_stat;
+ u32 usi_error_stat;
+ u32 usi_fifo_stat;
+ u32 usi_txdata;
+ u32 usi_rxdata;
+ u32 res2;
+ u32 usi_conf;
+ u32 usi_auto_conf;
+ u32 usi_timeout;
+ u32 usi_manual_cmd;
+ u32 usi_trans_status;
+ u32 usi_timing_hs1;
+ u32 usi_timing_hs2;
+ u32 usi_timing_hs3;
+ u32 usi_timing_fs1;
+ u32 usi_timing_fs2;
+ u32 usi_timing_fs3;
+ u32 usi_timing_sla;
+ u32 i2c_addr;
+};
+
struct s3c24x0_i2c_bus {
bool active; /* port is active and available */
int node; /* device tree node */
int bus_num; /* i2c bus number */
struct s3c24x0_i2c *regs;
+ struct exynos5_hsi2c *hsregs;
+ int is_highspeed; /* High speed type, rather than I2C */
+ unsigned clock_frequency;
int id;
+ unsigned clk_cycle;
+ unsigned clk_div;
};
#endif /* _S3C24X0_I2C_H */