diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index d067897244bafa9fa4ff58065f382249b63094b4..dae3d71d2bbcc7aee289f640e9978d684518846a 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -5,7 +5,7 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-obj-$(CONFIG_BFIN_TWI_I2C) += bfin-twi_i2c.o
+obj-$(CONFIG_SYS_I2C_ADI) += adi_i2c.o
 obj-$(CONFIG_I2C_MV) += mv_i2c.o
 obj-$(CONFIG_PCA9564_I2C) += pca9564_i2c.o
 obj-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
diff --git a/drivers/i2c/bfin-twi_i2c.c b/drivers/i2c/adi_i2c.c
similarity index 98%
rename from drivers/i2c/bfin-twi_i2c.c
rename to drivers/i2c/adi_i2c.c
index cfab064dfad600b400f96b4863c0ab2100a14881..cb740625d2d141d8672bf2f0fae6a7c605687cea 100644
--- a/drivers/i2c/bfin-twi_i2c.c
+++ b/drivers/i2c/adi_i2c.c
@@ -1,7 +1,7 @@
 /*
- * i2c.c - driver for Blackfin on-chip TWI/I2C
+ * i2c.c - driver for ADI TWI/I2C
  *
- * Copyright (c) 2006-2010 Analog Devices Inc.
+ * Copyright (c) 2006-2014 Analog Devices Inc.
  *
  * Licensed under the GPL-2 or later.
  */
@@ -9,9 +9,8 @@
 #include <common.h>
 #include <i2c.h>
 
-#include <asm/blackfin.h>
 #include <asm/clock.h>
-#include <asm/mach-common/bits/twi.h>
+#include <asm/twi.h>
 
 /* Every register is 32bit aligned, but only 16bits in size */
 #define ureg(name) u16 name; u16 __pad_##name;
diff --git a/include/configs/bct-brettl2.h b/include/configs/bct-brettl2.h
index d0828d5f5c107b9bb1aa943f45f80706e333c20a..f0b74d82a35171029d475f468d75ae8bb7abfb99 100644
--- a/include/configs/bct-brettl2.h
+++ b/include/configs/bct-brettl2.h
@@ -122,7 +122,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf518f-ezbrd.h b/include/configs/bf518f-ezbrd.h
index 20f6ed1992f82055736ba4a1f0ecdd7a4986bee3..4df51b9895e8ae981e8a308f7b79b886990a0135 100644
--- a/include/configs/bf518f-ezbrd.h
+++ b/include/configs/bf518f-ezbrd.h
@@ -134,7 +134,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf526-ezbrd.h b/include/configs/bf526-ezbrd.h
index c33d035022843fd3fa5072bd4ace9e5bde7f4dbe..55bfbbec663559aaeb6c48bf217e3a48a87d5581 100644
--- a/include/configs/bf526-ezbrd.h
+++ b/include/configs/bf526-ezbrd.h
@@ -131,7 +131,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf527-ad7160-eval.h b/include/configs/bf527-ad7160-eval.h
index b497f26773808ee598f40b5589e0cd75be69cecd..589c7a5d12e0be48d01fbb9c8b04001821213f52 100644
--- a/include/configs/bf527-ad7160-eval.h
+++ b/include/configs/bf527-ad7160-eval.h
@@ -119,7 +119,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf527-ezkit.h b/include/configs/bf527-ezkit.h
index 0bca53f2a69c7427e2068b5051ea950ff8b40263..0e68952f2aab176e0403b6b2f779075e86a154ec 100644
--- a/include/configs/bf527-ezkit.h
+++ b/include/configs/bf527-ezkit.h
@@ -134,7 +134,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf527-sdp.h b/include/configs/bf527-sdp.h
index 9d43b811e3e9e0fac993ee5fafa8956e10e3d4f2..a3ad7aea7f0a671098836966a4cce421292d5286 100644
--- a/include/configs/bf527-sdp.h
+++ b/include/configs/bf527-sdp.h
@@ -103,7 +103,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf537-minotaur.h b/include/configs/bf537-minotaur.h
index 3bc364ccfdfb32c056b133e73fb1458a1a6b92ed..d94c2df6a170b747625c43beab73c2d00f325faf 100644
--- a/include/configs/bf537-minotaur.h
+++ b/include/configs/bf537-minotaur.h
@@ -121,7 +121,7 @@
 /*
  * I2C settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 #define CONFIG_SYS_I2C_SPEED		50000
 #define CONFIG_SYS_I2C_SLAVE		0
diff --git a/include/configs/bf537-pnav.h b/include/configs/bf537-pnav.h
index ba74a695f88b03d8ab6c06481e8702e452de97b7..6c9a907983d78adf0726a696ab2839a7f6541782 100644
--- a/include/configs/bf537-pnav.h
+++ b/include/configs/bf537-pnav.h
@@ -142,7 +142,7 @@
 /*
  * I2C settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf537-srv1.h b/include/configs/bf537-srv1.h
index 0b723cf934e00b42d5b2dab7a21c32f81810f6dc..a6ceffa2884d094d8db8a1ae4b0c46f4964c8293 100644
--- a/include/configs/bf537-srv1.h
+++ b/include/configs/bf537-srv1.h
@@ -120,7 +120,7 @@
 /*
  * I2C settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 #define CONFIG_SYS_I2C_SPEED		50000
 #define CONFIG_SYS_I2C_SLAVE		0
diff --git a/include/configs/bf537-stamp.h b/include/configs/bf537-stamp.h
index 29f9316067dda1b205d8dc7ac9b0eb04440e5806..7ab644f53114ded3668def82bdcbdaa2173694e0 100644
--- a/include/configs/bf537-stamp.h
+++ b/include/configs/bf537-stamp.h
@@ -128,7 +128,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf538f-ezkit.h b/include/configs/bf538f-ezkit.h
index a65528246d68b15fbbd2c25471f22424cbc698bb..743e193f574b4a469344cb7b8d4a2ce8d7692eb3 100644
--- a/include/configs/bf538f-ezkit.h
+++ b/include/configs/bf538f-ezkit.h
@@ -126,7 +126,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf548-ezkit.h b/include/configs/bf548-ezkit.h
index da5f0294351c0c5f3288d9fc935d17e395ba1af5..6b29d0849308aba23532978cb9e2e066fba199f3 100644
--- a/include/configs/bf548-ezkit.h
+++ b/include/configs/bf548-ezkit.h
@@ -134,7 +134,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/bf609-ezkit.h b/include/configs/bf609-ezkit.h
index 12192ffb5d7d5a227b50936221a9a334619738f7..f02e15550530a1d3aa8d729c3bb2ddd9e0fdbd5e 100644
--- a/include/configs/bf609-ezkit.h
+++ b/include/configs/bf609-ezkit.h
@@ -81,7 +81,7 @@
 #define CONFIG_PHYLIB
 
 /* i2c Settings */
