| .. | .. |
|---|
| 478 | 478 | { |
|---|
| 479 | 479 | u32 i; |
|---|
| 480 | 480 | |
|---|
| 481 | | - /* burst size: 1, 2, 4, 8 */ |
|---|
| 482 | | - for (i = 1; i < 8; i <<= 1) { |
|---|
| 481 | + /* burst size: 1, 2, 4, 8, 16 */ |
|---|
| 482 | + for (i = 1; i < 16; i <<= 1) { |
|---|
| 483 | 483 | if (data_len & i) |
|---|
| 484 | 484 | break; |
|---|
| 485 | 485 | } |
|---|
| .. | .. |
|---|
| 906 | 906 | cr0 |= ((spi->mode & 0x3) << CR0_SCPH_OFFSET); |
|---|
| 907 | 907 | if (spi->mode & SPI_CS_HIGH) |
|---|
| 908 | 908 | cr0 |= BIT(spi->chip_select) << CR0_SOI_OFFSET; |
|---|
| 909 | + if (spi_controller_is_slave(spi->controller)) |
|---|
| 910 | + cr0 |= CR0_OPM_SLAVE << CR0_OPM_OFFSET; |
|---|
| 909 | 911 | |
|---|
| 910 | 912 | writel_relaxed(cr0, rs->regs + ROCKCHIP_SPI_CTRLR0); |
|---|
| 911 | 913 | |
|---|