aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfram Sang <wsa+renesas@sang-engineering.com>2015-08-05 09:18:25 -0400
committerWolfram Sang <wsa@the-dreams.de>2015-10-20 12:03:07 -0400
commite7db0d34b38d56bbdb3d2d64c6233c53b77a3c6c (patch)
treeae368c4e9ce3a88c8c6963a771b9a9fd83b2a807
parentb299167652fe58f1ebadb3e3ac84a5a0b74e534e (diff)
i2c: rcar: add support for r8a7795 (R-Car H3)
Enable the I2C core for this SoC. I add a new type because this version has new features (e.g. DMA) which will be added somewhen later. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-rcar.txt1
-rw-r--r--drivers/i2c/busses/i2c-rcar.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/i2c/i2c-rcar.txt b/Documentation/devicetree/bindings/i2c/i2c-rcar.txt
index 16b3e07aa98f..ea406eb20fa5 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-rcar.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-rcar.txt
@@ -10,6 +10,7 @@ Required properties:
10 "renesas,i2c-r8a7792" 10 "renesas,i2c-r8a7792"
11 "renesas,i2c-r8a7793" 11 "renesas,i2c-r8a7793"
12 "renesas,i2c-r8a7794" 12 "renesas,i2c-r8a7794"
13 "renesas,i2c-r8a7795"
13- reg: physical base address of the controller and length of memory mapped 14- reg: physical base address of the controller and length of memory mapped
14 region. 15 region.
15- interrupts: interrupt specifier. 16- interrupts: interrupt specifier.
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
index dbedbff48b59..1921294afc87 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
@@ -100,6 +100,7 @@
100enum rcar_i2c_type { 100enum rcar_i2c_type {
101 I2C_RCAR_GEN1, 101 I2C_RCAR_GEN1,
102 I2C_RCAR_GEN2, 102 I2C_RCAR_GEN2,
103 I2C_RCAR_GEN3,
103}; 104};
104 105
105struct rcar_i2c_priv { 106struct rcar_i2c_priv {
@@ -176,6 +177,7 @@ static int rcar_i2c_clock_calculate(struct rcar_i2c_priv *priv,
176 cdf_width = 2; 177 cdf_width = 2;
177 break; 178 break;
178 case I2C_RCAR_GEN2: 179 case I2C_RCAR_GEN2:
180 case I2C_RCAR_GEN3:
179 cdf_width = 3; 181 cdf_width = 3;
180 break; 182 break;
181 default: 183 default:
@@ -573,6 +575,7 @@ static const struct of_device_id rcar_i2c_dt_ids[] = {
573 { .compatible = "renesas,i2c-r8a7792", .data = (void *)I2C_RCAR_GEN2 }, 575 { .compatible = "renesas,i2c-r8a7792", .data = (void *)I2C_RCAR_GEN2 },
574 { .compatible = "renesas,i2c-r8a7793", .data = (void *)I2C_RCAR_GEN2 }, 576 { .compatible = "renesas,i2c-r8a7793", .data = (void *)I2C_RCAR_GEN2 },
575 { .compatible = "renesas,i2c-r8a7794", .data = (void *)I2C_RCAR_GEN2 }, 577 { .compatible = "renesas,i2c-r8a7794", .data = (void *)I2C_RCAR_GEN2 },
578 { .compatible = "renesas,i2c-r8a7795", .data = (void *)I2C_RCAR_GEN3 },
576 {}, 579 {},
577}; 580};
578MODULE_DEVICE_TABLE(of, rcar_i2c_dt_ids); 581MODULE_DEVICE_TABLE(of, rcar_i2c_dt_ids);