[PATCH RFC 05/18] ram: rockchip: Update ddr pctl regs for px30

Pavel Golikov paullo612 at ya.ru
Sun May 17 21:24:31 CEST 2026


Add RK3568 specific bits.

Signed-off-by: Pavel Golikov <paullo612 at ya.ru>
---
 .../include/asm/arch-rockchip/sdram_pctl_px30.h    | 26 ++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/arch-rockchip/sdram_pctl_px30.h b/arch/arm/include/asm/arch-rockchip/sdram_pctl_px30.h
index 3780dc6ea5b..62ea55df744 100644
--- a/arch/arm/include/asm/arch-rockchip/sdram_pctl_px30.h
+++ b/arch/arm/include/asm/arch-rockchip/sdram_pctl_px30.h
@@ -37,6 +37,7 @@ struct ddr_pctl_regs {
 #define DDR_PCTL2_RFSHTMG		0x64
 #define DDR_PCTL2_RFSHTMG1		0x68
 #define DDR_PCTL2_RFSHCTL5		0x6c
+#define DDR_PCTL2_ECCCFG0		0x70
 #define DDR_PCTL2_INIT0			0xd0
 #define DDR_PCTL2_INIT1			0xd4
 #define DDR_PCTL2_INIT2			0xd8
@@ -127,10 +128,15 @@ struct ddr_pctl_regs {
 	((0x1000 * (n) + (((n) > 0) ? 0x1000 : 0)))
 
 /* PCTL2_MSTR */
-#define PCTL2_FREQUENCY_MODE_MASK	(1)
-#define PCTL2_FREQUENCY_MODE_SHIFT	(29)
+#define PCTL2_FREQUENCY_MODE_FREQ1	BIT(29)
 #define PCTL2_DLL_OFF_MODE		BIT(15)
 /* PCTL2_STAT */
+#define PCTL2_SELFREF_STATE_MASK	(3 << 8)
+#define PCTL2_SELFREF_STATE_SHIFT	(8)
+#define PCTL2_SELFREF_STATE_IDLE	(0)
+#define PCTL2_SELFREF_STATE_SR1		(1)
+#define PCTL2_SELFREF_STATE_SR_PD	(2)
+#define PCTL2_SELFREF_STATE_SR2		(3)
 #define PCTL2_SELFREF_TYPE_MASK		(3 << 4)
 #define PCTL2_SELFREF_TYPE_SR_NOT_AUTO	(2 << 4)
 #define PCTL2_OPERATING_MODE_MASK	(7)
@@ -150,8 +156,11 @@ struct ddr_pctl_regs {
 /* PCTL2_MRSTAT */
 #define PCTL2_MR_WR_BUSY		BIT(0)
 /* PCTL2_DERATEEN */
+#define PCTL2_DERATE_MR4_PAUSE_FC	BIT(13)
+#define PCTL2_DERATE_MR4_TUF_DIS	BIT(12)
 #define PCTL2_DERATE_ENABLE		(1)
 /* PCTL2_PWRCTL */
+#define PCTL2_STAY_IN_SELFREF		BIT(6)
 #define PCTL2_SELFREF_SW		BIT(5)
 #define PCTL2_POWERDOWN_EN		BIT(1)
 #define PCTL2_SELFREF_EN		(1)
@@ -159,6 +168,12 @@ struct ddr_pctl_regs {
 #define PCTL2_SELFREF_TO_X32_MASK	(0xFF)
 #define PCTL2_SELFREF_TO_X32_SHIFT	(16)
 #define PCTL2_POWERDOWN_TO_X32_MASK	(0x1F)
+/* PCTL2_ECCCFG0*/
+#define PCTL2_ECC_MODE_MASK		(7)
+#define PCTL2_ECC_MODE_SHIFT		(0)
+#define PCTL2_ECC_MODE_DIS		(0)
+#define PCTL2_ECC_MODE_EN		(4)
+#define PCTL2_ECC_MODE_EN_ADVANCED	(5)
 /* PCTL2_INIT3 */
 #define PCTL2_DDR34_MR0_SHIFT		(16)
 #define PCTL2_LPDDR234_MR1_SHIFT	(16)
@@ -183,11 +198,16 @@ struct ddr_pctl_regs {
 
 #define PCTL2_MR_MASK			(0xffff)
 
+/* PCTL2_RANKCTL */
+#define PCTL2_DIFF_RANK_WR_GAP_SHIFT	(8)
+#define PCTL2_DIFF_RANK_WR_GAP_MASK	(0xf << 8)
+
 /* PCTL2_RFSHCTL3 */
 #define PCTL2_DIS_AUTO_REFRESH		(1)
 /* PCTL2_ZQCTL0 */
 #define PCTL2_DIS_AUTO_ZQ		BIT(31)
 #define PCTL2_DIS_SRX_ZQCL		BIT(30)
+#define PCTL2_ZQ_RESISTOR_SHARED	BIT(29)
 /* PCTL2_DFILPCFG0 */
 #define PCTL2_DFI_LP_EN_SR		BIT(8)
 #define PCTL2_DFI_LP_EN_SR_MASK		BIT(8)
@@ -197,6 +217,8 @@ struct ddr_pctl_regs {
 /* PCTL2_DFISTAT */
 #define PCTL2_DFI_LP_ACK		BIT(1)
 #define PCTL2_DFI_INIT_COMPLETE		(1)
+/* DDR_PCTL2_SCHED */
+#define PCTL2_PAGECLOSE_EN		BIT(2)
 /* PCTL2_DBG1 */
 #define PCTL2_DIS_HIF			BIT(1)
 /* PCTL2_DBGCAM */

-- 
2.25.1



More information about the U-Boot mailing list