[U-Boot] [PATCH v2 06/10] x86: coreboot: Tell u-boot about PCI bus 0 when initializing
Graeme Russ
graeme.russ at gmail.com
Thu Oct 11 02:23:44 CEST 2012
Hi Simon,
On Thu, Oct 11, 2012 at 10:12 AM, Simon Glass <sjg at chromium.org> wrote:
> From: Gabe Black <gabeblack at chromium.org>
>
> U-boot needs a host controller or "hose" to interact with the PCI busses
> behind them. This change installs a host controller during initialization of
> the coreboot "board" which implements some of X86's basic PCI semantics. This
> relies on some existing generic code, but also duplicates a little bit of code
> from the sc520 implementation. Ideally we'd eliminate that duplication at some
> point.
>
> It looks like in order to scan buses beyond bus 0, we'll need to tell u-boot's
> generic PCI configuration code what to do if it encounters a bridge,
> specifically to scan the bus on the other side of it.
>
> Signed-off-by: Gabe Black <gabeblack at chromium.org>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> arch/x86/cpu/coreboot/pci.c | 15 +++++++++++++++
> arch/x86/include/asm/pci.h | 2 +-
> 2 files changed, 16 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/cpu/coreboot/pci.c b/arch/x86/cpu/coreboot/pci.c
> index 732ca3c..0ddc975 100644
> --- a/arch/x86/cpu/coreboot/pci.c
> +++ b/arch/x86/cpu/coreboot/pci.c
> @@ -25,6 +25,21 @@
> * MA 02111-1307 USA
> */
>
> +#include <common.h>
> +#include <pci.h>
> +#include <asm/pci.h>
> +
> +static struct pci_controller coreboot_hose;
> +
> void pci_init_board(void)
> {
> + coreboot_hose.first_busno = 0;
> + coreboot_hose.last_busno = 0xff;
> + coreboot_hose.region_count = 0;
> +
> + pci_setup_type1(&coreboot_hose);
> +
> + pci_register_hose(&coreboot_hose);
> +
> + coreboot_hose.last_busno = pci_hose_scan(&coreboot_hose);
> }
> diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h
> index 37cc7e3..6d68ab6 100644
> --- a/arch/x86/include/asm/pci.h
> +++ b/arch/x86/include/asm/pci.h
> @@ -24,7 +24,7 @@
> */
>
> #ifndef _PCI_I386_H_
> -#define _PCI_I386_H_ 1
> +#define _PCI_I386_H_
>
> #define DEFINE_PCI_DEVICE_TABLE(_table) \
> const struct pci_device_id _table[]
> --
> 1.7.7.3
>
Acked-by: Graeme Russ <graeme.russ at gmail.com>
More information about the U-Boot
mailing list