[RFC PATCH v1 05/14] ram: rockchip: sdram_common: add LPDDR4X and LPDDR5 support

Johan Axelsson johan.axelsson at proton.me
Mon May 25 03:29:10 CEST 2026


sdram_print_dram_type() and sdram_detect_dbw() only handled types up to
LPDDR4.  Adding RK3576 with LPDDR5 exposes two gaps:

1. sdram_print_dram_type(): LPDDR4X (8) and LPDDR5 (9) fell through to
   "Unknown Device".  Add the missing cases.

2. sdram_detect_dbw(): the fixed-dbw=1 branch covered DDR3 and LPDDR4
   but not LPDDR4X or LPDDR5 (both use x16 dies → dbw=1).  Extend the
   condition to include the new types.

LPDDR4X and LPDDR5 enum values are already defined in sdram.h as 8
and 9 respectively.

Signed-off-by: Johan Axelsson <johan.axelsson at proton.me>
---
 drivers/ram/rockchip/sdram_common.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/ram/rockchip/sdram_common.c b/drivers/ram/rockchip/sdram_common.c
index b7a8fce607c..777e1044b40 100644
--- a/drivers/ram/rockchip/sdram_common.c
+++ b/drivers/ram/rockchip/sdram_common.c
@@ -29,6 +29,12 @@ void sdram_print_dram_type(unsigned char dramtype)
 	case LPDDR4:
 		printascii("LPDDR4");
 		break;
+	case LPDDR4X:
+		printascii("LPDDR4X");
+		break;
+	case LPDDR5:
+		printascii("LPDDR5");
+		break;
 	default:
 		printascii("Unknown Device");
 		break;
@@ -285,13 +291,14 @@ int sdram_detect_bg(struct sdram_cap_info *cap_info,
 	return 0;
 }
 
-/* detect dbw for ddr3,lpddr2,lpddr3,lpddr4 */
+/* detect dbw for ddr3,lpddr2,lpddr3,lpddr4,lpddr4x,lpddr5 */
 int sdram_detect_dbw(struct sdram_cap_info *cap_info, u32 dram_type)
 {
 	u32 row, col, bk, bw, cs_cap, cs;
 	u32 die_bw_0 = 0, die_bw_1 = 0;
 
-	if (dram_type == DDR3 || dram_type == LPDDR4) {
+	if (dram_type == DDR3 || dram_type == LPDDR4 ||
+	    dram_type == LPDDR4X || dram_type == LPDDR5) {
 		cap_info->dbw = 1;
 	} else if (dram_type == LPDDR3 || dram_type == LPDDR2) {
 		row = cap_info->cs0_row;
-- 
2.45.1.windows.1




More information about the U-Boot mailing list