blob: aa21038e643428b0bf5875336d82e6602d09339e [file] [log] [blame]
huang linc14b54d2016-03-02 18:38:40 +08001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright 2015 MediaTek Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#include <cpu/cpu.h>
17#include <console/console.h>
18#include <device/device.h>
19#include <stdlib.h>
20#include <stddef.h>
21#include <string.h>
22#include <symbols.h>
23
24static void soc_read_resources(device_t dev)
25{
26 ram_resource(dev, 0, (uintptr_t)_dram / KiB,
27 CONFIG_DRAM_SIZE_MB * KiB);
28}
29
30static void soc_init(device_t dev)
31{
32 /* reserve bl31 image, which define in
33 * arm-trusted-firmware/plat/rockchip/rk3399/include/platform_def.h
34 */
35 mmio_resource(dev, 1, (0x500000 / KiB), (0x80000 / KiB));
36}
37
38static struct device_operations soc_ops = {
39 .read_resources = soc_read_resources,
40 .init = soc_init,
41};
42
43static void enable_soc_dev(device_t dev)
44{
45 dev->ops = &soc_ops;
46}
47
48struct chip_operations soc_rockchip_rk3399_ops = {
49 CHIP_NAME("SOC Rockchip RK3399\n")
50 .enable_dev = enable_soc_dev,
51};