On Fri, Jul 28, 2017 at 2:00 PM, Rick Altherr <raltherr@xxxxxxxxxx> wrote: > Is clk_fractional_divider from include/linux/clk-provider.h appropriate here? > Alas, no. clk_fractional_divider is not flexible enough to specify the divider the way that it is represented in the Aspeed 24xx/25xx parts which have the divider expressed as a "base clock" which is always a power of 2 along with the time where SCL is high and the time that the SCL is low in units of base clock. Thus, there are two separate "numerator" values and the denominator is represented as the ilog2 of the actual value. That being said, I could implement this as a custom clock subclass, which would probably be cleaner that what I have done.