blob: b081469c96e9c551c54c3e6df723fd3c5ce21481 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/*
* Copyright (c) 2011 The Chromium OS Authors.
* (C) Copyright 2008,2009
* Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002
* Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <pci.h>
#include <asm/pci.h>
#include <asm/post.h>
#include <asm/arch/bd82x6x.h>
#include <asm/arch/pch.h>
static int pci_ivybridge_probe(struct udevice *bus)
{
if (!(gd->flags & GD_FLG_RELOC))
return 0;
post_code(0x50);
bd82x6x_init_extra();
post_code(0x51);
return 0;
}
static const struct dm_pci_ops pci_ivybridge_ops = {
.read_config = pci_x86_read_config,
.write_config = pci_x86_write_config,
};
static const struct udevice_id pci_ivybridge_ids[] = {
{ .compatible = "intel,pci-ivybridge" },
{ }
};
U_BOOT_DRIVER(pci_ivybridge_drv) = {
.name = "pci_ivybridge",
.id = UCLASS_PCI,
.of_match = pci_ivybridge_ids,
.ops = &pci_ivybridge_ops,
.probe = pci_ivybridge_probe,
};
|