Lines Matching refs:lcnt

563 	u8 hcnt, lcnt;  in dw_i3c_clk_cfg()  local
575 lcnt = DIV_ROUND_UP(core_rate, master->base.bus.scl_rate.i3c) - hcnt; in dw_i3c_clk_cfg()
576 if (lcnt < SCL_I3C_TIMING_CNT_MIN) in dw_i3c_clk_cfg()
577 lcnt = SCL_I3C_TIMING_CNT_MIN; in dw_i3c_clk_cfg()
579 scl_timing = SCL_I3C_TIMING_HCNT(hcnt) | SCL_I3C_TIMING_LCNT(lcnt); in dw_i3c_clk_cfg()
588 writel(BUS_I3C_MST_FREE(lcnt), master->regs + BUS_FREE_TIMING); in dw_i3c_clk_cfg()
589 master->bus_free_timing = BUS_I3C_MST_FREE(lcnt); in dw_i3c_clk_cfg()
592 lcnt = max_t(u8, in dw_i3c_clk_cfg()
593 DIV_ROUND_UP(I3C_BUS_TLOW_OD_MIN_NS, core_period), lcnt); in dw_i3c_clk_cfg()
594 scl_timing = SCL_I3C_TIMING_HCNT(hcnt) | SCL_I3C_TIMING_LCNT(lcnt); in dw_i3c_clk_cfg()
598 lcnt = DIV_ROUND_UP(core_rate, I3C_BUS_SDR1_SCL_RATE) - hcnt; in dw_i3c_clk_cfg()
599 scl_timing = SCL_EXT_LCNT_1(lcnt); in dw_i3c_clk_cfg()
600 lcnt = DIV_ROUND_UP(core_rate, I3C_BUS_SDR2_SCL_RATE) - hcnt; in dw_i3c_clk_cfg()
601 scl_timing |= SCL_EXT_LCNT_2(lcnt); in dw_i3c_clk_cfg()
602 lcnt = DIV_ROUND_UP(core_rate, I3C_BUS_SDR3_SCL_RATE) - hcnt; in dw_i3c_clk_cfg()
603 scl_timing |= SCL_EXT_LCNT_3(lcnt); in dw_i3c_clk_cfg()
604 lcnt = DIV_ROUND_UP(core_rate, I3C_BUS_SDR4_SCL_RATE) - hcnt; in dw_i3c_clk_cfg()
605 scl_timing |= SCL_EXT_LCNT_4(lcnt); in dw_i3c_clk_cfg()
615 u16 hcnt, lcnt; in dw_i2c_clk_cfg() local
624 lcnt = DIV_ROUND_UP(I3C_BUS_I2C_FMP_TLOW_MIN_NS, core_period); in dw_i2c_clk_cfg()
625 hcnt = DIV_ROUND_UP(core_rate, I3C_BUS_I2C_FM_PLUS_SCL_RATE) - lcnt; in dw_i2c_clk_cfg()
627 SCL_I2C_FMP_TIMING_LCNT(lcnt); in dw_i2c_clk_cfg()
631 lcnt = DIV_ROUND_UP(I3C_BUS_I2C_FM_TLOW_MIN_NS, core_period); in dw_i2c_clk_cfg()
632 hcnt = DIV_ROUND_UP(core_rate, I3C_BUS_I2C_FM_SCL_RATE) - lcnt; in dw_i2c_clk_cfg()
634 SCL_I2C_FM_TIMING_LCNT(lcnt); in dw_i2c_clk_cfg()
638 writel(BUS_I3C_MST_FREE(lcnt), master->regs + BUS_FREE_TIMING); in dw_i2c_clk_cfg()
639 master->bus_free_timing = BUS_I3C_MST_FREE(lcnt); in dw_i2c_clk_cfg()