summaryrefslogtreecommitdiff
path: root/board/cm-bf537e/gpio_cfi_flash.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/cm-bf537e/gpio_cfi_flash.c')
-rw-r--r--board/cm-bf537e/gpio_cfi_flash.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/board/cm-bf537e/gpio_cfi_flash.c b/board/cm-bf537e/gpio_cfi_flash.c
index ab6af81..1075cc4 100644
--- a/board/cm-bf537e/gpio_cfi_flash.c
+++ b/board/cm-bf537e/gpio_cfi_flash.c
@@ -22,7 +22,12 @@
#else
#define GPIO_MASK_2 (1 << 22)
#endif
-#define GPIO_MASK (GPIO_MASK_1 | GPIO_MASK_2)
+#ifndef GPIO_PIN_3
+#define GPIO_MASK_3 (0)
+#else
+#define GPIO_MASK_3 (1 << 23)
+#endif
+#define GPIO_MASK (GPIO_MASK_1 | GPIO_MASK_2 | GPIO_MASK_3)
void *gpio_cfi_flash_swizzle(void *vaddr)
{
@@ -34,6 +39,10 @@ void *gpio_cfi_flash_swizzle(void *vaddr)
gpio_set_value(GPIO_PIN_2, addr & GPIO_MASK_2);
#endif
+#ifdef GPIO_PIN_3
+ gpio_set_value(GPIO_PIN_3, addr & GPIO_MASK_3);
+#endif
+
SSYNC();
udelay(1);
@@ -65,4 +74,8 @@ void gpio_cfi_flash_init(void)
gpio_request(GPIO_PIN_2, "gpio_cfi_flash");
gpio_direction_output(GPIO_PIN_2, 0);
#endif
+#ifdef GPIO_PIN_3
+ gpio_request(GPIO_PIN_3, "gpio_cfi_flash");
+ gpio_direction_output(GPIO_PIN_3, 0);
+#endif
}