aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/arima/hdama/mainboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/arima/hdama/mainboard.c')
-rw-r--r--src/mainboard/arima/hdama/mainboard.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/src/mainboard/arima/hdama/mainboard.c b/src/mainboard/arima/hdama/mainboard.c
index 4f40e393b2..c5812ece3f 100644
--- a/src/mainboard/arima/hdama/mainboard.c
+++ b/src/mainboard/arima/hdama/mainboard.c
@@ -1,3 +1,4 @@
+
#include <console/console.h>
#include <device/device.h>
#include <device/pci.h>
@@ -6,6 +7,7 @@
#include <arch/io.h>
#include <device/chip.h>
+#include "../../../northbridge/amd/amdk8/northbridge.h"
#include "chip.h"
@@ -14,22 +16,27 @@ unsigned long initial_apicid[CONFIG_MAX_CPUS] =
0, 1,
};
-static void
-enable(struct chip *chip, enum chip_pass pass)
-{
-
- struct mainboard_arima_hdama_config *conf =
- (struct mainboard_arima_hdama_config *)chip->chip_info;
-
- switch (pass) {
- default: break;
- case CONF_PASS_PRE_BOOT:
- break;
- }
+static struct device_operations mainboard_operations = {
+ .read_resources = root_dev_read_resources,
+ .set_resources = root_dev_set_resources,
+ .enable_resources = enable_childrens_resources,
+ .init = 0,
+ .scan_bus = amdk8_scan_root_bus,
+ .enable = 0,
+};
+static void enumerate(struct chip *chip)
+{
+ struct chip *child;
+ dev_root.ops = &mainboard_operations;
+ chip->dev = &dev_root;
+ chip->bus = 0;
+ for(child = chip->children; child; child = child->next) {
+ child->bus = &dev_root.link[0];
+ }
}
struct chip_control mainboard_arima_hdama_control = {
- enable: enable,
- name: "Arima HDAMA mainboard "
+ .enumerate = enumerate,
+ .name = "Arima HDAMA mainboard ",
};