-#define CONFIG_BFIN_TWI_I2C
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C
 
 /*
diff --git a/include/configs/br4.h b/include/configs/br4.h
index 3f240085e3f22b3b7d3d70fb963c7afad84b18e8..13e939fac6250f3b2c39d5c92f5cbd3a4c7f6725 100644
--- a/include/configs/br4.h
+++ b/include/configs/br4.h
@@ -102,7 +102,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C
 
 
diff --git a/include/configs/cm-bf527.h b/include/configs/cm-bf527.h
index f5351ad2643d5c37855d48ab0b42a2aa6e1e77c6..3668903afc839eb323f8e3b2fbc484f5988c416f 100644
--- a/include/configs/cm-bf527.h
+++ b/include/configs/cm-bf527.h
@@ -113,7 +113,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/cm-bf537e.h b/include/configs/cm-bf537e.h
index 1729b44a1bf308d92baa33782f4a11532f30564d..85f5341d03aeffff61290e8c9f8831453857d6aa 100644
--- a/include/configs/cm-bf537e.h
+++ b/include/configs/cm-bf537e.h
@@ -122,7 +122,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/cm-bf537u.h b/include/configs/cm-bf537u.h
index 272aa744a95cc9065d23eac4cf2d2760f77fc09d..5dffd1bf1b7db442d9c775e5b147a933df02acb1 100644
--- a/include/configs/cm-bf537u.h
+++ b/include/configs/cm-bf537u.h
@@ -120,7 +120,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/cm-bf548.h b/include/configs/cm-bf548.h
index 7f27eda416da7ecf3e4a8de60434f798cab8bf0f..13ea0677780f35e5c9226f6e60844fadbca93f13 100644
--- a/include/configs/cm-bf548.h
+++ b/include/configs/cm-bf548.h
@@ -104,7 +104,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/pr1.h b/include/configs/pr1.h
index 0f57e868a5d6d94c0364096204960d99f781c3c8..eb18d6d025607452f80b7654f9a7747c85079d0f 100644
--- a/include/configs/pr1.h
+++ b/include/configs/pr1.h
@@ -102,7 +102,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C
 
 
diff --git a/include/configs/tcm-bf518.h b/include/configs/tcm-bf518.h
index 66730267a33432c10f08321c2a4cfb26781e0b0d..e9bff83b4a62885db7048ffb50642c0be32e5ffb 100644
--- a/include/configs/tcm-bf518.h
+++ b/include/configs/tcm-bf518.h
@@ -103,7 +103,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1
 
 
diff --git a/include/configs/tcm-bf537.h b/include/configs/tcm-bf537.h
index 999834351f3404ab3d0b4a8801163fe9509a7fa4..caf884726e1e2e60829e782f6d9ae71f68ba6ba0 100644
--- a/include/configs/tcm-bf537.h
+++ b/include/configs/tcm-bf537.h
@@ -122,7 +122,7 @@
 /*
  * I2C Settings
  */
-#define CONFIG_BFIN_TWI_I2C	1
+#define CONFIG_SYS_I2C_ADI
 #define CONFIG_HARD_I2C		1