summaryrefslogtreecommitdiff
path: root/board/esd
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2009-11-12 17:19:37 +0100
committerStefan Roese <sr@denx.de>2009-11-19 11:35:34 +0100
commit6c70049bd14e8e81764570732be7f34a89831f09 (patch)
tree9e2028ab7a017c9a8f78ac62a99e135bb5b23630 /board/esd
parenta760b0203155da6fb8b8e9086169bb87d09d76fa (diff)
downloadu-boot-imx-6c70049bd14e8e81764570732be7f34a89831f09.zip
u-boot-imx-6c70049bd14e8e81764570732be7f34a89831f09.tar.gz
u-boot-imx-6c70049bd14e8e81764570732be7f34a89831f09.tar.bz2
ppc4xx: Consolidate pci_master_init() function
This patch removes the duplicted implementations of the pci_master_init() function by introducing a weak default function for it. It can be overridden by a board specific version. Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board/esd')
-rw-r--r--board/esd/du440/du440.c17
-rw-r--r--board/esd/pmc440/pmc440.c18
2 files changed, 6 insertions, 29 deletions
diff --git a/board/esd/du440/du440.c b/board/esd/du440/du440.c
index af50a1e..111cce5 100644
--- a/board/esd/du440/du440.c
+++ b/board/esd/du440/du440.c
@@ -360,23 +360,6 @@ int checkboard(void)
return (0);
}
-#if defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT)
-void pci_master_init(struct pci_controller *hose)
-{
- unsigned short temp_short;
-
- /*
- * Write the PowerPC440 EP PCI Configuration regs.
- * Enable PowerPC440 EP to be a master on the PCI bus (PMM).
- * Enable PowerPC440 EP to act as a PCI memory target (PTM).
- */
- pci_read_config_word(0, PCI_COMMAND, &temp_short);
- pci_write_config_word(0, PCI_COMMAND,
- temp_short | PCI_COMMAND_MASTER |
- PCI_COMMAND_MEMORY);
-}
-#endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */
-
int last_stage_init(void)
{
int e, i;
diff --git a/board/esd/pmc440/pmc440.c b/board/esd/pmc440/pmc440.c
index c5dc486..d0ff080 100644
--- a/board/esd/pmc440/pmc440.c
+++ b/board/esd/pmc440/pmc440.c
@@ -39,6 +39,8 @@
#include <miiphy.h>
#endif
#include <serial.h>
+#include <asm/4xx_pci.h>
+
#include "fpga.h"
#include "pmc440.h"
@@ -600,24 +602,16 @@ void pci_target_init(struct pci_controller *hose)
#endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */
/*
- * pci_master_init
+ * Override weak default pci_master_init()
*/
#if defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT)
void pci_master_init(struct pci_controller *hose)
{
- unsigned short temp_short;
-
/*
- * Write the PowerPC440 EP PCI Configuration regs.
- * Enable PowerPC440 EP to be a master on the PCI bus (PMM).
- * Enable PowerPC440 EP to act as a PCI memory target (PTM).
+ * Only configure the master in monach mode
*/
- if (is_monarch()) {
- pci_read_config_word(0, PCI_COMMAND, &temp_short);
- pci_write_config_word(0, PCI_COMMAND,
- temp_short | PCI_COMMAND_MASTER |
- PCI_COMMAND_MEMORY);
- }
+ if (is_monarch())
+ __pci_master_init(hose);
}
#endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */