diff --git a/boards/arm/sam_e70_xplained/Kconfig.defconfig b/boards/arm/sam_e70_xplained/Kconfig.defconfig
index 4f06db6..b0b105d 100644
--- a/boards/arm/sam_e70_xplained/Kconfig.defconfig
+++ b/boards/arm/sam_e70_xplained/Kconfig.defconfig
@@ -39,7 +39,7 @@
 config ETH_SAM_GMAC_MAC_I2C_EEPROM
 	bool
 	select I2C
-	select TWIHS_SAM
+	select I2C_SAM_TWIHS
 	select I2C_0
 
 config I2C_0_DEFAULT_CFG
diff --git a/drivers/i2c/CMakeLists.txt b/drivers/i2c/CMakeLists.txt
index 8f8fb67..9b25bad 100644
--- a/drivers/i2c/CMakeLists.txt
+++ b/drivers/i2c/CMakeLists.txt
@@ -8,6 +8,7 @@
 zephyr_sources_ifdef(CONFIG_I2C_QMSI		i2c_qmsi.c)
 zephyr_sources_ifdef(CONFIG_I2C_QMSI_SS		i2c_qmsi_ss.c)
 zephyr_sources_ifdef(CONFIG_I2C_SAM_TWI     i2c_sam_twi.c)
+zephyr_sources_ifdef(CONFIG_I2C_SAM_TWIHS	i2c_sam_twihs.c)
 zephyr_sources_ifdef(CONFIG_I2C_SBCON		i2c_sbcon.c)
 
 zephyr_sources_ifdef(CONFIG_I2C_STM32_V1
@@ -18,6 +19,5 @@
 	i2c_ll_stm32_v2.c
 	i2c_ll_stm32.c
 	)
-zephyr_sources_ifdef(CONFIG_TWIHS_SAM		twihs_sam.c)
 
 zephyr_sources_ifdef(CONFIG_USERSPACE   i2c_handlers.c)
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 56edce3..1c96cca 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -56,7 +56,7 @@
 	  Says y to enable additional options to enable support
 	  for individual controllers.
 
-config TWIHS_SAM
+config I2C_SAM_TWIHS
 	bool "Atmel SAM (TWIHS) I2C driver"
 	depends on SOC_FAMILY_SAM
 	default n
diff --git a/drivers/i2c/twihs_sam.c b/drivers/i2c/i2c_sam_twihs.c
similarity index 78%
rename from drivers/i2c/twihs_sam.c
rename to drivers/i2c/i2c_sam_twihs.c
index db7a493..b3c2dd8 100644
--- a/drivers/i2c/twihs_sam.c
+++ b/drivers/i2c/i2c_sam_twihs.c
@@ -18,7 +18,7 @@
 #include <soc.h>
 #include <i2c.h>
 
-#define SYS_LOG_DOMAIN "dev/twihs_sam"
+#define SYS_LOG_DOMAIN "dev/i2c_sam_twihs"
 #define SYS_LOG_LEVEL CONFIG_SYS_LOG_I2C_LEVEL
 #include <logging/sys_log.h>
 
@@ -32,7 +32,7 @@
 #define CKDIV_MAX                          7
 
 /* Device constant configuration parameters */
