36
36
#define SPI_CFG0_SCK_LOW_OFFSET 8
37
37
#define SPI_CFG0_CS_HOLD_OFFSET 16
38
38
#define SPI_CFG0_CS_SETUP_OFFSET 24
39
- #define SPI_ADJUST_CFG0_SCK_LOW_OFFSET 16
40
39
#define SPI_ADJUST_CFG0_CS_HOLD_OFFSET 0
41
40
#define SPI_ADJUST_CFG0_CS_SETUP_OFFSET 16
42
41
48
47
#define SPI_CFG1_CS_IDLE_MASK 0xff
49
48
#define SPI_CFG1_PACKET_LOOP_MASK 0xff00
50
49
#define SPI_CFG1_PACKET_LENGTH_MASK 0x3ff0000
50
+ #define SPI_CFG2_SCK_HIGH_OFFSET 0
51
+ #define SPI_CFG2_SCK_LOW_OFFSET 16
51
52
52
53
#define SPI_CMD_ACT BIT(0)
53
54
#define SPI_CMD_RESUME BIT(1)
@@ -283,7 +284,7 @@ static void mtk_spi_set_cs(struct spi_device *spi, bool enable)
283
284
static void mtk_spi_prepare_transfer (struct spi_master * master ,
284
285
struct spi_transfer * xfer )
285
286
{
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 ;
287
288
struct mtk_spi * mdata = spi_master_get_devdata (master );
288
289
289
290
spi_clk_hz = clk_get_rate (mdata -> spi_clk );
@@ -296,18 +297,18 @@ static void mtk_spi_prepare_transfer(struct spi_master *master,
296
297
cs_time = sck_time * 2 ;
297
298
298
299
if (mdata -> dev_comp -> enhance_timing ) {
300
+ reg_val = (((sck_time - 1 ) & 0xffff )
301
+ << SPI_CFG2_SCK_HIGH_OFFSET );
299
302
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 );
303
304
writel (reg_val , mdata -> base + SPI_CFG2_REG );
304
- reg_val | = (((cs_time - 1 ) & 0xffff )
305
+ reg_val = (((cs_time - 1 ) & 0xffff )
305
306
<< SPI_ADJUST_CFG0_CS_HOLD_OFFSET );
306
307
reg_val |= (((cs_time - 1 ) & 0xffff )
307
308
<< SPI_ADJUST_CFG0_CS_SETUP_OFFSET );
308
309
writel (reg_val , mdata -> base + SPI_CFG0_REG );
309
310
} else {
310
- reg_val | = (((sck_time - 1 ) & 0xff )
311
+ reg_val = (((sck_time - 1 ) & 0xff )
311
312
<< SPI_CFG0_SCK_HIGH_OFFSET );
312
313
reg_val |= (((sck_time - 1 ) & 0xff ) << SPI_CFG0_SCK_LOW_OFFSET );
313
314
reg_val |= (((cs_time - 1 ) & 0xff ) << SPI_CFG0_CS_HOLD_OFFSET );
0 commit comments