Lines Matching full:smd
106 * SMD should be smaller than SCLD/SCHD and is always around 20 in the docs.
156 u8 smd; member
255 rcar_i2c_write(priv, ICMPR, priv->smd); in rcar_i2c_init()
300 priv->smd = RCAR_DEFAULT_SMD; in rcar_i2c_clock_calculate()
311 * SCL = clkp / (8 + SMD * 2 + SCLD + SCHD +F[(ticf + tr + intd) * clkp]) in rcar_i2c_clock_calculate()
367 * SCLD/SCHD ratio and SMD default value are explained above in rcar_i2c_clock_calculate()
371 * SCL = clkp / (8 + 2 * SMD + SCLD + SCHD + F[(ticf + tr + intd) * clkp]) in rcar_i2c_clock_calculate()
372 * SCL = clkp / (8 + 2 * SMD + RCAR_SCLD_RATIO * x in rcar_i2c_clock_calculate()
377 * SCL = clkp / (8 + 2 * smd + sum_ratio * x + F[...]) in rcar_i2c_clock_calculate()
378 * 8 + 2 * smd + sum_ratio * x + F[...] = clkp / SCL in rcar_i2c_clock_calculate()
379 * x = ((clkp / SCL) - 8 - 2 * smd - F[...]) / sum_ratio in rcar_i2c_clock_calculate()
382 x = DIV_ROUND_UP(x - 8 - 2 * priv->smd - round, sum_ratio); in rcar_i2c_clock_calculate()
383 scl = rate / (8 + 2 * priv->smd + sum_ratio * x + round); in rcar_i2c_clock_calculate()
391 if (priv->smd >= priv->schd) in rcar_i2c_clock_calculate()
392 priv->smd = priv->schd - 1; in rcar_i2c_clock_calculate()
394 dev_dbg(dev, "clk %u/%u(%lu), round %u, CDF: %u SCHD %u SCLD %u SMD %u\n", in rcar_i2c_clock_calculate()
395 scl, t.bus_freq_hz, rate, round, cdf, priv->schd, priv->scld, priv->smd); in rcar_i2c_clock_calculate()