aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2014-11-06 06:52:07 -0500
committerWolfram Sang <wsa@the-dreams.de>2014-11-10 03:34:56 -0500
commit78df445e7807b1ed741d2571280a674f3e4a57bf (patch)
tree20ffeaf149fcb2a26a61dee67873d78cb88a2eb3 /drivers/i2c
parentfc3756faa71e51664e3d43b401c273723047a049 (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.c14
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
625static const struct sh_mobile_dt_config rcar_gen2_dt_config = { 625static const struct sh_mobile_dt_config fast_clock_dt_config = {
626 .clks_per_count = 2, 626 .clks_per_count = 2,
627}; 627};
628 628
629static const struct of_device_id sh_mobile_i2c_dt_ids[] = { 629static 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};
638MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids); 640MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids);