diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-06-02 05:22:16 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-07-05 05:30:08 -0400 |
commit | 570ba440ed041d540af932a06f34202d4c16c56c (patch) | |
tree | 9c3f2dc8a54cf94fe1b70286612c667ca8f0cddb /board/cm-bf527 | |
parent | 3f390e15a719900b5e51f13b262ddb2e67349bc2 (diff) | |
download | u-boot-imx-570ba440ed041d540af932a06f34202d4c16c56c.zip u-boot-imx-570ba440ed041d540af932a06f34202d4c16c56c.tar.gz u-boot-imx-570ba440ed041d540af932a06f34202d4c16c56c.tar.bz2 |
Blackfin: convert gpio flash logic to common gpio layer
Use the common gpio layer rather than bang on MMRs directly.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'board/cm-bf527')
-rw-r--r-- | board/cm-bf527/gpio_cfi_flash.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/board/cm-bf527/gpio_cfi_flash.c b/board/cm-bf527/gpio_cfi_flash.c index 7167680..f8ccc07 100644 --- a/board/cm-bf527/gpio_cfi_flash.c +++ b/board/cm-bf527/gpio_cfi_flash.c @@ -8,12 +8,13 @@ #include <common.h> #include <asm/blackfin.h> +#include <asm/gpio.h> #include <asm/io.h> #include "gpio_cfi_flash.h" -#define GPIO_PIN_1 PH9 +#define GPIO_PIN_1 GPIO_PH9 #define GPIO_MASK_1 (1 << 21) -#define GPIO_PIN_2 PG11 +#define GPIO_PIN_2 GPIO_PG11 #define GPIO_MASK_2 (1 << 22) #define GPIO_MASK (GPIO_MASK_1 | GPIO_MASK_2) @@ -21,16 +22,10 @@ void *gpio_cfi_flash_swizzle(void *vaddr) { unsigned long addr = (unsigned long)vaddr; - if (addr & GPIO_MASK_1) - bfin_write_PORTHIO_SET(GPIO_PIN_1); - else - bfin_write_PORTHIO_CLEAR(GPIO_PIN_1); + gpio_set_value(GPIO_PIN_1, addr & GPIO_MASK_1); #ifdef GPIO_MASK_2 - if (addr & GPIO_MASK_2) - bfin_write_PORTGIO_SET(GPIO_PIN_2); - else - bfin_write_PORTGIO_CLEAR(GPIO_PIN_2); + gpio_set_value(GPIO_PIN_2, addr & GPIO_MASK_2); #endif SSYNC(); @@ -57,7 +52,9 @@ MAKE_FLASH(64, q) /* flash_write64() flash_read64() */ void gpio_cfi_flash_init(void) { - bfin_write_PORTHIO_DIR(bfin_read_PORTHIO_DIR() | GPIO_PIN_1); - bfin_write_PORTGIO_DIR(bfin_read_PORTGIO_DIR() | GPIO_PIN_2); + gpio_request(GPIO_PIN_1, "gpio_cfi_flash"); +#ifdef GPIO_MASK_2 + gpio_request(GPIO_PIN_2, "gpio_cfi_flash"); +#endif gpio_cfi_flash_swizzle((void *)CONFIG_SYS_FLASH_BASE); } |