spi: xilinx_spi: Fix to configure CPOL, CPHA mask
authorJagan Teki <jteki@openedev.com>
Mon, 7 Sep 2015 19:56:29 +0000 (01:26 +0530)
committerJagan Teki <jteki@openedev.com>
Sun, 11 Oct 2015 11:13:06 +0000 (16:43 +0530)
priv->mode is initialized when .set_speed triggers
with mode value, so checking mode for configuring
CPOL, CPHA using priv->mode is invalid hence use
mode from .set_speed argument, and at the end
priv->mode will initialized with mode.

This patch also replaces formatting string to use
speed instead of mode in .set_speed ops.

Signed-off-by: Jagan Teki <jteki@openedev.com>
drivers/spi/xilinx_spi.c

index 6c21acda576fdd569531b7dd7b1535327d6d06b3..8ccc5780c9d1ded02212b8d376dc31329583678c 100644 (file)
@@ -247,7 +247,7 @@ static int xilinx_spi_set_speed(struct udevice *bus, uint speed)
 
        priv->freq = speed;
 
-       debug("xilinx_spi_set_speed: regs=%p, mode=%d\n", priv->regs,
+       debug("xilinx_spi_set_speed: regs=%p, speed=%d\n", priv->regs,
              priv->freq);
 
        return 0;
@@ -260,13 +260,13 @@ static int xilinx_spi_set_mode(struct udevice *bus, uint mode)
        uint32_t spicr;
 
        spicr = readl(&regs->spicr);
-       if (priv->mode & SPI_LSB_FIRST)
+       if (mode & SPI_LSB_FIRST)
                spicr |= SPICR_LSB_FIRST;
-       if (priv->mode & SPI_CPHA)
+       if (mode & SPI_CPHA)
                spicr |= SPICR_CPHA;
-       if (priv->mode & SPI_CPOL)
+       if (mode & SPI_CPOL)
                spicr |= SPICR_CPOL;
-       if (priv->mode & SPI_LOOP)
+       if (mode & SPI_LOOP)
                spicr |= SPICR_LOOP;
 
        writel(spicr, &regs->spicr);