[DDR] Clarify on PWR_MGMT_CTRL errors/warnings
authorBrad Griffis <bgriffis@ti.com>
Fri, 10 May 2019 19:32:02 +0000 (14:32 -0500)
committerBrad Griffis <bgriffis@ti.com>
Fri, 10 May 2019 19:32:02 +0000 (14:32 -0500)
am335x-ddr-analysis.dss

index 12ff81e0f3ecb581d381ff53efcdfc0787a0c485..5bd6b48b4f51bf158d3b03fe1557324366a1a5ee 100644 (file)
@@ -396,9 +396,13 @@ if (original_CM_PER_L3_CLKSTCTRL & 1<<2) {
                        file.write(" * Bits 10:8 reg_lp_mode set to " + d2d(reg_lp_mode) + ", auto power management disabled" + newline);
                        break;
        }
-       if ( (reg_val & 0xF0) < 0x90 ) {
-               file.write(" * ERROR: Bits 7:4 (reg_sr_tim) are in violation of Maximum Self-Refresh Command Limit\n");
-               file.write(" * Please see the silicon errata for more details.\n");
+       reg_sr_tim = bits32(reg_val, 7, 4);
+       if ( (reg_sr_tim < 9) & (reg_lp_mode != 2) ) {
+               file.write(" * Warning: Bits 7:4 (reg_sr_tim) are in violation of Maximum Self-Refresh Command Limit" + newline);
+               file.write("   -> Please see the silicon errata (DDR3: JEDEC Compliance for Maximum Self-Refresh Command Limit) for more details." + newline);
+               file.write("   -> This is only an issue if used in conjunction with reg_lp_mode=2." + newline)
+       } else if ( (reg_sr_tim < 9) & (reg_lp_mode == 2) ) {
+               file.write(" * ERROR: Bits 7:4 (reg_sr_tim) are in violation of Maximum Self-Refresh Command Limit" + newline);
        }
        
        // DDR PHY: DDR_PHY_CTRL_1