diff --git a/drivers/block/mxc_ata.c b/drivers/block/mxc_ata.c
index f22f4f4..35bc656 100644
--- a/drivers/block/mxc_ata.c
+++ b/drivers/block/mxc_ata.c
@@ -96,7 +96,6 @@
 #define	REG2OFF(reg)	((((uint32_t)reg) & 0x3) * 8)
 static void set_ata_bus_timing(unsigned char mode)
 {
-	uint32_t val;
 	uint32_t T = 1000000000 / mxc_get_clock(MXC_IPG_CLK);
 
 	struct mxc_ata_config_regs *ata_regs;
@@ -106,22 +105,19 @@
 		return;
 
 	/* Write TIME_OFF/ON/1/2W */
-	val =	(3 << REG2OFF(&ata_regs->time_off)) |
-		(3 << REG2OFF(&ata_regs->time_on)) |
-		(((pio_t1[mode] + T) / T) << REG2OFF(&ata_regs->time_1)) |
-		(((pio_t2_8[mode] + T) / T) << REG2OFF(&ata_regs->time_2w));
-	writel(val, &ata_regs->time_off);
+	writeb(3, &ata_regs->time_off);
+	writeb(3, &ata_regs->time_on);
+	writeb((pio_t1[mode] + T) / T, &ata_regs->time_1);
+	writeb((pio_t2_8[mode] + T) / T, &ata_regs->time_2w);
 
 	/* Write TIME_2R/AX/RDX/4 */
-	val =	(((pio_t2_8[mode] + T) / T) << REG2OFF(&ata_regs->time_2r)) |
-		(((pio_tA[mode] + T) / T + 2) << REG2OFF(&ata_regs->time_ax)) |
-		(1 << REG2OFF(&ata_regs->time_pio_rdx)) |
-		(((pio_t4[mode] + T) / T) << REG2OFF(&ata_regs->time_4));
-	writel(val, &ata_regs->time_2r);
+	writeb((pio_t2_8[mode] + T) / T, &ata_regs->time_2r);
+	writeb((pio_tA[mode] + T) / T + 2, &ata_regs->time_ax);
+	writeb(1, &ata_regs->time_pio_rdx);
+	writeb((pio_t4[mode] + T) / T, &ata_regs->time_4);
 
 	/* Write TIME_9 ; the rest of timing registers is irrelevant for PIO */
-	val =	(((pio_t9[mode] + T) / T) << REG2OFF(&ata_regs->time_9));
-	writel(val, &ata_regs->time_9);
+	writeb((pio_t9[mode] + T) / T, &ata_regs->time_9);
 }
 
 int ide_preinit(void)
