diff --git a/drivers/i2c/busses/i2c-at91-core.c b/drivers/i2c/busses/i2c-at91-core.c
index 05ad3bc3578a..4d484e231371 100644
--- a/drivers/i2c/busses/i2c-at91-core.c
+++ b/drivers/i2c/busses/i2c-at91-core.c
@@ -62,28 +62,28 @@ void at91_init_twi_bus(struct at91_twi_dev *dev)
 		at91_init_twi_bus_master(dev);
 }
 
-static struct at91_twi_pdata at91rm9200_config = {
+static const struct at91_twi_pdata at91rm9200_config = {
 	.clk_max_div = 5,
 	.clk_offset = 3,
 	.has_unre_flag = true,
 };
 
-static struct at91_twi_pdata at91sam9261_config = {
+static const struct at91_twi_pdata at91sam9261_config = {
 	.clk_max_div = 5,
 	.clk_offset = 4,
 };
 
-static struct at91_twi_pdata at91sam9260_config = {
+static const struct at91_twi_pdata at91sam9260_config = {
 	.clk_max_div = 7,
 	.clk_offset = 4,
 };
 
-static struct at91_twi_pdata at91sam9g20_config = {
+static const struct at91_twi_pdata at91sam9g20_config = {
 	.clk_max_div = 7,
 	.clk_offset = 4,
 };
 
-static struct at91_twi_pdata at91sam9g10_config = {
+static const struct at91_twi_pdata at91sam9g10_config = {
 	.clk_max_div = 7,
 	.clk_offset = 4,
 };
@@ -110,19 +110,19 @@ static const struct platform_device_id at91_twi_devtypes[] = {
 };
 
 #if defined(CONFIG_OF)
-static struct at91_twi_pdata at91sam9x5_config = {
+static const struct at91_twi_pdata at91sam9x5_config = {
 	.clk_max_div = 7,
 	.clk_offset = 4,
 };
 
-static struct at91_twi_pdata sama5d4_config = {
+static const struct at91_twi_pdata sama5d4_config = {
 	.clk_max_div = 7,
 	.clk_offset = 4,
 	.has_hold_field = true,
 	.has_dig_filtr = true,
 };
 
-static struct at91_twi_pdata sama5d2_config = {
+static const struct at91_twi_pdata sama5d2_config = {
 	.clk_max_div = 7,
 	.clk_offset = 3,
 	.has_unre_flag = true,
@@ -134,7 +134,7 @@ static struct at91_twi_pdata sama5d2_config = {
 	.has_clear_cmd = false,	/* due to errata, CLEAR cmd is not working */
 };
 
-static struct at91_twi_pdata sam9x60_config = {
+static const struct at91_twi_pdata sam9x60_config = {
 	.clk_max_div = 7,
 	.clk_offset = 3,
 	.has_unre_flag = true,
@@ -181,7 +181,7 @@ static const struct of_device_id atmel_twi_dt_ids[] = {
 MODULE_DEVICE_TABLE(of, atmel_twi_dt_ids);
 #endif
 
-static struct at91_twi_pdata *at91_twi_get_driver_data(
+static const struct at91_twi_pdata *at91_twi_get_driver_data(
 					struct platform_device *pdev)
 {
 	if (pdev->dev.of_node) {
@@ -189,9 +189,9 @@ static struct at91_twi_pdata *at91_twi_get_driver_data(
 		match = of_match_node(atmel_twi_dt_ids, pdev->dev.of_node);
 		if (!match)
 			return NULL;
-		return (struct at91_twi_pdata *)match->data;
+		return match->data;
 	}
-	return (struct at91_twi_pdata *) platform_get_device_id(pdev)->driver_data;
+	return (const void *) platform_get_device_id(pdev)->driver_data;
 }
 
 static int at91_twi_probe(struct platform_device *pdev)
diff --git a/drivers/i2c/busses/i2c-at91-master.c b/drivers/i2c/busses/i2c-at91-master.c
index c0c35785a0dc..0434aabb66fe 100644
--- a/drivers/i2c/busses/i2c-at91-master.c
+++ b/drivers/i2c/busses/i2c-at91-master.c
@@ -32,7 +32,7 @@
 
 void at91_init_twi_bus_master(struct at91_twi_dev *dev)
 {
-	struct at91_twi_pdata *pdata = dev->pdata;
+	const struct at91_twi_pdata *pdata = dev->pdata;
 	u32 filtr = 0;
 
 	/* FIFO should be enabled immediately after the software reset */
@@ -67,7 +67,7 @@ void at91_init_twi_bus_master(struct at91_twi_dev *dev)
 static void at91_calc_twi_clock(struct at91_twi_dev *dev)
 {
 	int ckdiv, cdiv, div, hold = 0, filter_width = 0;
-	struct at91_twi_pdata *pdata = dev->pdata;
+	const struct at91_twi_pdata *pdata = dev->pdata;
 	int offset = pdata->clk_offset;
 	int max_ckdiv = pdata->clk_max_div;
 	struct i2c_timings timings, *t = &timings;
diff --git a/drivers/i2c/busses/i2c-at91.h b/drivers/i2c/busses/i2c-at91.h
index 942e9c3973bb..f0c80b89e502 100644
--- a/drivers/i2c/busses/i2c-at91.h
+++ b/drivers/i2c/busses/i2c-at91.h
@@ -147,7 +147,7 @@ struct at91_twi_dev {
 	unsigned transfer_status;
 	struct i2c_adapter adapter;
 	unsigned twi_cwgr_reg;
-	struct at91_twi_pdata *pdata;
+	const struct at91_twi_pdata *pdata;
 	bool use_dma;
 	bool use_alt_cmd;
 	bool recv_len_abort;
