diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2014-11-06 06:52:07 -0500 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2014-11-10 03:34:56 -0500 |
commit | 78df445e7807b1ed741d2571280a674f3e4a57bf (patch) | |
tree | 20ffeaf149fcb2a26a61dee67873d78cb88a2eb3 /drivers/i2c | |
parent | fc3756faa71e51664e3d43b401c273723047a049 (diff) |
i2c: sh_mobile: Add support for r8a73a4 and sh73a0
Add support for r8a73a4 (R-Mobile APE6) and sh73a0 (SH-Mobile AG5).
On these SoCs, the operating clock runs faster that on previous SoCs,
and the internal SCL clock counter gets incremented every 2 clocks of
the operating clock, just like on R-Car Gen2.
Cfr. the "/2" in the calculation of ICCL/ICCH in section "I2C Bus
Interface (IIC)", subsection "Transfer Rate" of the datasheets.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-sh_mobile.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c index 4855188747c9..2ee7547bebed 100644 --- a/drivers/i2c/busses/i2c-sh_mobile.c +++ b/drivers/i2c/busses/i2c-sh_mobile.c | |||
@@ -622,17 +622,19 @@ static const struct sh_mobile_dt_config default_dt_config = { | |||
622 | .clks_per_count = 1, | 622 | .clks_per_count = 1, |
623 | }; | 623 | }; |
624 | 624 | ||
625 | static const struct sh_mobile_dt_config rcar_gen2_dt_config = { | 625 | static const struct sh_mobile_dt_config fast_clock_dt_config = { |
626 | .clks_per_count = 2, | 626 | .clks_per_count = 2, |
627 | }; | 627 | }; |
628 | 628 | ||
629 | static const struct of_device_id sh_mobile_i2c_dt_ids[] = { | 629 | static const struct of_device_id sh_mobile_i2c_dt_ids[] = { |
630 | { .compatible = "renesas,rmobile-iic", .data = &default_dt_config }, | 630 | { .compatible = "renesas,rmobile-iic", .data = &default_dt_config }, |
631 | { .compatible = "renesas,iic-r8a7790", .data = &rcar_gen2_dt_config }, | 631 | { .compatible = "renesas,iic-r8a73a4", .data = &fast_clock_dt_config }, |
632 | { .compatible = "renesas,iic-r8a7791", .data = &rcar_gen2_dt_config }, | 632 | { .compatible = "renesas,iic-r8a7790", .data = &fast_clock_dt_config }, |
633 | { .compatible = "renesas,iic-r8a7792", .data = &rcar_gen2_dt_config }, | 633 | { .compatible = "renesas,iic-r8a7791", .data = &fast_clock_dt_config }, |
634 | { .compatible = "renesas,iic-r8a7793", .data = &rcar_gen2_dt_config }, | 634 | { .compatible = "renesas,iic-r8a7792", .data = &fast_clock_dt_config }, |
635 | { .compatible = "renesas,iic-r8a7794", .data = &rcar_gen2_dt_config }, | 635 | { .compatible = "renesas,iic-r8a7793", .data = &fast_clock_dt_config }, |
636 | { .compatible = "renesas,iic-r8a7794", .data = &fast_clock_dt_config }, | ||
637 | { .compatible = "renesas,iic-sh73a0", .data = &fast_clock_dt_config }, | ||
636 | {}, | 638 | {}, |
637 | }; | 639 | }; |
638 | MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids); | 640 | MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids); |