};
struct rzv2h_rspi_info {
- void (*find_tclk_rate)(struct clk *clk, u32 hz, u8 spr_min, u8 spr_max,
+ void (*find_tclk_rate)(struct clk *clk, u32 hz,
struct rzv2h_rspi_best_clock *best_clk);
- void (*find_pclk_rate)(struct clk *clk, u32 hz, u8 spr_low, u8 spr_high,
+ void (*find_pclk_rate)(struct clk *clk, u32 hz,
struct rzv2h_rspi_best_clock *best_clk);
const char *tclk_name;
unsigned int fifo_size;
}
static void rzv2h_rspi_find_rate_variable(struct clk *clk, u32 hz,
- u8 spr_min, u8 spr_max,
struct rzv2h_rspi_best_clock *best)
{
long clk_rate, clk_min_rate, clk_max_rate;
* minimum SPR that is in the valid range.
*/
min_rate_spr = DIV_ROUND_CLOSEST(clk_min_rate, rate_div) - 1;
- if (min_rate_spr > spr_max)
+ if (min_rate_spr > RSPI_SPBR_SPR_MAX)
continue;
/*
* maximum SPR that is in the valid range.
*/
max_rate_spr = DIV_ROUND_CLOSEST(clk_max_rate, rate_div) - 1;
- if (max_rate_spr < spr_min)
+ if (max_rate_spr < RSPI_SPBR_SPR_MIN)
break;
- if (min_rate_spr < spr_min)
- min_rate_spr = spr_min;
+ if (min_rate_spr < RSPI_SPBR_SPR_MIN)
+ min_rate_spr = RSPI_SPBR_SPR_MIN;
- if (max_rate_spr > spr_max)
- max_rate_spr = spr_max;
+ if (max_rate_spr > RSPI_SPBR_SPR_MAX)
+ max_rate_spr = RSPI_SPBR_SPR_MAX;
for (spr = min_rate_spr; spr <= max_rate_spr; spr++) {
clk_rate = (spr + 1) * rate_div;
}
static void rzv2h_rspi_find_rate_fixed(struct clk *clk, u32 hz,
- u8 spr_min, u8 spr_max,
struct rzv2h_rspi_best_clock *best)
{
unsigned long clk_rate;
*/
if (!spr && !brdv)
continue;
- if (spr >= spr_min && spr <= spr_max)
+ if (spr >= RSPI_SPBR_SPR_MIN && spr <= RSPI_SPBR_SPR_MAX)
goto clock_found;
}
};
int ret;
- rspi->info->find_tclk_rate(rspi->tclk, hz, RSPI_SPBR_SPR_MIN,
- RSPI_SPBR_SPR_MAX, &best_clock);
+ rspi->info->find_tclk_rate(rspi->tclk, hz, &best_clock);
if (best_clock.error && rspi->info->find_pclk_rate)
- rspi->info->find_pclk_rate(rspi->pclk, hz, RSPI_SPBR_SPR_MIN,
- RSPI_SPBR_SPR_MAX, &best_clock);
+ rspi->info->find_pclk_rate(rspi->pclk, hz, &best_clock);
if (!best_clock.clk_rate)
return -EINVAL;