> >>+#include <linux/clk.h>
> >>+#include <linux/delay.h>
> >>+#include <linux/i2c.h>
> >>+#include <linux/io.h>
> >>+#include <linux/interrupt.h>
> >>+#include <linux/module.h>
> >>+#include <linux/platform_device.h>
> >>+#include <linux/pm_runtime.h>
> >
> >I think there should be at least of.h, too.
> The of.h is already in i2c.h
> include/linux/i2c.h:33:#include <linux/of.h>

Please add it nonetheless, because you use e.g. of_property_read_u32()
directly. That makes you independet of changes to i2c.h.

> >>+   rate = i2c->s_clock;
> >>+   sysclock = clk_get_rate(i2c->clk);
> >>+   sclh = (sysclock / (rate * 2)) / 2 - 1;
> >>+   writel_relaxed(sclh, i2c->regs + HIX5I2C_SCL_H);
> >>+   scll = (sysclock / (rate * 2)) / 2 - 1;
> >
> >scll and sclh use the same formula? Have you measured the setup
> >frequency with a scope?
> Yes, it is confusing, will use the same vector scl instead.
> The value is same means sclk high voltage and low voltage keep same time.

OK.

Attachment: signature.asc
Description: Digital signature

Reply via email to