Lines Matching refs:cpsdvsr
1731 static inline u32 spi_rate(u32 rate, u16 cpsdvsr, u16 scr)
1733 return rate / (cpsdvsr * (1 + scr));
1740 u16 cpsdvsr = CPSDVR_MIN, scr = SCR_MIN;
1747 /* cpsdvsr = 254 & scr = 255 */
1764 * freq) for all values of scr & cpsdvsr.
1766 while ((cpsdvsr <= CPSDVR_MAX) && !found) {
1768 tmp = spi_rate(rate, cpsdvsr, scr);
1782 best_cpsdvsr = cpsdvsr;
1794 cpsdvsr += 2;
1798 WARN(!best_freq, "pl022: Matching cpsdvsr and scr not found for %d Hz rate \n",
1801 clk_freq->cpsdvsr = (u8) (best_cpsdvsr & 0xFF);
1806 dev_dbg(&pl022->adev->dev, "SSP cpsdvsr = %d, scr = %d\n",
1807 clk_freq->cpsdvsr, clk_freq->scr);
1845 struct ssp_clock_params clk_freq = { .cpsdvsr = 0, .scr = 0};
1904 if ((0 == chip_info->clk_freq.cpsdvsr)
1913 if ((clk_freq.cpsdvsr % 2) != 0)
1914 clk_freq.cpsdvsr =
1915 clk_freq.cpsdvsr - 1;
1917 if ((clk_freq.cpsdvsr < CPSDVR_MIN)
1918 || (clk_freq.cpsdvsr > CPSDVR_MAX)) {
1921 "cpsdvsr is configured incorrectly\n");
1983 chip->cpsr = clk_freq.cpsdvsr;