Skip to content

Commit 44b37eb

Browse files
leilkliubroonie
authored andcommitted
spi: mediatek: use correct SPI_CFG2_REG MACRO
this patch use correct SPI_CFG2_REG offset. Signed-off-by: leilk.liu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent cf961fc commit 44b37eb

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

drivers/spi/spi-mt65xx.c

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
#define SPI_CFG0_SCK_LOW_OFFSET 8
3737
#define SPI_CFG0_CS_HOLD_OFFSET 16
3838
#define SPI_CFG0_CS_SETUP_OFFSET 24
39-
#define SPI_ADJUST_CFG0_SCK_LOW_OFFSET 16
4039
#define SPI_ADJUST_CFG0_CS_HOLD_OFFSET 0
4140
#define SPI_ADJUST_CFG0_CS_SETUP_OFFSET 16
4241

@@ -48,6 +47,8 @@
4847
#define SPI_CFG1_CS_IDLE_MASK 0xff
4948
#define SPI_CFG1_PACKET_LOOP_MASK 0xff00
5049
#define SPI_CFG1_PACKET_LENGTH_MASK 0x3ff0000
50+
#define SPI_CFG2_SCK_HIGH_OFFSET 0
51+
#define SPI_CFG2_SCK_LOW_OFFSET 16
5152

5253
#define SPI_CMD_ACT BIT(0)
5354
#define SPI_CMD_RESUME BIT(1)
@@ -283,7 +284,7 @@ static void mtk_spi_set_cs(struct spi_device *spi, bool enable)
283284
static void mtk_spi_prepare_transfer(struct spi_master *master,
284285
struct spi_transfer *xfer)
285286
{
286-
u32 spi_clk_hz, div, sck_time, cs_time, reg_val = 0;
287+
u32 spi_clk_hz, div, sck_time, cs_time, reg_val;
287288
struct mtk_spi *mdata = spi_master_get_devdata(master);
288289

289290
spi_clk_hz = clk_get_rate(mdata->spi_clk);
@@ -296,18 +297,18 @@ static void mtk_spi_prepare_transfer(struct spi_master *master,
296297
cs_time = sck_time * 2;
297298

298299
if (mdata->dev_comp->enhance_timing) {
300+
reg_val = (((sck_time - 1) & 0xffff)
301+
<< SPI_CFG2_SCK_HIGH_OFFSET);
299302
reg_val |= (((sck_time - 1) & 0xffff)
300-
<< SPI_CFG0_SCK_HIGH_OFFSET);
301-
reg_val |= (((sck_time - 1) & 0xffff)
302-
<< SPI_ADJUST_CFG0_SCK_LOW_OFFSET);
303+
<< SPI_CFG2_SCK_LOW_OFFSET);
303304
writel(reg_val, mdata->base + SPI_CFG2_REG);
304-
reg_val |= (((cs_time - 1) & 0xffff)
305+
reg_val = (((cs_time - 1) & 0xffff)
305306
<< SPI_ADJUST_CFG0_CS_HOLD_OFFSET);
306307
reg_val |= (((cs_time - 1) & 0xffff)
307308
<< SPI_ADJUST_CFG0_CS_SETUP_OFFSET);
308309
writel(reg_val, mdata->base + SPI_CFG0_REG);
309310
} else {
310-
reg_val |= (((sck_time - 1) & 0xff)
311+
reg_val = (((sck_time - 1) & 0xff)
311312
<< SPI_CFG0_SCK_HIGH_OFFSET);
312313
reg_val |= (((sck_time - 1) & 0xff) << SPI_CFG0_SCK_LOW_OFFSET);
313314
reg_val |= (((cs_time - 1) & 0xff) << SPI_CFG0_CS_HOLD_OFFSET);

0 commit comments

Comments
 (0)