diff options
author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2015-08-05 09:18:25 -0400 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2015-10-20 12:03:07 -0400 |
commit | e7db0d34b38d56bbdb3d2d64c6233c53b77a3c6c (patch) | |
tree | ae368c4e9ce3a88c8c6963a771b9a9fd83b2a807 | |
parent | b299167652fe58f1ebadb3e3ac84a5a0b74e534e (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.txt | 1 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-rcar.c | 3 |
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 @@ | |||
100 | enum rcar_i2c_type { | 100 | enum 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 | ||
105 | struct rcar_i2c_priv { | 106 | struct 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 | }; |
578 | MODULE_DEVICE_TABLE(of, rcar_i2c_dt_ids); | 581 | MODULE_DEVICE_TABLE(of, rcar_i2c_dt_ids); |