blob: 89d325bea6676fd30d996d34a6ace959690b1c71 [file] [log] [blame]
Jonas Karlmanc704a432025-04-07 22:46:48 +00001// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright Contributors to the U-Boot project.
3
4#include <dm.h>
5#include <ram.h>
6#include <asm/arch-rockchip/sdram.h>
7
8#define PMUGRF_BASE 0xff370000
9#define OS_REG18_REG 0x248
10
11static int rk3528_dmc_get_info(struct udevice *dev, struct ram_info *info)
12{
13 info->base = CFG_SYS_SDRAM_BASE;
14 info->size = rockchip_sdram_size(PMUGRF_BASE + OS_REG18_REG);
15
16 return 0;
17}
18
19static struct ram_ops rk3528_dmc_ops = {
20 .get_info = rk3528_dmc_get_info,
21};
22
23static const struct udevice_id rk3528_dmc_ids[] = {
24 { .compatible = "rockchip,rk3528-dmc" },
25 { }
26};
27
28U_BOOT_DRIVER(rockchip_rk3528_dmc) = {
29 .name = "rockchip_rk3528_dmc",
30 .id = UCLASS_RAM,
31 .of_match = rk3528_dmc_ids,
32 .ops = &rk3528_dmc_ops,
33};