Commit 570ba440ed041d540af932a06f34202d4c16c56c
1 parent
3f390e15a7
Exists in
master
and in
55 other branches
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>
Showing 4 changed files with 34 additions and 43 deletions Side-by-side Diff
board/cm-bf527/gpio_cfi_flash.c
... | ... | @@ -8,12 +8,13 @@ |
8 | 8 | |
9 | 9 | #include <common.h> |
10 | 10 | #include <asm/blackfin.h> |
11 | +#include <asm/gpio.h> | |
11 | 12 | #include <asm/io.h> |
12 | 13 | #include "gpio_cfi_flash.h" |
13 | 14 | |
14 | -#define GPIO_PIN_1 PH9 | |
15 | +#define GPIO_PIN_1 GPIO_PH9 | |
15 | 16 | #define GPIO_MASK_1 (1 << 21) |
16 | -#define GPIO_PIN_2 PG11 | |
17 | +#define GPIO_PIN_2 GPIO_PG11 | |
17 | 18 | #define GPIO_MASK_2 (1 << 22) |
18 | 19 | #define GPIO_MASK (GPIO_MASK_1 | GPIO_MASK_2) |
19 | 20 | |
20 | 21 | |
... | ... | @@ -21,16 +22,10 @@ |
21 | 22 | { |
22 | 23 | unsigned long addr = (unsigned long)vaddr; |
23 | 24 | |
24 | - if (addr & GPIO_MASK_1) | |
25 | - bfin_write_PORTHIO_SET(GPIO_PIN_1); | |
26 | - else | |
27 | - bfin_write_PORTHIO_CLEAR(GPIO_PIN_1); | |
25 | + gpio_set_value(GPIO_PIN_1, addr & GPIO_MASK_1); | |
28 | 26 | |
29 | 27 | #ifdef GPIO_MASK_2 |
30 | - if (addr & GPIO_MASK_2) | |
31 | - bfin_write_PORTGIO_SET(GPIO_PIN_2); | |
32 | - else | |
33 | - bfin_write_PORTGIO_CLEAR(GPIO_PIN_2); | |
28 | + gpio_set_value(GPIO_PIN_2, addr & GPIO_MASK_2); | |
34 | 29 | #endif |
35 | 30 | |
36 | 31 | SSYNC(); |
... | ... | @@ -57,8 +52,10 @@ |
57 | 52 | |
58 | 53 | void gpio_cfi_flash_init(void) |
59 | 54 | { |
60 | - bfin_write_PORTHIO_DIR(bfin_read_PORTHIO_DIR() | GPIO_PIN_1); | |
61 | - bfin_write_PORTGIO_DIR(bfin_read_PORTGIO_DIR() | GPIO_PIN_2); | |
55 | + gpio_request(GPIO_PIN_1, "gpio_cfi_flash"); | |
56 | +#ifdef GPIO_MASK_2 | |
57 | + gpio_request(GPIO_PIN_2, "gpio_cfi_flash"); | |
58 | +#endif | |
62 | 59 | gpio_cfi_flash_swizzle((void *)CONFIG_SYS_FLASH_BASE); |
63 | 60 | } |
board/cm-bf537e/gpio_cfi_flash.c
... | ... | @@ -8,10 +8,11 @@ |
8 | 8 | |
9 | 9 | #include <common.h> |
10 | 10 | #include <asm/blackfin.h> |
11 | +#include <asm/gpio.h> | |
11 | 12 | #include <asm/io.h> |
12 | 13 | #include "gpio_cfi_flash.h" |
13 | 14 | |
14 | -#define GPIO_PIN_1 PF4 | |
15 | +#define GPIO_PIN_1 GPIO_PF4 | |
15 | 16 | #define GPIO_MASK_1 (1 << 21) |
16 | 17 | #define GPIO_MASK (GPIO_MASK_1) |
17 | 18 | |
18 | 19 | |
... | ... | @@ -19,16 +20,10 @@ |
19 | 20 | { |
20 | 21 | unsigned long addr = (unsigned long)vaddr; |
21 | 22 | |
22 | - if (addr & GPIO_MASK_1) | |
23 | - bfin_write_PORTFIO_SET(GPIO_PIN_1); | |
24 | - else | |
25 | - bfin_write_PORTFIO_CLEAR(GPIO_PIN_1); | |
23 | + gpio_set_value(GPIO_PIN_1, addr & GPIO_MASK_1); | |
26 | 24 | |
27 | 25 | #ifdef GPIO_MASK_2 |
28 | - if (addr & GPIO_MASK_2) | |
29 | - bfin_write_PORTGIO_SET(GPIO_PIN_2); | |
30 | - else | |
31 | - bfin_write_PORTGIO_CLEAR(GPIO_PIN_2); | |
26 | + gpio_set_value(GPIO_PIN_2, addr & GPIO_MASK_2); | |
32 | 27 | #endif |
33 | 28 | |
34 | 29 | SSYNC(); |
... | ... | @@ -55,7 +50,10 @@ |
55 | 50 | |
56 | 51 | void gpio_cfi_flash_init(void) |
57 | 52 | { |
58 | - bfin_write_PORTFIO_DIR(bfin_read_PORTFIO_DIR() | GPIO_PIN_1); | |
53 | + gpio_request(GPIO_PIN_1, "gpio_cfi_flash"); | |
54 | +#ifdef GPIO_MASK_2 | |
55 | + gpio_request(GPIO_PIN_2, "gpio_cfi_flash"); | |
56 | +#endif | |
59 | 57 | gpio_cfi_flash_swizzle((void *)CONFIG_SYS_FLASH_BASE); |
60 | 58 | } |
board/cm-bf537u/gpio_cfi_flash.c
... | ... | @@ -8,10 +8,11 @@ |
8 | 8 | |
9 | 9 | #include <common.h> |
10 | 10 | #include <asm/blackfin.h> |
11 | +#include <asm/gpio.h> | |
11 | 12 | #include <asm/io.h> |
12 | 13 | #include "gpio_cfi_flash.h" |
13 | 14 | |
14 | -#define GPIO_PIN_1 PH0 | |
15 | +#define GPIO_PIN_1 GPIO_PH0 | |
15 | 16 | #define GPIO_MASK_1 (1 << 21) |
16 | 17 | #define GPIO_MASK (GPIO_MASK_1) |
17 | 18 | |
18 | 19 | |
... | ... | @@ -19,16 +20,10 @@ |
19 | 20 | { |
20 | 21 | unsigned long addr = (unsigned long)vaddr; |
21 | 22 | |
22 | - if (addr & GPIO_MASK_1) | |
23 | - bfin_write_PORTHIO_SET(GPIO_PIN_1); | |
24 | - else | |
25 | - bfin_write_PORTHIO_CLEAR(GPIO_PIN_1); | |
23 | + gpio_set_value(GPIO_PIN_1, addr & GPIO_MASK_1); | |
26 | 24 | |
27 | 25 | #ifdef GPIO_MASK_2 |
28 | - if (addr & GPIO_MASK_2) | |
29 | - bfin_write_PORTGIO_SET(GPIO_PIN_2); | |
30 | - else | |
31 | - bfin_write_PORTGIO_CLEAR(GPIO_PIN_2); | |
26 | + gpio_set_value(GPIO_PIN_2, addr & GPIO_MASK_2); | |
32 | 27 | #endif |
33 | 28 | |
34 | 29 | SSYNC(); |
... | ... | @@ -55,7 +50,10 @@ |
55 | 50 | |
56 | 51 | void gpio_cfi_flash_init(void) |
57 | 52 | { |
58 | - bfin_write_PORTHIO_DIR(bfin_read_PORTHIO_DIR() | GPIO_PIN_1); | |
53 | + gpio_request(GPIO_PIN_1, "gpio_cfi_flash"); | |
54 | +#ifdef GPIO_MASK_2 | |
55 | + gpio_request(GPIO_PIN_2, "gpio_cfi_flash"); | |
56 | +#endif | |
59 | 57 | gpio_cfi_flash_swizzle((void *)CONFIG_SYS_FLASH_BASE); |
60 | 58 | } |
board/tcm-bf537/gpio_cfi_flash.c
... | ... | @@ -8,12 +8,13 @@ |
8 | 8 | |
9 | 9 | #include <common.h> |
10 | 10 | #include <asm/blackfin.h> |
11 | +#include <asm/gpio.h> | |
11 | 12 | #include <asm/io.h> |
12 | 13 | #include "gpio_cfi_flash.h" |
13 | 14 | |
14 | -#define GPIO_PIN_1 PF4 | |
15 | +#define GPIO_PIN_1 GPIO_PF4 | |
15 | 16 | #define GPIO_MASK_1 (1 << 21) |
16 | -#define GPIO_PIN_2 PF5 | |
17 | +#define GPIO_PIN_2 GPIO_PF5 | |
17 | 18 | #define GPIO_MASK_2 (1 << 22) |
18 | 19 | #define GPIO_MASK (GPIO_MASK_1 | GPIO_MASK_2) |
19 | 20 | |
20 | 21 | |
... | ... | @@ -21,16 +22,10 @@ |
21 | 22 | { |
22 | 23 | unsigned long addr = (unsigned long)vaddr; |
23 | 24 | |
24 | - if (addr & GPIO_MASK_1) | |
25 | - bfin_write_PORTFIO_SET(GPIO_PIN_1); | |
26 | - else | |
27 | - bfin_write_PORTFIO_CLEAR(GPIO_PIN_1); | |
25 | + gpio_set_value(GPIO_PIN_1, addr & GPIO_MASK_1); | |
28 | 26 | |
29 | 27 | #ifdef GPIO_MASK_2 |
30 | - if (addr & GPIO_MASK_2) | |
31 | - bfin_write_PORTFIO_SET(GPIO_PIN_2); | |
32 | - else | |
33 | - bfin_write_PORTFIO_CLEAR(GPIO_PIN_2); | |
28 | + gpio_set_value(GPIO_PIN_2, addr & GPIO_MASK_2); | |
34 | 29 | #endif |
35 | 30 | |
36 | 31 | SSYNC(); |
... | ... | @@ -57,7 +52,10 @@ |
57 | 52 | |
58 | 53 | void gpio_cfi_flash_init(void) |
59 | 54 | { |
60 | - bfin_write_PORTFIO_DIR(bfin_read_PORTFIO_DIR() | GPIO_PIN_1 | GPIO_PIN_2); | |
55 | + gpio_request(GPIO_PIN_1, "gpio_cfi_flash"); | |
56 | +#ifdef GPIO_MASK_2 | |
57 | + gpio_request(GPIO_PIN_2, "gpio_cfi_flash"); | |
58 | +#endif | |
61 | 59 | gpio_cfi_flash_swizzle((void *)CONFIG_SYS_FLASH_BASE); |
62 | 60 | } |