aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/board-sh7785lcr.c
diff options
context:
space:
mode:
authorChris Packham <chris.packham@alliedtelesis.co.nz>2017-07-05 22:13:55 +1200
committerWolfram Sang <wsa@the-dreams.de>2018-03-24 13:25:55 +0100
commitdf0d32348aa81208a0037b959dc23c4739439c02 (patch)
tree76e1d6c839a9a78cf897d288fa0c837409802b4d /arch/sh/boards/board-sh7785lcr.c
parenti2c: qup: reorganization of driver code to remove polling for qup v2 (diff)
downloadlinux-dev-df0d32348aa81208a0037b959dc23c4739439c02.tar.xz
linux-dev-df0d32348aa81208a0037b959dc23c4739439c02.zip
sh: sh7785lcr: add GPIO lookup table for i2c controller reset
Define the GPIO connected to the PCA9564 using a GPIO lookup table. This will allow the i2c-pca-platform driver to use the device managed APIs to lookup the gpio instead of using platform_data. Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'arch/sh/boards/board-sh7785lcr.c')
-rw-r--r--arch/sh/boards/board-sh7785lcr.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/sh/boards/board-sh7785lcr.c b/arch/sh/boards/board-sh7785lcr.c
index 2c4771ee84cd..caec1ebffb09 100644
--- a/arch/sh/boards/board-sh7785lcr.c
+++ b/arch/sh/boards/board-sh7785lcr.c
@@ -25,6 +25,7 @@
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/errno.h>
+#include <linux/gpio/machine.h>
#include <mach/sh7785lcr.h>
#include <cpu/sh7785.h>
#include <asm/heartbeat.h>
@@ -243,6 +244,14 @@ static struct resource i2c_resources[] = {
},
};
+static struct gpiod_lookup_table i2c_gpio_table = {
+ .dev_id = "i2c.0",
+ .table = {
+ GPIO_LOOKUP("pfc-sh7757", 0, "reset-gpios", GPIO_ACTIVE_LOW),
+ { },
+ },
+};
+
static struct i2c_pca9564_pf_platform_data i2c_platform_data = {
.gpio = 0,
.i2c_clock_speed = I2C_PCA_CON_330kHz,
@@ -283,6 +292,7 @@ static int __init sh7785lcr_devices_setup(void)
i2c_device.num_resources = ARRAY_SIZE(i2c_proto_resources);
}
+ gpiod_add_lookup_table(&i2c_gpio_table);
return platform_add_devices(sh7785lcr_devices,
ARRAY_SIZE(sh7785lcr_devices));
}