Lines Matching refs:scr
1484 static inline u32 spi_rate(u32 rate, u16 cpsdvsr, u16 scr)
1486 return rate / (cpsdvsr * (1 + scr));
1493 u16 cpsdvsr = CPSDVR_MIN, scr = SCR_MIN;
1498 /* cpsdvscr = 2 & scr 0 */
1500 /* cpsdvsr = 254 & scr = 255 */
1517 * freq) for all values of scr & cpsdvsr.
1520 while (scr <= SCR_MAX) {
1521 tmp = spi_rate(rate, cpsdvsr, scr);
1525 scr++;
1536 best_scr = scr;
1542 * increased scr will give lower rates, which are not
1548 scr = SCR_MIN;
1551 WARN(!best_freq, "pl022: Matching cpsdvsr and scr not found for %d Hz rate \n",
1555 clk_freq->scr = (u8) (best_scr & 0xFF);
1559 dev_dbg(&pl022->adev->dev, "SSP cpsdvsr = %d, scr = %d\n",
1560 clk_freq->cpsdvsr, clk_freq->scr);
1598 struct ssp_clock_params clk_freq = { .cpsdvsr = 0, .scr = 0};
1658 && (0 == chip_info->clk_freq.scr)) {
1793 SSP_WRITE_BITS(chip->cr0, clk_freq.scr, SSP_CR0_MASK_SCR, 8);