ram: rockchip: debug: Add sdram_print_ddr_info
[oweals/u-boot.git] / drivers / ram / rockchip / sdram_debug.c
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * (C) Copyright 2019 Rockchip Electronics Co., Ltd
4  * (C) Copyright 2019 Amarula Solutions.
5  * Author: Jagan Teki <jagan@amarulasolutions.com>
6  */
7
8 #include <common.h>
9 #include <debug_uart.h>
10 #include <asm/arch-rockchip/sdram_common.h>
11
12 void sdram_print_dram_type(unsigned char dramtype)
13 {
14         switch (dramtype) {
15         case DDR3:
16                 printascii("DDR3");
17                 break;
18         case DDR4:
19                 printascii("DDR4");
20                 break;
21         case LPDDR2:
22                 printascii("LPDDR2");
23                 break;
24         case LPDDR3:
25                 printascii("LPDDR3");
26                 break;
27         case LPDDR4:
28                 printascii("LPDDR4");
29                 break;
30         default:
31                 printascii("Unknown Device");
32                 break;
33         }
34 }
35
36 void sdram_print_ddr_info(struct sdram_cap_info *cap_info,
37                           struct sdram_base_params *base)
38 {
39         u32 bg;
40
41         bg = (cap_info->dbw == 0) ? 2 : 1;
42
43         sdram_print_dram_type(base->dramtype);
44
45         printascii(", ");
46         printdec(base->ddr_freq);
47         printascii("MHz\n");
48
49         printascii("BW=");
50         printdec(8 << cap_info->bw);
51
52         printascii(" Col=");
53         printdec(cap_info->col);
54
55         printascii(" Bk=");
56         printdec(0x1 << cap_info->bk);
57         if (base->dramtype == DDR4) {
58                 printascii(" BG=");
59                 printdec(1 << bg);
60         }
61
62         printascii(" CS0 Row=");
63         printdec(cap_info->cs0_row);
64         if (cap_info->rank > 1) {
65                 printascii(" CS1 Row=");
66                 printdec(cap_info->cs1_row);
67         }
68
69         printascii(" CS=");
70         printdec(cap_info->rank);
71
72         printascii(" Die BW=");
73         printdec(8 << cap_info->dbw);
74 }