[PATCH 1/2 V3] MXS: Set I2C timing registers for mxs-i2c
Marek Vasut
marex at denx.de
Sun Jun 10 07:53:05 EDT 2012
Dear Marek Vasut,
> This patch configures the I2C bus timing registers according
> to information passed via DT. Currently, 100kHz and 400kHz
> modes are supported.
[...]
> +struct mxs_i2c_speed_config {
> + uint32_t timing0;
> + uint32_t timing1;
> + uint32_t timing2;
> +};
> +
> +/* Timing values for the default 24MHz clock supplied into the i2c block.
Thinking about these further -- does anyone have any idea how these numbers were
derived? And possibly even formula for that?
And maybe we should somehow make sure the source runs on 24MHz (how?).
> */ +const struct mxs_i2c_speed_config mxs_i2c_95kHz_config = {
> + .timing0 = 0x00780030,
> + .timing1 = 0x00800030,
> + .timing2 = 0x0015000d,
> +};
> +
> +const struct mxs_i2c_speed_config mxs_i2c_400kHz_config = {
> + .timing0 = 0x000f0007,
> + .timing1 = 0x001f000f,
> + .timing2 = 0x0015000d,
> +};
[...]
Best regards,
Marek Vasut
More information about the linux-arm-kernel
mailing list