blob: 0a548b0df58ac10a37d331962e31003df518a58b [file] [log] [blame]
Angel Pons585495e2020-04-03 01:21:38 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2/* This file is part of the coreboot project. */
Ronald G. Minniche0e784a2014-11-26 19:25:47 +00003
4#include <console/console.h>
5#include <device/device.h>
6#include <cbmem.h>
Philipp Hug2ef569a2018-12-31 14:13:47 +01007#include <symbols.h>
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +02008#include <ramdetect.h>
Ronald G. Minniche0e784a2014-11-26 19:25:47 +00009
Elyes HAOUAS5cb876c2018-06-08 18:31:43 +020010static void mainboard_enable(struct device *dev)
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000011{
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020012 size_t dram_mb_detected;
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000013
14 if (!dev) {
Jonathan Neuschäfer2af174a2016-10-12 00:18:00 +020015 die("No dev0; die\n");
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000016 }
17
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020018 dram_mb_detected = probe_ramsize((uintptr_t)_dram, CONFIG_DRAM_SIZE_MB);
Patrick Rudolphc1916152019-07-28 18:29:42 +020019 ram_resource(dev, 0, (uintptr_t)_dram / KiB, dram_mb_detected * MiB / KiB);
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020020
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000021 cbmem_recovery(0);
22}
23
24struct chip_operations mainboard_ops = {
25 .enable_dev = mainboard_enable,
26};