summaryrefslogtreecommitdiff
path: root/board/prodrive/alpr/alpr.c
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2007-01-09 16:33:38 +0100
committerStefan Roese <sr@denx.de>2007-01-09 16:33:38 +0100
commit7590da92b1c8bad5475e4b6cf18781248b966d9d (patch)
tree85b03056e87df75c9f1de6f401e3056a35e69502 /board/prodrive/alpr/alpr.c
parentaeeced147c2ca52fbc674a6a7bd66ab1d80f245c (diff)
parentf4eb54529bb3664c3a562e488b460fe075f79d67 (diff)
downloadu-boot-imx-7590da92b1c8bad5475e4b6cf18781248b966d9d.zip
u-boot-imx-7590da92b1c8bad5475e4b6cf18781248b966d9d.tar.gz
u-boot-imx-7590da92b1c8bad5475e4b6cf18781248b966d9d.tar.bz2
Merge with git+ssh://sr@pollux.denx.org/home/sr/git/u-boot/denx/.git
Diffstat (limited to 'board/prodrive/alpr/alpr.c')
-rw-r--r--board/prodrive/alpr/alpr.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/board/prodrive/alpr/alpr.c b/board/prodrive/alpr/alpr.c
index 2389561..5abc87d 100644
--- a/board/prodrive/alpr/alpr.c
+++ b/board/prodrive/alpr/alpr.c
@@ -77,8 +77,12 @@ int board_early_init_f (void)
mtdcr (uicb0tr, 0x00000000); /* */
mtdcr (uicb0vr, 0x00000001); /* */
+ /* Setup shutdown/SSD empty interrupt as inputs */
+ out32(GPIO0_TCR, in32(GPIO0_TCR) & ~(CFG_GPIO_SHUTDOWN | CFG_GPIO_SSD_EMPTY));
+ out32(GPIO0_ODR, in32(GPIO0_ODR) & ~(CFG_GPIO_SHUTDOWN | CFG_GPIO_SSD_EMPTY));
+
/* Setup GPIO/IRQ multiplexing */
- mtsdr(sdr_pfc0, 0x01a03e00);
+ mtsdr(sdr_pfc0, 0x01a33e00);
return 0;
}
@@ -105,26 +109,11 @@ int last_stage_init(void)
static int board_rev(void)
{
- int rev;
- u32 pfc0;
-
- /* Setup GPIO14 & 15 as GPIO */
- mfsdr(sdr_pfc0, pfc0);
- pfc0 |= CFG_GPIO_REV0 | CFG_GPIO_REV1;
- mtsdr(sdr_pfc0, pfc0);
-
/* Setup as input */
- out32(GPIO0_TCR, in32(GPIO0_TCR) & ~(CFG_GPIO_REV0 | CFG_GPIO_REV0));
- out32(GPIO0_ODR, in32(GPIO0_ODR) & ~(CFG_GPIO_REV0 | CFG_GPIO_REV0));
-
- rev = (in32(GPIO0_IR) >> 16) & 0x3;
-
- /* Setup GPIO14 & 15 as non GPIO again */
- mfsdr(sdr_pfc0, pfc0);
- pfc0 &= ~(CFG_GPIO_REV0 | CFG_GPIO_REV1);
- mtsdr(sdr_pfc0, pfc0);
+ out32(GPIO0_TCR, in32(GPIO0_TCR) & ~(CFG_GPIO_REV0 | CFG_GPIO_REV1));
+ out32(GPIO0_ODR, in32(GPIO0_ODR) & ~(CFG_GPIO_REV0 | CFG_GPIO_REV1));
- return rev;
+ return (in32(GPIO0_IR) >> 16) & 0x3;
}
int checkboard (void)