ram: ast2600: Fix incorrect statement of the register polling
authorDylan Hung <dylan_hung@aspeedtech.com>
Fri, 11 Nov 2022 07:30:06 +0000 (15:30 +0800)
committerTom Rini <trini@konsulko.com>
Thu, 24 Nov 2022 21:25:54 +0000 (16:25 -0500)
The condition "~data" in the if-statement is a typo.  The original
intention is to poll if SDRAM_PHYCTRL0_INIT bit equals to 0. So use
"data == 0" for instead.

Besides, the bit[1] of "phy_status" register is hardwired to
SDRAM_PHYCTRL0_INIT (with inverse logic). Since SDRAM_PHYCTRL0_INIT has
already done, remove the unnecessary checking of phy_status[1].

Fixes: fde93143469f ("ram: aspeed: Add AST2600 DRAM control support")
Review-by: Ryan Chen <ryan_chen@aspeedtech.com>
Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
drivers/ram/aspeed/sdram_ast2600.c

index 9ad398d..b09232a 100644 (file)
@@ -449,7 +449,7 @@ static void ast2600_sdramphy_kick_training(struct dram_info *info)
 
        while (1) {
                data = readl(&regs->phy_ctrl[0]) & SDRAM_PHYCTRL0_INIT;
-               if (~data)
+               if (data == 0)
                        break;
        }
 }
@@ -984,11 +984,6 @@ static int ast2600_sdrammc_probe(struct udevice *dev)
 L_ast2600_sdramphy_train:
        ast2600_sdrammc_init_ddr4(priv);
 
-       /* make sure DDR-PHY is ready before access */
-       do {
-               reg = readl(priv->phy_status) & BIT(1);
-       } while (reg == 0);
-
        if (ast2600_sdramphy_check_status(priv) != 0) {
                printf("DDR4 PHY training fail, retrain\n");
                goto L_ast2600_sdramphy_train;