9
0
Fork 0

spi: i.MX: Simplify cspi_0_0_init()

Use SPI module software reset to simplify cspi_0_0_init().

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Alexander Shiyan 2014-04-10 20:23:41 +04:00 committed by Sascha Hauer
parent e9ab71561b
commit 6a40096a6c
1 changed files with 5 additions and 7 deletions

View File

@ -67,6 +67,8 @@
#define CSPI_0_0_TEST_LBC (1 << 14)
#define CSPI_0_0_RESET_START (1 << 0)
#define CSPI_0_7_RXDATA 0x00
#define CSPI_0_7_TXDATA 0x04
#define CSPI_0_7_CTRL 0x08
@ -197,13 +199,9 @@ static void cspi_0_0_init(struct imx_spi *imx)
{
void __iomem *base = imx->regs;
writel(CSPI_0_0_CTRL_ENABLE | CSPI_0_0_CTRL_MASTER,
base + CSPI_0_0_CTRL);
writel(CSPI_0_0_PERIOD_32KHZ,
base + CSPI_0_0_PERIOD);
while (readl(base + CSPI_0_0_INT) & CSPI_0_0_STAT_RR)
readl(base + CSPI_0_0_RXDATA);
writel(0, base + CSPI_0_0_INT);
writel(CSPI_0_0_RESET_START, base + CSPI_0_0_RESET);
do {
} while (readl(base + CSPI_0_0_RESET) & CSPI_0_0_RESET_START);
}
static unsigned int cspi_0_7_xchg_single(struct imx_spi *imx, unsigned int data)