Commit 570ba440ed041d540af932a06f34202d4c16c56c

Authored by Mike Frysinger
1 parent 3f390e15a7
Exists in master and in 55 other branches 8qm-imx_v2020.04_5.4.70_2.3.0, emb_lf_v2022.04, emb_lf_v2023.04, imx_v2015.04_4.1.15_1.0.0_ga, pitx_8mp_lf_v2020.04, smarc-8m-android-10.0.0_2.6.0, smarc-8m-android-11.0.0_2.0.0, smarc-8mp-android-11.0.0_2.0.0, smarc-emmc-imx_v2014.04_3.10.53_1.1.0_ga, smarc-emmc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx-l5.0.0_1.0.0-ga, smarc-imx6_v2018.03_4.14.98_2.0.0_ga, smarc-imx7_v2017.03_4.9.11_1.0.0_ga, smarc-imx7_v2018.03_4.14.98_2.0.0_ga, smarc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx_v2015.04_4.1.15_1.0.0_ga, smarc-imx_v2017.03_4.9.11_1.0.0_ga, smarc-imx_v2017.03_4.9.88_2.0.0_ga, smarc-imx_v2017.03_o8.1.0_1.3.0_8m, smarc-imx_v2018.03_4.14.78_1.0.0_ga, smarc-m6.0.1_2.1.0-ga, smarc-n7.1.2_2.0.0-ga, smarc-rel_imx_4.1.15_2.0.0_ga, smarc_8m-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8m-imx_v2019.04_4.19.35_1.1.0, smarc_8m_00d0-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2019.04_4.19.35_1.1.0, smarc_8mm-imx_v2020.04_5.4.24_2.1.0, smarc_8mp_lf_v2020.04, smarc_8mq-imx_v2020.04_5.4.24_2.1.0, smarc_8mq_lf_v2020.04, ti-u-boot-2015.07, u-boot-2013.01.y, v2013.10, v2013.10-smarct33, v2013.10-smartmen, v2014.01, v2014.04, v2014.04-smarct33, v2014.04-smarct33-emmc, v2014.04-smartmen, v2014.07, v2014.07-smarct33, v2014.07-smartmen, v2015.07-smarct33, v2015.07-smarct33-emmc, v2015.07-smarct4x, v2016.05-dlt, v2016.05-smarct3x, v2016.05-smarct3x-emmc, v2016.05-smarct4x, v2017.01-smarct3x, v2017.01-smarct3x-emmc, v2017.01-smarct4x

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 }