diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c index 66d04ee4fe5f..733e88c70e75 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -909,6 +909,8 @@ static int rockchip_spi_setup(struct spi_device *spi) cr0 |= BIT(spi->chip_select) << CR0_SOI_OFFSET; else if (spi->chip_select <= 1) cr0 &= ~(BIT(spi->chip_select) << CR0_SOI_OFFSET); + if (spi_controller_is_slave(spi->controller)) + cr0 |= CR0_OPM_SLAVE << CR0_OPM_OFFSET; writel_relaxed(cr0, rs->regs + ROCKCHIP_SPI_CTRLR0);