fix(nxp-sfp): shift gpio register offsets by 2

These registers are 32-bit registers. When accessing them using
pointers, when should explicitely divide the fixed offsets
GPDIR_REG_OFFSET and GPDAT_REG_OFFSET by 4 to land on the correct
address. While set_gpio_bit() did this correctly, clr_gpio_bit() did
not. Even though GPDIR_REG_OFFSET = 0x0, shift it as well for
consistency with GPDAT_REG_OFFSET.

Change-Id: I5b8787d8424f83462ad4bb0f2141370ca28eaf34
Signed-off-by: Antonin Godard <antoningodard@pm.me>
diff --git a/drivers/nxp/gpio/nxp_gpio.c b/drivers/nxp/gpio/nxp_gpio.c
index 28c9db9..b477b79 100644
--- a/drivers/nxp/gpio/nxp_gpio.c
+++ b/drivers/nxp/gpio/nxp_gpio.c
@@ -28,8 +28,8 @@
 		ERROR("GPIO is not initialized.\n");
 		return GPIO_FAILURE;
 	}
-
-	gpdir = gpio_base_addr + GPDIR_REG_OFFSET;
+	/* Divide by 4 since we're operating on 32-bit pointer addresses. */
+	gpdir = gpio_base_addr + (GPDIR_REG_OFFSET >> 2);
 	gpdat = gpio_base_addr + (GPDAT_REG_OFFSET >> 2);
 
 	/*
@@ -67,8 +67,9 @@
 		return GPIO_FAILURE;
 	}
 
-	gpdir = gpio_base_addr + GPDIR_REG_OFFSET;
-	gpdat = gpio_base_addr + GPDAT_REG_OFFSET;
+	/* Divide by 4 since we're operating on 32-bit pointer addresses. */
+	gpdir = gpio_base_addr + (GPDIR_REG_OFFSET >> 2);
+	gpdat = gpio_base_addr + (GPDAT_REG_OFFSET >> 2);
 
 	/*
 	 * Reset the corresponding bit in direction and data register