spi: mediatek: remove mtk_spi_config
mtk_spi_config() and mtk_spi_prepare_message() both initialize spi register, so remove mtk_spi_config() and init all register in mtk_spi_prepare_message(). Signed-off-by: Leilk Liu <leilk.liu@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
eca3a1ee8d
commit
79b5d3f24d
|
@ -131,10 +131,34 @@ static void mtk_spi_reset(struct mtk_spi *mdata)
|
|||
writel(reg_val, mdata->base + SPI_CMD_REG);
|
||||
}
|
||||
|
||||
static void mtk_spi_config(struct mtk_spi *mdata,
|
||||
struct mtk_chip_config *chip_config)
|
||||
static int mtk_spi_prepare_message(struct spi_master *master,
|
||||
struct spi_message *msg)
|
||||
{
|
||||
u16 cpha, cpol;
|
||||
u32 reg_val;
|
||||
struct mtk_chip_config *chip_config;
|
||||
struct spi_device *spi = msg->spi;
|
||||
struct mtk_spi *mdata = spi_master_get_devdata(master);
|
||||
|
||||
cpha = spi->mode & SPI_CPHA ? 1 : 0;
|
||||
cpol = spi->mode & SPI_CPOL ? 1 : 0;
|
||||
|
||||
chip_config = spi->controller_data;
|
||||
if (!chip_config) {
|
||||
chip_config = (void *)&mtk_default_chip_info;
|
||||
spi->controller_data = chip_config;
|
||||
}
|
||||
|
||||
reg_val = readl(mdata->base + SPI_CMD_REG);
|
||||
if (cpha)
|
||||
reg_val |= SPI_CMD_CPHA;
|
||||
else
|
||||
reg_val &= ~SPI_CMD_CPHA;
|
||||
if (cpol)
|
||||
reg_val |= SPI_CMD_CPOL;
|
||||
else
|
||||
reg_val &= ~SPI_CMD_CPOL;
|
||||
writel(reg_val, mdata->base + SPI_CMD_REG);
|
||||
|
||||
reg_val = readl(mdata->base + SPI_CMD_REG);
|
||||
|
||||
|
@ -171,37 +195,6 @@ static void mtk_spi_config(struct mtk_spi *mdata,
|
|||
/* pad select */
|
||||
if (mdata->dev_comp->need_pad_sel)
|
||||
writel(mdata->pad_sel, mdata->base + SPI_PAD_SEL_REG);
|
||||
}
|
||||
|
||||
static int mtk_spi_prepare_message(struct spi_master *master,
|
||||
struct spi_message *msg)
|
||||
{
|
||||
u32 reg_val;
|
||||
u8 cpha, cpol;
|
||||
struct mtk_chip_config *chip_config;
|
||||
struct spi_device *spi = msg->spi;
|
||||
struct mtk_spi *mdata = spi_master_get_devdata(master);
|
||||
|
||||
cpha = spi->mode & SPI_CPHA ? 1 : 0;
|
||||
cpol = spi->mode & SPI_CPOL ? 1 : 0;
|
||||
|
||||
reg_val = readl(mdata->base + SPI_CMD_REG);
|
||||
if (cpha)
|
||||
reg_val |= SPI_CMD_CPHA;
|
||||
else
|
||||
reg_val &= ~SPI_CMD_CPHA;
|
||||
if (cpol)
|
||||
reg_val |= SPI_CMD_CPOL;
|
||||
else
|
||||
reg_val &= ~SPI_CMD_CPOL;
|
||||
writel(reg_val, mdata->base + SPI_CMD_REG);
|
||||
|
||||
chip_config = spi->controller_data;
|
||||
if (!chip_config) {
|
||||
chip_config = (void *)&mtk_default_chip_info;
|
||||
spi->controller_data = chip_config;
|
||||
}
|
||||
mtk_spi_config(mdata, chip_config);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue