s5j/spi: fix initialization bug of SPI driver
authorIvan <ivan.galkin@samsung.com>
Mon, 10 Apr 2017 18:41:33 +0000 (03:41 +0900)
committerHeesub Shin <heesub.shin@samsung.com>
Tue, 18 Apr 2017 03:02:13 +0000 (12:02 +0900)
Durung code rework, hardcoding was replaced by macro definitions.
Function setmode had to have inverted MASK to clear bitfields.
It was not invered, therefore all bits except mode were cleared.

Change-Id: Ib7ca3e00f81b55d7c8593a55091ea00e05047853
Signed-off-by: Ivan <ivan.galkin@samsung.com>
os/arch/arm/src/s5j/s5j_spi.c

index 5a03919..9727ec9 100644 (file)
@@ -443,7 +443,7 @@ static void spi_setmode(struct spi_dev_s *dev, enum spi_mode_e mode)
        unsigned int ch_cfg;
 
        ch_cfg = getreg32(&pSPIRegs->CH_CFG);
-       ch_cfg = (ch_cfg & CH_CFG_MODE_MASK) | CH_CFG_MODE(mode);
+       ch_cfg = (ch_cfg & (~CH_CFG_MODE_MASK)) | CH_CFG_MODE(mode);
        putreg32(ch_cfg, &pSPIRegs->CH_CFG);
 }