aboutsummaryrefslogtreecommitdiff
path: root/src/southbridge/amd/common/amd_pci_util.h
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2015-04-27 14:02:36 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2015-04-27 23:48:35 +0200
commit13e4182119bcfcf09bdd9fa2b0cc5d09cd3550c2 (patch)
tree286cfd31710cf8817b1969d4552ea0fa778a66b4 /src/southbridge/amd/common/amd_pci_util.h
parentd0398f135f61c8e9c4d50655d08a35d2816690fb (diff)
kbuild: automatically include southbridges
This change switches all southbridge vendors and southbridges to be autoincluded by Makefile.inc, rather than having to be mentioned explicitly in southbridge/Makefile.inc or in southbridge/<vendor>/Makefile.inc. In order to be able to drop southbridge/amd/Makefile.inc, some scattered source files had to be moved to a southbridge/amd/common directory, in accordance to what we are doing on other architectures already. This means, vendor and southbridge directories are now "drop in", e.g. be placed in the coreboot directory hierarchy without having to modify any higher level coreboot files. The long term plan is to enable out of tree components to be built with a given coreboot version (given that the API did not change). Change-Id: I79bd644a0a3c4e8320c80f8cc7a7f8ffd65d32f2 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/9796 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/southbridge/amd/common/amd_pci_util.h')
-rw-r--r--src/southbridge/amd/common/amd_pci_util.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/southbridge/amd/common/amd_pci_util.h b/src/southbridge/amd/common/amd_pci_util.h
new file mode 100644
index 0000000000..1d1e52baaf
--- /dev/null
+++ b/src/southbridge/amd/common/amd_pci_util.h
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Sage Electronic Engineering, LLC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AMD_PCI_UTIL_H
+#define AMD_PCI_UTIL_H
+
+#include <stdint.h>
+#include "amd_pci_int_defs.h"
+
+/* FCH index/data registers */
+#define PCI_INTR_INDEX 0xc00
+#define PCI_INTR_DATA 0xc01
+
+#ifndef __PRE_RAM__
+
+struct pirq_struct {
+ u8 devfn;
+ u8 PIN[4]; /* PINA/B/C/D are index 0/1/2/3 */
+};
+
+extern const struct pirq_struct * pirq_data_ptr;
+extern u32 pirq_data_size;
+extern const u8 * intr_data_ptr;
+extern const u8 * picr_data_ptr;
+
+u8 read_pci_int_idx(u8 index, int mode);
+void write_pci_int_idx(u8 index, int mode, u8 data);
+void write_pci_cfg_irqs(void);
+void write_pci_int_table (void);
+#endif /* __PRE_RAM */
+
+#endif /* AMD_PCI_UTIL_H */