blob: 4596e121d5ca94500afc8993a56f30e27189ad6a [file] [log] [blame]
Angel Pons585495e2020-04-03 01:21:38 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Ronald G. Minniche0e784a2014-11-26 19:25:47 +00002
3#include <console/console.h>
4#include <device/device.h>
5#include <cbmem.h>
Philipp Hug2ef569a2018-12-31 14:13:47 +01006#include <symbols.h>
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +02007#include <ramdetect.h>
Ronald G. Minniche0e784a2014-11-26 19:25:47 +00008
Elyes HAOUAS5cb876c2018-06-08 18:31:43 +02009static void mainboard_enable(struct device *dev)
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000010{
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020011 size_t dram_mb_detected;
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000012
13 if (!dev) {
Jonathan Neuschäfer2af174a2016-10-12 00:18:00 +020014 die("No dev0; die\n");
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000015 }
16
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020017 dram_mb_detected = probe_ramsize((uintptr_t)_dram, CONFIG_DRAM_SIZE_MB);
Patrick Rudolphc1916152019-07-28 18:29:42 +020018 ram_resource(dev, 0, (uintptr_t)_dram / KiB, dram_mb_detected * MiB / KiB);
Patrick Rudolphbd4bcab2019-06-30 22:12:15 +020019
Ronald G. Minniche0e784a2014-11-26 19:25:47 +000020 cbmem_recovery(0);
21}
22
23struct chip_operations mainboard_ops = {
24 .enable_dev = mainboard_enable,
25};