-struct twihs_sam_dev_cfg {
+struct i2c_sam_twihs_dev_cfg {
 	Twihs *regs;
 	void (*irq_config)(void);
 	u32_t mode_config;
@@ -56,16 +56,16 @@
 };
 
 /* Device run time data */
-struct twihs_sam_dev_data {
+struct i2c_sam_twihs_dev_data {
 	struct k_sem sem;
 	struct twihs_msg msg;
 };
 
 #define DEV_NAME(dev) ((dev)->config->name)
 #define DEV_CFG(dev) \
-	((const struct twihs_sam_dev_cfg *const)(dev)->config->config_info)
+	((const struct i2c_sam_twihs_dev_cfg *const)(dev)->config->config_info)
 #define DEV_DATA(dev) \
-	((struct twihs_sam_dev_data *const)(dev)->driver_data)
+	((struct i2c_sam_twihs_dev_data *const)(dev)->driver_data)
 
 static int i2c_clk_set(Twihs *const twihs, u32_t speed)
 {
@@ -92,16 +92,16 @@
 		return -EIO;
 	}
 
-	/* Set TWI clock duty cycle to 50% */
+	/* Set I2C bus clock duty cycle to 50% */
 	twihs->TWIHS_CWGR = TWIHS_CWGR_CLDIV(cl_div) | TWIHS_CWGR_CHDIV(cl_div)
 			    | TWIHS_CWGR_CKDIV(ck_div);
 
 	return 0;
 }
 
-static int twihs_sam_configure(struct device *dev, u32_t config)
+static int i2c_sam_twihs_configure(struct device *dev, u32_t config)
 {
-	const struct twihs_sam_dev_cfg *const dev_cfg = DEV_CFG(dev);
+	const struct i2c_sam_twihs_dev_cfg *const dev_cfg = DEV_CFG(dev);
 	Twihs *const twihs = dev_cfg->regs;
 	u32_t bitrate;
 	int ret;
@@ -175,11 +175,11 @@
 	twihs->TWIHS_CR = TWIHS_CR_START | twihs_cr_stop;
 }
 
-static int twihs_sam_transfer(struct device *dev, struct i2c_msg *msgs,
+static int i2c_sam_twihs_transfer(struct device *dev, struct i2c_msg *msgs,
 			      u8_t num_msgs, u16_t addr)
 {
-	const struct twihs_sam_dev_cfg *const dev_cfg = DEV_CFG(dev);
-	struct twihs_sam_dev_data *const dev_data = DEV_DATA(dev);
+	const struct i2c_sam_twihs_dev_cfg *const dev_cfg = DEV_CFG(dev);
+	struct i2c_sam_twihs_dev_data *const dev_data = DEV_DATA(dev);
 	Twihs *const twihs = dev_cfg->regs;
 
 	__ASSERT_NO_MSG(msgs);
@@ -216,11 +216,11 @@
 	return 0;
 }
 
-static void twihs_sam_isr(void *arg)
+static void i2c_sam_twihs_isr(void *arg)
 {
 	struct device *dev = (struct device *)arg;
-	const struct twihs_sam_dev_cfg *const dev_cfg = DEV_CFG(dev);
-	struct twihs_sam_dev_data *const dev_data = DEV_DATA(dev);
+	const struct i2c_sam_twihs_dev_cfg *const dev_cfg = DEV_CFG(dev);
+	struct i2c_sam_twihs_dev_data *const dev_data = DEV_DATA(dev);
 	Twihs *const twihs = dev_cfg->regs;
 	struct twihs_msg *msg = &dev_data->msg;
 	u32_t isr_status;
@@ -240,7 +240,7 @@
 		msg->buf[msg->idx++] = twihs->TWIHS_RHR;
 
 		if (msg->idx == msg->len - 1) {
-			/* Send a STOP condition on the TWI */
+			/* Send STOP condition */
 			twihs->TWIHS_CR = TWIHS_CR_STOP;
 		}
 	}
@@ -249,7 +249,7 @@
 	if (isr_status & TWIHS_SR_TXRDY) {
 		if (msg->idx == msg->len) {
 			if (msg->flags & I2C_MSG_STOP) {
-				/* Send a STOP condition on the TWI */
+				/* Send STOP condition */
 				twihs->TWIHS_CR = TWIHS_CR_STOP;
 				/* Disable Transmit Ready interrupt */
 				twihs->TWIHS_IDR = TWIHS_IDR_TXRDY;
@@ -276,10 +276,10 @@
 	k_sem_give(&dev_data->sem);
 }
 
-static int twihs_sam_initialize(struct device *dev)
+static int i2c_sam_twihs_initialize(struct device *dev)
 {
-	const struct twihs_sam_dev_cfg *const dev_cfg = DEV_CFG(dev);
-	struct twihs_sam_dev_data *const dev_data = DEV_DATA(dev);
+	const struct i2c_sam_twihs_dev_cfg *const dev_cfg = DEV_CFG(dev);
+	struct i2c_sam_twihs_dev_data *const dev_data = DEV_DATA(dev);
 	Twihs *const twihs = dev_cfg->regs;
 	int ret;
 
@@ -295,10 +295,10 @@
 	/* Enable module's clock */
 	soc_pmc_peripheral_enable(dev_cfg->periph_id);
 
-	/* Reset TWI module */
+	/* Reset the module */
 	twihs->TWIHS_CR = TWIHS_CR_SWRST;
 
-	ret = twihs_sam_configure(dev, dev_cfg->mode_config);
+	ret = i2c_sam_twihs_configure(dev, dev_cfg->mode_config);
 	if (ret < 0) {
 		SYS_LOG_ERR("Failed to initialize %s device", DEV_NAME(dev));
 		return ret;
@@ -312,9 +312,9 @@
 	return 0;
 }
 
-static const struct i2c_driver_api twihs_sam_driver_api = {
-	.configure = twihs_sam_configure,
-	.transfer = twihs_sam_transfer,
+static const struct i2c_driver_api i2c_sam_twihs_driver_api = {
+	.configure = i2c_sam_twihs_configure,
+	.transfer = i2c_sam_twihs_transfer,
 };
 
 /* I2C0 */
@@ -324,13 +324,13 @@
 
 static void i2c0_sam_irq_config(void)
 {
-	IRQ_CONNECT(TWIHS0_IRQn, CONFIG_I2C_0_IRQ_PRI, twihs_sam_isr,
+	IRQ_CONNECT(TWIHS0_IRQn, CONFIG_I2C_0_IRQ_PRI, i2c_sam_twihs_isr,
 		    DEVICE_GET(i2c0_sam), 0);
 }
 
 static const struct soc_gpio_pin pins_twihs0[] = PINS_TWIHS0;
 
-static const struct twihs_sam_dev_cfg i2c0_sam_config = {
+static const struct i2c_sam_twihs_dev_cfg i2c0_sam_config = {
 	.regs = TWIHS0,
 	.irq_config = i2c0_sam_irq_config,
 	.periph_id = ID_TWIHS0,
@@ -340,11 +340,11 @@
 	.mode_config = CONFIG_I2C_0_DEFAULT_CFG,
 };
 
-static struct twihs_sam_dev_data i2c0_sam_data;
+static struct i2c_sam_twihs_dev_data i2c0_sam_data;
 
-DEVICE_AND_API_INIT(i2c0_sam, CONFIG_I2C_0_NAME, &twihs_sam_initialize,
+DEVICE_AND_API_INIT(i2c0_sam, CONFIG_I2C_0_NAME, &i2c_sam_twihs_initialize,
 		    &i2c0_sam_data, &i2c0_sam_config, POST_KERNEL,
-		    CONFIG_I2C_INIT_PRIORITY, &twihs_sam_driver_api);
+		    CONFIG_I2C_INIT_PRIORITY, &i2c_sam_twihs_driver_api);
 #endif
 
 /* I2C1 */
@@ -354,13 +354,13 @@
 
 static void i2c1_sam_irq_config(void)
 {
-	IRQ_CONNECT(TWIHS1_IRQn, CONFIG_I2C_1_IRQ_PRI, twihs_sam_isr,
+	IRQ_CONNECT(TWIHS1_IRQn, CONFIG_I2C_1_IRQ_PRI, i2c_sam_twihs_isr,
 		    DEVICE_GET(i2c1_sam), 0);
 }
 
 static const struct soc_gpio_pin pins_twihs1[] = PINS_TWIHS1;
 
-static const struct twihs_sam_dev_cfg i2c1_sam_config = {
+static const struct i2c_sam_twihs_dev_cfg i2c1_sam_config = {
 	.regs = TWIHS1,
 	.irq_config = i2c1_sam_irq_config,
 	.periph_id = ID_TWIHS1,
@@ -370,11 +370,11 @@
 	.mode_config = CONFIG_I2C_1_DEFAULT_CFG,
 };
 
-static struct twihs_sam_dev_data i2c1_sam_data;
+static struct i2c_sam_twihs_dev_data i2c1_sam_data;
 
-DEVICE_AND_API_INIT(i2c1_sam, CONFIG_I2C_1_NAME, &twihs_sam_initialize,
+DEVICE_AND_API_INIT(i2c1_sam, CONFIG_I2C_1_NAME, &i2c_sam_twihs_initialize,
 		    &i2c1_sam_data, &i2c1_sam_config, POST_KERNEL,
-		    CONFIG_I2C_INIT_PRIORITY, &twihs_sam_driver_api);
+		    CONFIG_I2C_INIT_PRIORITY, &i2c_sam_twihs_driver_api);
 #endif
 
 /* I2C2 */
@@ -384,13 +384,13 @@
 
 static void i2c2_sam_irq_config(void)
 {
-	IRQ_CONNECT(TWIHS2_IRQn, CONFIG_I2C_2_IRQ_PRI, twihs_sam_isr,
+	IRQ_CONNECT(TWIHS2_IRQn, CONFIG_I2C_2_IRQ_PRI, i2c_sam_twihs_isr,
 		    DEVICE_GET(i2c2_sam), 0);
 }
 
 static const struct soc_gpio_pin pins_twihs2[] = PINS_TWIHS2;
 
-static const struct twihs_sam_dev_cfg i2c2_sam_config = {
+static const struct i2c_sam_twihs_dev_cfg i2c2_sam_config = {
 	.regs = TWIHS2,
 	.irq_config = i2c2_sam_irq_config,
 	.periph_id = ID_TWIHS2,
@@ -400,9 +400,9 @@
 	.mode_config = CONFIG_I2C_2_DEFAULT_CFG,
 };
 
-static struct twihs_sam_dev_data i2c2_sam_data;
+static struct i2c_sam_twihs_dev_data i2c2_sam_data;
 
-DEVICE_AND_API_INIT(i2c2_sam, CONFIG_I2C_2_NAME, &twihs_sam_initialize,
+DEVICE_AND_API_INIT(i2c2_sam, CONFIG_I2C_2_NAME, &i2c_sam_twihs_initialize,
 		    &i2c2_sam_data, &i2c2_sam_config, POST_KERNEL,
-		    CONFIG_I2C_INIT_PRIORITY, &twihs_sam_driver_api);
+		    CONFIG_I2C_INIT_PRIORITY, &i2c_sam_twihs_driver_api);
 #endif
