diff options
author | Stefan Roese <sr@denx.de> | 2009-11-12 17:19:37 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2009-11-19 11:35:34 +0100 |
commit | 6c70049bd14e8e81764570732be7f34a89831f09 (patch) | |
tree | 9e2028ab7a017c9a8f78ac62a99e135bb5b23630 /board/esd | |
parent | a760b0203155da6fb8b8e9086169bb87d09d76fa (diff) | |
download | u-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.c | 17 | ||||
-rw-r--r-- | board/esd/pmc440/pmc440.c | 18 |
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) */ |