1234567891011121314151617181920212223242526272829303132333435 |
- From a7b630f02bb12f71f23866aee6f9a1a07497d475 Mon Sep 17 00:00:00 2001
- From: Weijie Gao <[email protected]>
- Date: Wed, 19 Jul 2023 17:16:02 +0800
- Subject: [PATCH 04/29] spi: mtk_spim: clear IRQ enable bits
- In u-boot we don't use IRQ. Instead, we poll busy bit in SPI_STATUS.
- However these IRQ enable bits may be set in previous boot stage (BootROM).
- If we leave these bits not cleared, although u-boot has disabled IRQ and
- nothing will happen, the linux kernel may encounter panic during
- initializing the spim driver due to IRQ event happens before IRQ handler
- is properly setup.
- This patch clear IRQ bits to prevent this from happening.
- Signed-off-by: SkyLake.Huang <[email protected]>
- Signed-off-by: Weijie Gao <[email protected]>
- Reviewed-by: Jagan Teki <[email protected]>
- ---
- drivers/spi/mtk_spim.c | 3 +++
- 1 file changed, 3 insertions(+)
- --- a/drivers/spi/mtk_spim.c
- +++ b/drivers/spi/mtk_spim.c
- @@ -242,6 +242,9 @@ static int mtk_spim_hw_init(struct spi_s
- reg_val &= ~SPI_CMD_SAMPLE_SEL;
- }
-
- + /* Disable interrupt enable for pause mode & normal mode */
- + reg_val &= ~(SPI_CMD_PAUSE_IE | SPI_CMD_FINISH_IE);
- +
- /* disable dma mode */
- reg_val &= ~(SPI_CMD_TX_DMA | SPI_CMD_RX_DMA);
-
|