Re: [PATCH v3 1/4] i2c: spacemit: configure ILCR for accurate SCL frequency

Troy Mitchell
2025-12-29T01:22:01Z

On Sun, Dec 28, 2025 at 06:58:00PM -0600, Alex Elder wrote:
> On 12/26/25 1:52 AM, Troy Mitchell wrote:
> > > > > +static int spacemit_i2c_clk_set_rate(struct clk_hw *hw, unsigned long rate,
> > > > > + unsigned long parent_rate)
> > > > > +{
> > > > > + struct spacemit_i2c_dev *i2c = container_of(hw, struct spacemit_i2c_dev, scl_clk_hw);
> > > > > + u32 lv, lcr, mask, shift, max_lv;
> > > > > +
> > > > > + lv = DIV_ROUND_UP(parent_rate, rate);
> > > >
> > > > Would DIV_ROUND_CLOSEST() give a more accurate value?
> > > I'll test it.
> > Same result. So I'll keep it.
>
> Is that true for all clock rates?
I only test 400k.
> Anyway, it's not
> a huge deal, but especially when the number of rates
> isn't very high this can make a difference.
I'll test more. Thanks!

- Troy