- Add MPC5XXX register definition MPC5XXX_WU_GPIO_DATA_I and change the

MPC5XXX_WU_GPIO_DATA macro to MPC5XXX_WU_GPIO_DATA_O (per MPC5200 User's
  Manual). Replace the uses of MPC5XXX_WU_GPIO_DATA with
  MPC5XXX_WU_GPIO_DATA_O for affected boards.

- Add defintions for some MPC5XXX GPIO pins.
This commit is contained in:
Bartlomiej Sieka 2006-11-01 01:38:16 +01:00
parent 82d9c9ec29
commit dae80f3caf
8 changed files with 31 additions and 40 deletions

View File

@ -295,7 +295,6 @@ void pci_init_board(void)
#endif #endif
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) #if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
#define GPIO_PSC1_4 0x01000000UL
void init_ide_reset (void) void init_ide_reset (void)
{ {
@ -311,9 +310,9 @@ void ide_set_reset (int idereset)
debug ("ide_reset(%d)\n", idereset); debug ("ide_reset(%d)\n", idereset);
if (idereset) { if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
} }
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ #endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */

View File

@ -186,8 +186,6 @@ void pci_init_board(void)
*****************************************************************************/ *****************************************************************************/
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) #if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
#define GPIO_PSC1_4 0x01000000UL
void init_ide_reset (void) void init_ide_reset (void)
{ {
debug ("init_ide_reset\n"); debug ("init_ide_reset\n");
@ -202,9 +200,9 @@ void ide_set_reset (int idereset)
debug ("ide_reset(%d)\n", idereset); debug ("ide_reset(%d)\n", idereset);
if (idereset) { if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
} }
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ #endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */

View File

@ -199,8 +199,6 @@ void pci_init_board(void
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) #if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
#define GPIO_PSC1_4 0x01000000UL
void init_ide_reset(void) void init_ide_reset(void)
{ {
debug("init_ide_reset\n"); debug("init_ide_reset\n");
@ -215,9 +213,9 @@ void ide_set_reset(int idereset)
debug("ide_reset(%d)\n", idereset); debug("ide_reset(%d)\n", idereset);
if (idereset) { if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
} }
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ #endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */
@ -242,7 +240,7 @@ void init_ata_reset(void)
debug("init_ata_reset\n"); debug("init_ata_reset\n");
/* Configure GPIO_WU6 as GPIO output for ATA reset */ /* Configure GPIO_WU6 as GPIO output for ATA reset */
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_WU6;
*(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_WU6;
*(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_WU6;
__asm__ volatile ("sync"); __asm__ volatile ("sync");

View File

@ -199,8 +199,6 @@ void pci_init_board(void
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) #if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
#define GPIO_PSC1_4 0x01000000UL
void init_ide_reset(void) void init_ide_reset(void)
{ {
debug("init_ide_reset\n"); debug("init_ide_reset\n");
@ -215,9 +213,9 @@ void ide_set_reset(int idereset)
debug("ide_reset(%d)\n", idereset); debug("ide_reset(%d)\n", idereset);
if (idereset) { if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
} }
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ #endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */
@ -242,7 +240,7 @@ void init_power_switch(void)
debug("init_power_switch\n"); debug("init_power_switch\n");
/* Configure GPIO_WU6 as GPIO output for ATA reset */ /* Configure GPIO_WU6 as GPIO output for ATA reset */
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_WU6;
*(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_WU6;
*(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_WU6;
__asm__ volatile ("sync"); __asm__ volatile ("sync");
@ -272,10 +270,10 @@ void power_set_reset(int power)
debug("ide_set_reset(%d)\n", power); debug("ide_set_reset(%d)\n", power);
if (power) { if (power) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_WU6;
*(vu_long *) MPC5XXX_INTERRUPT_GPIO_DATA_OUTPUT &= ~GPIO_USB9; *(vu_long *) MPC5XXX_INTERRUPT_GPIO_DATA_OUTPUT &= ~GPIO_USB9;
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_WU6; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_WU6;
if ((*(vu_long *) MPC5XXX_INTERRUPT_GPIO_STATUS & GPIO_USB9S) == if ((*(vu_long *) MPC5XXX_INTERRUPT_GPIO_STATUS & GPIO_USB9S) ==
0) { 0) {
*(vu_long *) MPC5XXX_SIMPLEIO_GPIO_DATA_OUTPUT |= *(vu_long *) MPC5XXX_SIMPLEIO_GPIO_DATA_OUTPUT |=

View File

@ -308,8 +308,6 @@ void pci_init_board(void)
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) #if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
#define GPIO_PSC1_4 0x01000000UL
void init_ide_reset (void) void init_ide_reset (void)
{ {
debug ("init_ide_reset\n"); debug ("init_ide_reset\n");
@ -318,7 +316,7 @@ void init_ide_reset (void)
*(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4;
*(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC1_4;
/* Deassert reset */ /* Deassert reset */
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
void ide_set_reset (int idereset) void ide_set_reset (int idereset)
@ -326,11 +324,11 @@ void ide_set_reset (int idereset)
debug ("ide_reset(%d)\n", idereset); debug ("ide_reset(%d)\n", idereset);
if (idereset) { if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
/* Make a delay. MPC5200 spec says 25 usec min */ /* Make a delay. MPC5200 spec says 25 usec min */
udelay(500000); udelay(500000);
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
} }
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ #endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */

View File

@ -173,9 +173,6 @@ void flash_preinit(void)
*(vu_long *)MPC5XXX_BOOTCS_CFG &= ~0x1; /* clear RO */ *(vu_long *)MPC5XXX_BOOTCS_CFG &= ~0x1; /* clear RO */
} }
#define GPIO_WKUP_7 0x80000000UL
#define GPIO_PSC3_9 0x04000000UL
int misc_init_f (void) int misc_init_f (void)
{ {
uchar tmp[10]; uchar tmp[10];
@ -218,13 +215,13 @@ int misc_init_f (void)
*(vu_long *)MPC5XXX_WU_GPIO_DIR |= 0xc4000000; *(vu_long *)MPC5XXX_WU_GPIO_DIR |= 0xc4000000;
/* Set LR mirror bit because it is low-active */ /* Set LR mirror bit because it is low-active */
*(vu_long *)MPC5XXX_WU_GPIO_DATA |= GPIO_WKUP_7; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_WKUP_7;
/* /*
* Reset Coral-P graphics controller * Reset Coral-P graphics controller
*/ */
*(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC3_9; *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC3_9;
*(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC3_9; *(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC3_9;
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC3_9; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC3_9;
return 0; return 0;
} }
@ -241,8 +238,6 @@ void pci_init_board(void)
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) #if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
#define GPIO_PSC1_4 0x01000000UL
void init_ide_reset (void) void init_ide_reset (void)
{ {
debug ("init_ide_reset\n"); debug ("init_ide_reset\n");
@ -251,7 +246,7 @@ void init_ide_reset (void)
*(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4;
*(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC1_4;
/* Deassert reset */ /* Deassert reset */
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
void ide_set_reset (int idereset) void ide_set_reset (int idereset)
@ -259,11 +254,11 @@ void ide_set_reset (int idereset)
debug ("ide_reset(%d)\n", idereset); debug ("ide_reset(%d)\n", idereset);
if (idereset) { if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
/* Make a delay. MPC5200 spec says 25 usec min */ /* Make a delay. MPC5200 spec says 25 usec min */
udelay(500000); udelay(500000);
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
} }
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ #endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */

View File

@ -341,9 +341,7 @@ void pci_init_board(void)
#define SM501_GPIO_DATA_DIR_HIGH 0x0001000CUL #define SM501_GPIO_DATA_DIR_HIGH 0x0001000CUL
#define SM501_GPIO_DATA_HIGH 0x00010004UL #define SM501_GPIO_DATA_HIGH 0x00010004UL
#define SM501_GPIO_51 0x00080000UL #define SM501_GPIO_51 0x00080000UL
#else #endif /* CONFIG MINIFAP */
#define GPIO_PSC1_4 0x01000000UL
#endif
void init_ide_reset (void) void init_ide_reset (void)
{ {
@ -381,9 +379,9 @@ void ide_set_reset (int idereset)
} }
#else #else
if (idereset) { if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
} else { } else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; *(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
} }
#endif #endif
} }

View File

@ -188,7 +188,14 @@
#define MPC5XXX_WU_GPIO_ENABLE (MPC5XXX_WU_GPIO + 0x0000) #define MPC5XXX_WU_GPIO_ENABLE (MPC5XXX_WU_GPIO + 0x0000)
#define MPC5XXX_WU_GPIO_ODE (MPC5XXX_WU_GPIO + 0x0004) #define MPC5XXX_WU_GPIO_ODE (MPC5XXX_WU_GPIO + 0x0004)
#define MPC5XXX_WU_GPIO_DIR (MPC5XXX_WU_GPIO + 0x0008) #define MPC5XXX_WU_GPIO_DIR (MPC5XXX_WU_GPIO + 0x0008)
#define MPC5XXX_WU_GPIO_DATA (MPC5XXX_WU_GPIO + 0x000c) #define MPC5XXX_WU_GPIO_DATA_O (MPC5XXX_WU_GPIO + 0x000c)
#define MPC5XXX_WU_GPIO_DATA_I (MPC5XXX_WU_GPIO + 0x0020)
/* GPIO pins */
#define GPIO_WKUP_7 0x80000000UL
#define GPIO_PSC6_0 0x10000000UL
#define GPIO_PSC3_9 0x04000000UL
#define GPIO_PSC1_4 0x01000000UL
/* PCI registers */ /* PCI registers */
#define MPC5XXX_PCI_CMD (MPC5XXX_PCI + 0x04) #define MPC5XXX_PCI_CMD (MPC5XXX_PCI + 0x04)