diff options
-rw-r--r-- | Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt | 4 | ||||
-rw-r--r-- | drivers/gpio/gpio-rcar.c | 27 |
2 files changed, 21 insertions, 10 deletions
diff --git a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt index 941a26aa4322..38fb86f28ba2 100644 --- a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt +++ b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt | |||
@@ -6,7 +6,9 @@ Required Properties: | |||
6 | - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller. | 6 | - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller. |
7 | - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. | 7 | - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. |
8 | - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. | 8 | - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. |
9 | - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2) compatible GPIO controller. | 9 | - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2-W) compatible GPIO controller. |
10 | - "renesas,gpio-r8a7793": for R8A7793 (R-Car M2-N) compatible GPIO controller. | ||
11 | - "renesas,gpio-r8a7794": for R8A7794 (R-Car E2) compatible GPIO controller. | ||
10 | - "renesas,gpio-rcar": for generic R-Car GPIO controller. | 12 | - "renesas,gpio-rcar": for generic R-Car GPIO controller. |
11 | 13 | ||
12 | - reg: Base address and length of each memory resource used by the GPIO | 14 | - reg: Base address and length of each memory resource used by the GPIO |
diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c index bf6c09450fee..584484e3f1e3 100644 --- a/drivers/gpio/gpio-rcar.c +++ b/drivers/gpio/gpio-rcar.c | |||
@@ -1,6 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Renesas R-Car GPIO Support | 2 | * Renesas R-Car GPIO Support |
3 | * | 3 | * |
4 | * Copyright (C) 2014 Renesas Electronics Corporation | ||
4 | * Copyright (C) 2013 Magnus Damm | 5 | * Copyright (C) 2013 Magnus Damm |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
@@ -291,22 +292,30 @@ struct gpio_rcar_info { | |||
291 | bool has_both_edge_trigger; | 292 | bool has_both_edge_trigger; |
292 | }; | 293 | }; |
293 | 294 | ||
295 | static const struct gpio_rcar_info gpio_rcar_info_gen1 = { | ||
296 | .has_both_edge_trigger = false, | ||
297 | }; | ||
298 | |||
299 | static const struct gpio_rcar_info gpio_rcar_info_gen2 = { | ||
300 | .has_both_edge_trigger = true, | ||
301 | }; | ||
302 | |||
294 | static const struct of_device_id gpio_rcar_of_table[] = { | 303 | static const struct of_device_id gpio_rcar_of_table[] = { |
295 | { | 304 | { |
296 | .compatible = "renesas,gpio-r8a7790", | 305 | .compatible = "renesas,gpio-r8a7790", |
297 | .data = (void *)&(const struct gpio_rcar_info) { | 306 | .data = &gpio_rcar_info_gen2, |
298 | .has_both_edge_trigger = true, | ||
299 | }, | ||
300 | }, { | 307 | }, { |
301 | .compatible = "renesas,gpio-r8a7791", | 308 | .compatible = "renesas,gpio-r8a7791", |
302 | .data = (void *)&(const struct gpio_rcar_info) { | 309 | .data = &gpio_rcar_info_gen2, |
303 | .has_both_edge_trigger = true, | 310 | }, { |
304 | }, | 311 | .compatible = "renesas,gpio-r8a7793", |
312 | .data = &gpio_rcar_info_gen2, | ||
313 | }, { | ||
314 | .compatible = "renesas,gpio-r8a7794", | ||
315 | .data = &gpio_rcar_info_gen2, | ||
305 | }, { | 316 | }, { |
306 | .compatible = "renesas,gpio-rcar", | 317 | .compatible = "renesas,gpio-rcar", |
307 | .data = (void *)&(const struct gpio_rcar_info) { | 318 | .data = &gpio_rcar_info_gen1, |
308 | .has_both_edge_trigger = false, | ||
309 | }, | ||
310 | }, { | 319 | }, { |
311 | /* Terminator */ | 320 | /* Terminator */ |
312 | }, | 321 | }, |