]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
memory: renesas-rpc-if: Clear HS bit during hardware initialization
authorCong Dang <cong.dang.xn@renesas.com>
Wed, 12 Oct 2022 14:01:51 +0000 (16:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:31:48 +0000 (13:31 +0100)
[ Upstream commit 5192481f908e576be42bd39ec12979b79e11f7e0 ]

According to the datasheet, HS bit should be specified to 1 when using
DMA transfer. As DMA transfer is not supported, it should be cleared to
0.

Previously, the driver relied on the HS bit being cleared by prior
firmware but this is not always the case.

Fix this by ensuring the bit is cleared during hardware initialization.

Fixes: ca7d8b980b67 ("memory: add Renesas RPC-IF driver")
Signed-off-by: Cong Dang <cong.dang.xn@renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/08d9fb10b3051decebf871267a6e2e7cb2d4faf9.1665583089.git.geert+renesas@glider.be
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/memory/renesas-rpc-if.c

index 4316988d791a527f48bc845b27cdd26cc46874b9..61c288d403750b14046a1d96fd7d508a22c5132b 100644 (file)
@@ -317,6 +317,9 @@ int rpcif_hw_init(struct rpcif *rpc, bool hyperflash)
        regmap_update_bits(rpc->regmap, RPCIF_PHYCNT, RPCIF_PHYCNT_PHYMEM_MASK,
                           RPCIF_PHYCNT_PHYMEM(hyperflash ? 3 : 0));
 
+       /* DMA Transfer is not supported */
+       regmap_update_bits(rpc->regmap, RPCIF_PHYCNT, RPCIF_PHYCNT_HS, 0);
+
        if (rpc->type == RPCIF_RCAR_GEN3)
                regmap_update_bits(rpc->regmap, RPCIF_PHYCNT,
                                   RPCIF_PHYCNT_STRTIM(7), RPCIF_PHYCNT_STRTIM(7));