Lines Matching full:ick
288 u32 cdf, round, ick, sum, scl, cdf_width; in rcar_i2c_clock_calculate() local
307 * ick = clkp / (1 + CDF) in rcar_i2c_clock_calculate()
308 * SCL = ick / (20 + SCGD * 8 + F[(ticf + tr + intd) * ick]) in rcar_i2c_clock_calculate()
313 * ick : I2C internal clock < 20 MHz in rcar_i2c_clock_calculate()
332 ick = rate / (priv->devtype < I2C_RCAR_GEN3 ? (cdf + 1) : 1); in rcar_i2c_clock_calculate()
337 * F[(ticf + tr + intd) * ick] with sum = (ticf + tr + intd) in rcar_i2c_clock_calculate()
338 * = F[sum * ick / 1000000000] in rcar_i2c_clock_calculate()
339 * = F[(ick / 1000000) * sum / 1000] in rcar_i2c_clock_calculate()
342 round = DIV_ROUND_CLOSEST(ick, 1000000); in rcar_i2c_clock_calculate()
348 * SCL = ick / (20 + 8 * SCGD + F[(ticf + tr + intd) * ick]) in rcar_i2c_clock_calculate()
349 * 20 + 8 * SCGD + F[...] = ick / SCL in rcar_i2c_clock_calculate()
350 * SCGD = ((ick / SCL) - 20 - F[...]) / 8 in rcar_i2c_clock_calculate()
353 scgd = DIV_ROUND_UP(ick, t.bus_freq_hz ?: 1); in rcar_i2c_clock_calculate()
355 scl = ick / (20 + 8 * scgd + round); in rcar_i2c_clock_calculate()