blob: de7765e5d6eae689270c4dfbaa32dcdb6ed68d24 [file] [log] [blame]
Ronald G. Minniche0e784a2014-11-26 19:25:47 +00001/*
2 * This file is part of the coreboot project.
3 *
Ronald G. Minniche0e784a2014-11-26 19:25:47 +00004 *
Martin Rothb28f4662018-05-26 17:58:47 -06005 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; version 2 of the License.
Ronald G. Minniche0e784a2014-11-26 19:25:47 +00008 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15#include <console/console.h>
16#include <device/device.h>
17#include <cbmem.h>
Philipp Hug2ef569a2018-12-31 14:13:47 +010018#include <symbols.h>
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020019#include <ramdetect.h>
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000020
Elyes HAOUAS5cb876c2018-06-08 18:31:43 +020021static void mainboard_enable(struct device *dev)
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000022{
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020023 size_t dram_mb_detected;
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000024
25 if (!dev) {
Jonathan Neuschäfer2af174a2016-10-12 00:18:00 +020026 die("No dev0; die\n");
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000027 }
28
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020029 dram_mb_detected = probe_ramsize((uintptr_t)_dram, CONFIG_DRAM_SIZE_MB);
Patrick Rudolphc1916152019-07-28 18:29:42 +020030 ram_resource(dev, 0, (uintptr_t)_dram / KiB, dram_mb_detected * MiB / KiB);
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020031
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000032 cbmem_recovery(0);
33}
34
35struct chip_operations mainboard_ops = {
36 .enable_dev = mainboard_enable,
37};