Commit 1ad18b77 authored by Tomasz Wlostowski's avatar Tomasz Wlostowski Committed by Alessandro Rubini

gpio.c: dummy SPI transfer after the real one to ensure high state on all CS lines

parent 206ec171
......@@ -236,6 +236,7 @@ enum fd_acam_modes {
#define ACAM_MASK ((1<<29) - 1) /* 28 bits */
/* SPI Bus chip selects */
#define FD_CS_NONE 0 /* Nothing */
#define FD_CS_PLL 1 /* AD9516 PLL */
#define FD_CS_GPIO 2 /* MCP23S17 GPIO */
......
......@@ -18,8 +18,13 @@
static int gpio_writel(struct spec_fd *fd, int val, int reg)
{
return fd_spi_xfer(fd, FD_CS_GPIO, 24,
int rval = fd_spi_xfer(fd, FD_CS_GPIO, 24,
0x4e0000 | (reg << 8) | val, NULL);
fd_spi_xfer(fd, FD_CS_NONE, 24,
0, NULL);
return rval;
}
static int gpio_readl(struct spec_fd *fd, int reg)
......@@ -29,6 +34,10 @@ static int gpio_readl(struct spec_fd *fd, int reg)
err = fd_spi_xfer(fd, FD_CS_GPIO, 24,
0x4f0000 | (reg << 8), &ret);
fd_spi_xfer(fd, FD_CS_NONE, 24,
0, NULL);
if (err < 0)
return err;
return ret & 0xff;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment