ram: ast2600: Fix incorrect statement of the register polling
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: fde9314346 ("ram: aspeed: Add AST2600 DRAM control support")
Review-by: Ryan Chen <ryan_chen@aspeedtech.com>
Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
This commit is contained in:
@@ -449,7 +449,7 @@ static void ast2600_sdramphy_kick_training(struct dram_info *info)
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
data = readl(®s->phy_ctrl[0]) & SDRAM_PHYCTRL0_INIT;
|
data = readl(®s->phy_ctrl[0]) & SDRAM_PHYCTRL0_INIT;
|
||||||
if (~data)
|
if (data == 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -984,11 +984,6 @@ static int ast2600_sdrammc_probe(struct udevice *dev)
|
|||||||
L_ast2600_sdramphy_train:
|
L_ast2600_sdramphy_train:
|
||||||
ast2600_sdrammc_init_ddr4(priv);
|
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) {
|
if (ast2600_sdramphy_check_status(priv) != 0) {
|
||||||
printf("DDR4 PHY training fail, retrain\n");
|
printf("DDR4 PHY training fail, retrain\n");
|
||||||
goto L_ast2600_sdramphy_train;
|
goto L_ast2600_sdramphy_train;
|
||||||
|
|||||||
Reference in New Issue
Block a user