ramips: mt7621_nand: initialize ECC_FDMADDR

This is needed for the ECC controller to access FDM data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 73b2a4ca03)
This commit is contained in:
Felix Fietkau 2022-03-09 20:46:21 +01:00
parent 1918404b1d
commit cc8326443d

View File

@ -214,6 +214,7 @@ struct mt7621_nfc {
struct clk *nfi_clk; struct clk *nfi_clk;
struct device *dev; struct device *dev;
u32 nfi_base;
void __iomem *nfi_regs; void __iomem *nfi_regs;
void __iomem *ecc_regs; void __iomem *ecc_regs;
@ -860,6 +861,8 @@ static int mt7621_nfc_ecc_init(struct mt7621_nfc *nfc)
(decode_block_size << DEC_CS_S) | (decode_block_size << DEC_CS_S) |
(DEC_CON_EL << DEC_CON_S) | DEC_EMPTY_EN; (DEC_CON_EL << DEC_CON_S) | DEC_EMPTY_EN;
ecc_write32(nfc, ECC_FDMADDR, nfc->nfi_base + NFI_FDML(0));
mt7621_ecc_encoder_op(nfc, false); mt7621_ecc_encoder_op(nfc, false);
ecc_write32(nfc, ECC_ENCCNFG, ecc_enccfg); ecc_write32(nfc, ECC_ENCCNFG, ecc_enccfg);
@ -1277,6 +1280,7 @@ static int mt7621_nfc_probe(struct platform_device *pdev)
nfc->dev = dev; nfc->dev = dev;
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "nfi"); res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "nfi");
nfc->nfi_base = res->start;
nfc->nfi_regs = devm_ioremap_resource(dev, res); nfc->nfi_regs = devm_ioremap_resource(dev, res);
if (IS_ERR(nfc->nfi_regs)) { if (IS_ERR(nfc->nfi_regs)) {
ret = PTR_ERR(nfc->nfi_regs); ret = PTR_ERR(nfc->nfi_regs);