summaryrefslogtreecommitdiff
path: root/src/soc/mediatek/mt8173
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/mediatek/mt8173')
-rw-r--r--src/soc/mediatek/mt8173/include/soc/spi.h34
-rw-r--r--src/soc/mediatek/mt8173/spi.c14
2 files changed, 9 insertions, 39 deletions
diff --git a/src/soc/mediatek/mt8173/include/soc/spi.h b/src/soc/mediatek/mt8173/include/soc/spi.h
index 47da0f80cd..b267aa0d92 100644
--- a/src/soc/mediatek/mt8173/include/soc/spi.h
+++ b/src/soc/mediatek/mt8173/include/soc/spi.h
@@ -7,32 +7,16 @@
#define SPI_BUS_NUMBER 1
-/* SPI peripheral register map. */
-typedef struct mtk_spi_regs {
- uint32_t spi_cfg0_reg;
- uint32_t spi_cfg1_reg;
- uint32_t spi_tx_src_reg;
- uint32_t spi_rx_dst_reg;
- uint32_t spi_tx_data_reg;
- uint32_t spi_rx_data_reg;
- uint32_t spi_cmd_reg;
- uint32_t spi_status0_reg;
- uint32_t spi_status1_reg;
- uint32_t spi_pad_macro_sel_reg;
-} mtk_spi_regs;
+#define GET_SCK_REG(x) x->spi_cfg0_reg
-check_member(mtk_spi_regs, spi_pad_macro_sel_reg, 0x24);
+DEFINE_BITFIELD(SPI_CFG_SCK_HIGH, 7, 0)
+DEFINE_BITFIELD(SPI_CFG_SCK_LOW, 15, 8)
+DEFINE_BITFIELD(SPI_CFG_CS_HOLD, 23, 16)
+DEFINE_BITFIELD(SPI_CFG_CS_SETUP, 31, 24)
-enum {
- SPI_CFG0_SCK_HIGH_SHIFT = 0,
- SPI_CFG0_SCK_LOW_SHIFT = 8,
- SPI_CFG0_CS_HOLD_SHIFT = 16,
- SPI_CFG0_CS_SETUP_SHIFT = 24,
-};
-
-enum {
- SPI_CFG1_TICK_DLY_SHIFT = 30,
- SPI_CFG1_TICK_DLY_MASK = 0x3 << SPI_CFG1_TICK_DLY_SHIFT,
-};
+DEFINE_BITFIELD(SPI_CFG1_CS_IDLE, 7, 0)
+DEFINE_BITFIELD(SPI_CFG1_PACKET_LOOP, 15, 8)
+DEFINE_BITFIELD(SPI_CFG1_PACKET_LENGTH, 28, 16)
+DEFINE_BITFIELD(SPI_CFG1_TICK_DLY, 31, 29)
#endif
diff --git a/src/soc/mediatek/mt8173/spi.c b/src/soc/mediatek/mt8173/spi.c
index 4abd650bd9..d3c8ad4cbb 100644
--- a/src/soc/mediatek/mt8173/spi.c
+++ b/src/soc/mediatek/mt8173/spi.c
@@ -26,20 +26,6 @@ void mtk_spi_set_gpio_pinmux(unsigned int bus,
gpio_set_mode(GPIO(MSDC2_CMD), 0);
}
-void mtk_spi_set_timing(struct mtk_spi_regs *regs, u32 sck_ticks, u32 cs_ticks,
- unsigned int tick_dly)
-{
- write32(&regs->spi_cfg0_reg,
- ((sck_ticks - 1) << SPI_CFG0_SCK_HIGH_SHIFT) |
- ((sck_ticks - 1) << SPI_CFG0_SCK_LOW_SHIFT) |
- ((cs_ticks - 1) << SPI_CFG0_CS_HOLD_SHIFT) |
- ((cs_ticks - 1) << SPI_CFG0_CS_SETUP_SHIFT));
- clrsetbits32(&regs->spi_cfg1_reg, SPI_CFG1_CS_IDLE_MASK |
- SPI_CFG1_TICK_DLY_MASK,
- (tick_dly << SPI_CFG1_TICK_DLY_SHIFT) |
- ((cs_ticks - 1) << SPI_CFG1_CS_IDLE_SHIFT));
-}
-
static const struct spi_ctrlr spi_flash_ctrlr = {
.max_xfer_size = 65535,
.flash_probe = mtk_spi_flash_probe,